以太网控制器驱动(英特尔®以太网控制器E810介绍)

转载自DPDK与SPDK开源社区公众号

1.概述

英特尔® 以太网 800系列是新一代英特尔® 以太网控制器和网络适配器,采用增强的可编程报文处理引擎,可实现更深入、更多样化的报文协议头处理。这种片上功能称为动态设备个性化(DDP)。在英特尔®以太网800系列中,每台设备的驱动都可以动态加载DDP软件包。

在Windows *,ESX *,FreeBSD *和Linux *操作系统中,通用DDP包自动安装到了所有受支持的英特尔®以太网800系列驱动程序上,包括由数据平台开发套件(DPDK)提供的驱动程序。通用DDP包也称为系统缺省DDP软件包。

有关英特尔®以太网800系列产品和通用DDP技术的详情,请参阅英特尔®以太网控制器E810 DDP技术指南,链接为http://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默认包的支持。

以太网控制器驱动(英特尔®以太网控制器E810介绍)(1)

表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的高级特性:

以太网控制器驱动(英特尔®以太网控制器E810介绍)(2)

表2. DPDK 20.08中RSS的Pattern和 Input Set

以太网控制器驱动(英特尔®以太网控制器E810介绍)(3)

表3. DPDK 20.08中英特尔®以太网Flow Director的Pattern和Input Set

4.Comms DDP包使用示例:5G UPF

英特尔®以太网800系列DDP支持5GC UPF的许多重要报文解析特性。

  • 基于常规报文和 GTP 报文的Hash值计算和散列
  • 基于流的Hash 计算和散列
  • 基于 QFI 的队列组映射
  • 基于 DSCP 的队列组映射
  • 设置标记值并散列到队列组
以太网控制器驱动(英特尔®以太网控制器E810介绍)(4)

图1. 5G UPF VNF

5.5GC UPF 加速能力总结

DDP技术大幅提升了5GC UPF的性能,并且降低了时延。E810可以解析报文头的504字节,并实现完全卸载负载均衡模块的能力。

以太网控制器驱动(英特尔®以太网控制器E810介绍)(5)

表4. 5G加速能力总结

6.拓展阅读

在NFV环境中,当内核驱动作为待配置的主机接口,将特定流量引导到每个VF/容器时,所有现有的网络配置工具(ethool、tc flower、ip等)都无法为PPPOE、GTPU等协议创建filter。这屏蔽了英特尔®以太网控制器E810和COMMs DDP包提供的硬件卸载功能。英特尔®设备配置功能是NFV的新基础架构,可以弥补这一缺陷。有关详细信息,请参阅DCF介绍 。

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页