1
概述
英特尔® 以太网 800系列是新一代英特尔® 以太网控制器和网络适配器,采用增强的可编程报文处理引擎,可实现更深入、更多样化的报文协议头处理。这种片上功能称为动态设备个性化(DDP)。在英特尔®以太网800系列中,每台设备的驱动都可以动态加载DDP软件包。
在Windows *,ESX *,FreeBSD *和Linux *操作系统中,通用DDP包自动安装到了所有受支持的英特尔®以太网800系列驱动程序上,包括由数据平面开发套件(DPDK)提供的驱动程序。通用DDP包也称为系统缺省DDP软件包。
有关英特尔®以太网800系列产品和通用DDP技术的详情,请参阅英特尔®以太网控制器E810 DDP技术指南,链接为https://cdrdv2.intel.com/v1/dl/getContent/617015
本文档将主要介绍一款功能丰富的Comms DDP软件包,旨在满足电信客户(特别是5G解决方案提供商)的硬件加速需求。
2
Comms DDP软件包
Comms DDP包除了支持通用DDP包含的协议之外,还增加了对GTP和PPPoE协议的支持。从DPDK 19.11开始,Comms DDP包就已经得到DPDK驱动程序的支持。在不久的将来,Linux 操作系统上的英特尔® 以太网 800 系列ice驱动程序也会支持该包。Comms DDP 包可以加载到所有英特尔®以太网 800 系列设备上,也可以通过每个设备的***选择不同的包。
成功加载Comms DDP包后,表1中的协议就会受到支持。绿色阴影部分表示需要特定的Comms DDP包,无阴影部分表示同时受到OS默认包的支持。
表1. Comms DDP包中受支持的协议
3
使用DPDK RTE_FLOW卸载硬件
通过利用 COMM DDP 包,我们可以使用 DPDK RTE_FLOW 来使用网卡的硬件卸载功能flow filter和 RSS。下方示例演示了FDIR 对GTP TEID上进行检测,并将匹配报文发送到队列1。
testpmd> flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 / gtp_psc / ipv4 / end actions queue index 1 / end
在表2和表3中,列举了部分基于COMMs DDP所支持的协议的RSS和FDIR的高级特性:
表2. DPDK 20.08中RSS的Pattern和 Input Set
表3. DPDK 20.08中英特尔®以太网Flow Director的Pattern和Input Set
4
Comms DDP包使用示例:5G UPF
英特尔®以太网800系列DDP支持5GC UPF的许多重要报文解析特性。
基于常规报文和 GTP 报文的Hash值计算和散列
基于流的Hash 计算和散列
基于 QFI 的队列组映射
基于 DSCP 的队列组映射
设置标记值并散列到队列组
图1. 5G UPF VNF
5
5GC UPF 加速能力总结
DDP技术大幅提升了5GC UPF的性能,并且降低了时延。E810可以解析报文头的504字节,并实现完全卸载负载均衡模块的能力。
表4. 5G加速能力总结
6
拓展阅读
在NFV环境中,当内核驱动作为待配置的主机接口,将特定流量引导到每个VF/容器时,所有现有的网络配置工具(ethool、tc flower、ip等)都无法为PPPOE、GTPU等协议创建filter。这屏蔽了英特尔®以太网控制器E810和COMMs DDP包提供的硬件卸载功能。英特尔®设备配置功能是NFV的新基础架构,可以弥补这一缺陷。有关详细信息,请参阅DCF介绍 。
转载须知
推荐阅读
Intel® Ethernet Controller 700系列: Open vSwitch硬件加速应用说明
发现“分享”和“赞”了吗,戳我看看吧