DPDK Release 21.11

近期,DPDK团队正式发布了21.11版本,本次发布包括1875次提交,由204位作者共同完成,具体包括2413次文件修改,259559次插入(+),87876次删除(-)。

21.11版本应至少支持两年,用于系统集成和部署。

下面是本次发布的详细内容,包含函数较多,手机上建议横屏阅读~

新功能

启用了新的devargs解析器。

  • 启用devargs语法:bus=X, paramX=x/class=Y, paramY=y/driver=Z, paramZ=z。

  • 添加了devargs语法的bus-level解析。

  • 解析回调保持与旧版语法的兼容性。

更新了EAL对Linux的hugetlbfs挂载处理。

  • 修改了EAL,允许--huge-dir选项在hugetlbfs挂载点中指定一个子目录。

添加了dmadev库。

  • 添加了DMA设备框架,用于管理和提供DMA硬件和软件设备。

  • 添加了通用API,支持许多不同的DMA操作。

  • 添加了多进程支持。

更新了网络设备控制回调的默认KNI行为。

  • 更新了KNI网络设备控制回调,默认持有rtnl内核锁运行。添加了新的 enable_bifurcated KNI 内核模块参数,可以在rtnl锁释放的情况下运行回调。

添加了HiSilicon DMA驱动程序。

  • HiSilicon DMA驱动程序为鲲鹏的DMA设备提供设备驱动。这个设备驱动可以通过通用的dmadev API被使用。

添加了IDXD dmadev驱动程序实现。

  • IDXD dmadev驱动程序为Intel DSA设备提供设备驱动。这个设备驱动可以通过通用的dmadev API被使用。

添加了IOAT dmadev驱动程序实现。

  • 英特尔I/O加速技术(IOAT)dmadev驱动程序为英特尔IOAT设备提供了设备驱动程序,如Ice Lake、Skylake和Broadwell上的Crystal Beach DMA(CBDMA)。这个设备驱动可以通过通用的dmadev API被使用。

添加了Marvell CNXK DMA驱动程序。

  • 为Marvell OCTEONTX2和OCTEONTX3系列SoC的DPI DMA硬件加速器添加了dmadev驱动。

添加了NXP DPAA DMA驱动程序。

  • 为NXP DPAA平台添加了新的dmadev驱动程序。

为获取一个设备的所有MAC地址添加支持。

  • 添加了 rte_eth_macaddrs_get,允许用户检索特定以太网端口的所有以太网地址。

引入了GPU设备类。

     引入了具有初始功能的GPU设备类:

  • 设备信息。

  • 内存管理。

  • 通信标志和列表。

添加了以CUDA库实现的NVIDIA GPU驱动程序。

  • 在新的GPU设备接口下添加了用CUDA库实现的NVIDIA GPU驱动程序。

在RSS流中添加了IPv4/L4校验这个新的RSS卸载类型。

  • 添加了ETH_RSS_IPV4_CHKSUM和ETH_RSS_L4_CHKSUM宏。IPv4和TCP/UDP/SCTP头部的校验字段现在可以用作RSS的输入集。

在流API中添加了L2TPv2和PPP协议支持。

  • 为L2TPv2和PPP协议添加了流模式项目和头部格式。

添加了流flex项目。

  • 可配置的流flex项目能够引入任意一种用户指定的网络协议头部,相应地配置硬件,并以所需模式和掩码在头部执行匹配。

添加了ethdev支持,可控制Rx元数据从HW到PMD的传递。

添加了新的API rte_eth_rx_metadata_negotiate()。定义了Rx 元数据的下面部分:

RTE_ETH_RX_METADATA_USER_FLAG

RTE_ETH_RX_METADATA_USER_MARK

RTE_ETH_RX_METADATA_TUNNEL_ID

添加了API来获取代理端口,管理“转移”流。

  • 添加了新的API rte_flow_pick_transfer_proxy。

添加了对ethdev共享Rx队列的支持。

  • 为交换信息添加了新的设备能力标志和Rx域字段。

  • 在Rx队列配置添加了共享组和共享队列ID。

  • 添加了testpmd支持和专用转发引擎。

更新了af_packet ethdev驱动程序。

  • 默认的VLAN 剥离行为已经更改。除非启用DEV_RX_OFFLOAD_VLAN_STRIP卸载,否则不会剥离VLAN标签。

添加了API以获取ethdev的设备配置。

  • 添加了ethdev API,帮助用户获取设备配置。

更新了AF_XDP PMD。

  • 进程间共享的状态不足会造成进程崩溃,因此禁用了二级进程支持。下一个版本会修复/重新启用该功能。

更新了Amazon ENA PMD。

  • 更新了Amazon ENA PMD。新版驱动程序(v2.5.0)对bug做了修复和改进,主要包括:

  • 支持tx_free_thresh 和 rx_free_thresh 配置参数。

  • 为队列辅助结构体提供NUMA感知分配。

  • 添加看门狗定时器功能来检查缺失的Tx completions。

更新了Broadcom bnxt PMD。

  • 为Thor添加了流卸载支持。

  • 为TruFlow和AFM SRAM添加了分区支持。

  • 实现了对隧道卸载的支持。

  • 将HWRM API更新至1.10.2.68版本。

  • 为目标IP和端口组合添加了NAT支持。

  • 为套接字重定向添加支持。

  • 为输入流的通配符匹配添加支持。

  • 为GRE隧道流的内部IP头添加支持。

  • 更新了对流规则中RSS动作的支持。

  • 删除了统计数据积累的devargs选项。

更新了Cisco enic驱动程序。

  • 为匹配的GTP、GTP-C和GTP-U头添加rte_flow支持。

更新了英特尔e1000模拟驱动程序。

  • 在Windows添加了Intel e1000支持。

更新了Intel iavf驱动程序。

  • 在Windows添加了Intel iavf支持。

  • 在RSS流中添加了IPv4和L4(TCP/UDP/SCTP)校验哈希支持。

  • 基于内部IP地址和TCP/UDP端口,添加了PPPoL2TPv2oUDP RSS哈希。

  • 添加了英特尔iavf inline加密支持。

更新了Intel ice驱动程序。

  • 在Flow Director中添加了协议无关的流卸载支持。

  • 在RSS哈希中添加了协议无关的流卸载支持。

  • 通过devargs添加了1PPS输出支持。

  • 在RSS流中添加了IPv4和L4(TCP/UDP/SCTP)校验哈希支持。

  • 添加了DEV_RX_OFFLOAD_TIMESTAMP支持。

  • 在scalar路径下添加了timesync API支持。

  • 添加了DCF重置API的支持。

更新了Intel ixgbe驱动程序

  • 在Windows添加了Intel ixgbe支持。

更新了Marvell cnxk ethdev驱动程序。

  • 为双VLAN插入和剥离动作添加rte_flow支持。

  • 添加了 rte_tm 支持。

  • 为CN9K事件模式、CN10K轮询模式和事件模式添加了Inline IPsec的支持。

  • 为CN10K平台添加了对入口meter的支持。

更新了Mellanox mlx5驱动程序。

更新了Mellanox mlx5驱动程序,新功能和改进包括:

  • 添加了隐式mempool注册,避免数据路径出现hiccup问题(选择退出)。

  • 对Rx队列的延迟丢弃添加支持。

  • 为Windows的PMD添加了网卡卸载(TSO、VLAN strip、CRC keep)。

  • 添加了套接字bonding 模式支持。

添加了NXP ENETFEC PMD(实验性)。

  • 为NXP IMX8MMEVK平台添加了新的ENETFEC驱动程序。想了解这个新驱动的更多细节,

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值