DPDK Release 21.02
一起来看看DPDK 21.02有哪些新功能和变化吧
温馨提示:英文函数名较长,为了获得更佳的阅读体验,手机上建议横屏阅读~
Note:
添加了在Linux或FreeBSD上构建DPDK的依赖:需要Python模块pyelftools(0.22版或更高版本),通常需要使用python3-pyelftools这个包。
如果没有可用的发布包,可以用以下方法安装:
pip3 install pyelftools
新功能
为 PMD 电源管理添加了新的 ethdev API。
添加了 rte_eth_get_monitor_addr(),与rte_power_monitor() 配合使用,以实现 PMD 的自动电源管理。
添加了以太网PMD电源管理helper API。
添加了新的helper API rte_power_ethdev_pmgmt_queue_enable(),让用户更容易使用以太网PMD电源管理。最初支持三种电源管理方案。
基于UMWAIT指令节省功耗(仅限x86)
基于rte_pause() (通用)或TPAUSE指令节省功耗(仅限x86)
通过librte_power 库进行频率缩放来节省功耗
在 rte_flow 中添加了 GENEVE TLV 选项。
添加了 GENEVE TLV 选项对匹配和原始报文封装/解封装的支持。
在流API中添加了对修改字段操作的支持。
为rte_flow添加了对“修改”操作的支持RTE_FLOW_ACTION_TYPE_MODIFY_FIELD,便于对任意标头字段(以及标记、元数据或标记值)执行各种操作。支持的操作有:用另一个字段的内容覆盖一个字段,用立即数进行加减。
更新了Broadcom bnxt驱动程序。
对Broadcom bnxt驱动程序进行了修复和改进,其中包括:
添加了对Stingray2设备的支持。
更新了Cisco enic驱动程序。
添加了64B完成队列条目(CQE)的支持。
更新了Hisilicon hns3驱动程序。
添加了对流量管理的支持。
更新了Intel i40e驱动程序。
在Windows上添加了对Intel i40e驱动的支持。
更新了Intel ice驱动程序。
Intel ice驱动程序作出了以下更新和改进,其中包括:
添加了对Double VLAN的支持,用于DCF switch QinQ过滤。
添加了对DCF中eCPRI隧道UDP动态端口分配的支持。
更新了Intel iavf驱动程序。
iavf PMD作出了以下更新和改进,其中包括:
添加了对eCPRI流的FDIR / RSS数据包转向的支持。
添加了对无输入集FDIR TCP / UDP模式的支持。
更新了Mellanox mlx5驱动程序。
Mellanox mlx5驱动程序作出了以下更新和改进,其中包括:
在Windows上加入了基本支持。
添加了 GTP PDU session container匹配和原始报文封装/解封装。
在示例子操作列表中添加了对RSS操作的支持。
在同一流中添加了对E-Switch镜像和跳转动作的支持。
添加了在 E-Switch 上根据镜像行为按正确顺序进行修改操作的支持。
对于大于 0 的入口或出口流组以及任何传输流组,将流优先级的数量扩大到 21844 (0 - 21843)。
添加了对Tx mbuf快速自由卸载的支持。
添加了对流修改字段操作的支持。
更新了 Pensando ionic 驱动程序。
Pensando ionic驱动程序作出了以下更新和改进,其中包括:
修复了与链路自动协商有关的错误。
修复了与端口启动/停止和队列启动/停止有关的错误。
添加了对探测支持的队列版本的支持。请注意,1.0之前的旧版本固件将不能继续用于PMD。
删除了未使用的代码。
减少了设备启动时间。
更新了Wangxun txgbe驱动程序。
Wangxun txgbe驱动程序作出了以下更新和改进,其中包括:
添加对通用流API的支持。
添加对流量管理器的支持。
添加对IPsec的支持。
更新了GSO支持。
添加了VXLAN IPv4 GSO对内层UDP / IPv4报文的支持。
为cryptodev库添加了enqueue 和 dequeue回调API。
Cryptodev库已通过enqueue 和 dequeue回调API进行了增强,使应用程序每次enqueue /dequeue操作都可以增加/删除用户回调。
更新了OCTEON TX2加密PMD。
更新了 OCTEON TX2 加密 PMD lookaside 协议的卸载,用于 ESN 和反重放IPsec。
更新了带有CN98xx支持的OCTEON TX2加密PMD。
在OCTEON TX2加密PMD lookaside协议卸载中,为IPsec添加了对aes-cbc sha1-hmac密码组合的支持。
在OCTEON TX2加密PMD lookaside协议卸载中,为IPsec添加了对aes-cbc sha256-128-hmac密码组合的支持。
添加了mlx5压缩PMD。
为Bluefield 2适配器添加了新的压缩 PMD驱动程序。
有关更多详细信息,请参见MLX5压缩驱动程序。
添加了python脚本,以运行加密性能测试并绘制结果。
添加了新的Python脚本,以自动化运行加密性能测试,并将图表结果输出到PDF文件。有关更多详细信息,请参见dpdk-test-crypto-perf应用程序指南。
在pmdinfogen中添加了对Windows的支持。
PMD信息字符串已添加到Windows以及其他操作系统中,但目前还不支持从 Windows DLL 中提取它们。使用Python重写了build-time工具pmdinfogen,因此对libelf的依赖已经被pyelftools替换。
添加了对头文件进行链接实时检查的支持。
添加了新的构建选项check_includes。启用该选项后,它将对DPDK公共头文件执行链接实时检查,以确保没有缺少依赖的头文件。此功能默认情况下处于禁用状态,主要供DPDK SDK开发者使用,目前已集成到链接脚本和自动CI中。
删除的项目
•内部头文件 rte_ethdev_driver.h, rte_ethdev_vdev.h 和 rte_ethdev_pci.h 不再作为 DPDK ninja install 动作的一部分进行安装,而是在源代码树中分别重命名为 ethdev_driver.h, ethdev_vdev.h 和 ethdev_pci.h ,以表明它们是非公共头文件。
•内部头文件rte_eventdev_pmd.h, rte_eventdev_pmd_vdev.h 和 rte_eventdev_pmd_pci.h 不再作为 DPDK ninja install 动作的一部分进行安装,而是在源代码树中分别重命名为 eventdev_pmd.h, eventdev_pmd_vdev.h 和 eventdev_pmd_pci.h ,以表明它们是非公共头文件。
• 删除了对BCM573xx and BCM5740x 系列的NetXtreme设备的支持。具体来说,已删除了对以下Broadcom PCI设备ID的支持,包括0x16c8, 0x16c9, 0x16ca, 0x16ce, 0x16cf, 0x16df, 0x16d0, 0x16d1, 0x16d2, 0x16d4, 0x16d5, 0x16e7, 0x16e8, 0x16e9。
• 删除了用于检查DPDK头文件的check-includes.sh 脚本,取而代之的是上述check_includes 链接选项。
API 变更
• config:删除了rte_config.h 中表明构建了哪些DPDK库和驱动程序的旧宏。新的宏由meson以标准化的格式生成:RTE_LIB_<NAME> 和 RTE_<CLASS>_<NAME>。其中NAME是大写的组件名称,例如 EAL, ETHDEV, VIRTIO,CLASS 是大写的驱动类型,例如 NET, CRYPTO
•cryptodev:更新了结构rte_cryptodev ,添加了enqueue和dequeue回调函数。
ABI 变更
ABI保持不变,不会破坏与20.11的兼容性。
实验函数rte_telemetry_init 已从公共API中删除,现在是仅供内部使用的函数。当telemetry库可用时,它会从rte_eal_init() 中自动调用,因此终端应用无需使用它。
经过测试的平台
Intel® platforms with Intel® NICs combinations
CPU
Intel® Atom™ CPU C3758 @ 2.20GHz
Intel® Atom™ CPU C3858 @ 2.00GHz
Intel® Atom™ CPU C3958 @ 2.00GHz
Intel® Xeon® CPU D-1541 @ 2.10GHz
Intel® Xeon® CPU D-1553N @ 2.30GHz
Intel® Xeon® CPU E5-2680 0 @ 2.70GHz
Intel® Xeon® CPU E5-2680 v2 @ 2.80GHz
Intel® Xeon® CPU E5-2699 v3 @ 2.30GHz
Intel® Xeon® CPU E5-2699 v4 @ 2.20GHz
Intel® Xeon® Gold 5218N CPU @ 2.30GHz
Intel® Xeon® Gold 6139 CPU @ 2.30GHz
Intel® Xeon® Gold 6252N CPU @ 2.30GHz
Intel® Xeon® Platinum 8180 CPU @ 2.50GHz
Intel® Xeon® Platinum 8280M CPU @ 2.70GHz
OS:
CentOS 8.3
CentOS Stream 8
Fedora 33
FreeBSD 12.1
OpenWRT 19.07.4
Red Hat Enterprise Linux Server release 8.3
Suse 15 SP2
Ubuntu 20.04
Ubuntu 20.10
NICs:
Intel® Ethernet Controller E810-C for SFP (4x25G)
Firmware version: 2.40
Device id (pf/vf): 8086:1593 / 8086:1889
Driver version: 1.4.5 (ice)
OS Default DDP: 1.3.21.0
COMMS DDP: 1.3.25.0
Wireless Edge DDP: 1.3.1.0
Intel® Ethernet Controller E810-C for QSFP (2x100G)
Firmware version: 2.40
Device id (pf/vf): 8086:1592 / 8086:1889
Driver version: 1.4.5 (ice)
OS Default DDP: 1.3.21.0
COMMS DDP: 1.3.25.0
Wireless Edge DDP: 1.3.1.0
Intel® 82599ES 10 Gigabit Ethernet Controller
Firmware version: 0x61bf0001
Device id (pf/vf): 8086:10fb / 8086:10ed
Driver version: 5.10.2 (ixgbe)
Intel® Corporation Ethernet Connection X552/X557-AT 10GBASE-T
Firmware version: 0x800003e7
Device id (pf/vf): 8086:15ad / 8086:15a8
Driver version: 5.1.0-k (ixgbe)
Intel® Corporation Ethernet Controller 10G X550T
Firmware version: 0x80000482
Device id (pf): 8086:1563
Driver version: 5.10.2 (ixgbe)
Intel® Ethernet Converged Network Adapter X710-DA4 (4x10G)
Firmware version: 8.00 0x80008b82 1.2766.0
Device id (pf/vf): 8086:1572 / 8086:154c
Driver version: 2.14.13 (i40e)
Intel® Corporation Ethernet Connection X722 for 10GbE SFP+ (4x10G)
Firmware version: 5.00 0x800023c3 1.2766.0
Device id (pf/vf): 8086:37d0 / 8086:37cd
Driver version: 2.14.13 (i40e)
Intel® Corporation Ethernet Connection X722 for 10GBASE-T (2x10G)
Firmware version: 4.10 0x80001a7a
Device id (pf/vf): 8086:37d2 / 8086:37cd
Driver version: 2.14.13 (i40e)
Intel® Ethernet Converged Network Adapter XXV710-DA2 (2x25G)
Firmware version: 8.00 0x80008c1a 1.2766.0
Device id (pf/vf): 8086:158b / 8086:154c
Driver version: 2.14.13 (i40e)
Intel® Ethernet Converged Network Adapter XL710-QDA2 (2X40G)
Firmware version: 8.00 0x80008b82 1.2766.0
Device id (pf/vf): 8086:1583 / 8086:154c
Driver version: 2.14.13 (i40e)
Intel® Corporation I350 Gigabit Network Connection
Firmware version: 1.63, 0x80000cbc
Device id (pf/vf): 8086:1521 / 8086:1520
Driver version: 5.6.0-k (igb)
Intel® Corporation I210 Gigabit Network Connection
Firmware version: 3.25, 0x800006eb
Device id (pf): 8086:1533
Driver version: 5.6.0-k (igb)
Intel® Ethernet Controller 10-Gigabit X540-AT2
Firmware version: 0x800005f9
Device id (pf): 8086:1528
Driver version: 5.1.0-k (ixgbe)
Intel® Ethernet Converged Network Adapter X710-T2L
Firmware version: 8.00 0x80008d10 1.2766.0
Device id (pf): 8086:15ff
Driver version: 2.14.13 (i40e)
Intel® platforms with Mellanox® NICs combinations
CPU:
Intel® Xeon® Gold 6154 CPU @ 3.00GHz
Intel® Xeon® CPU E5-2697A v4 @ 2.60GHz
Intel® Xeon® CPU E5-2697 v3 @ 2.60GHz
Intel® Xeon® CPU E5-2680 v2 @ 2.80GHz
Intel® Xeon® CPU E5-2670 0 @ 2.60GHz
Intel® Xeon® CPU E5-2650 v4 @ 2.20GHz
Intel® Xeon® CPU E5-2640 @ 2.50GHz
Intel® Xeon® CPU E5-2650 0 @ 2.00GHz
Intel® Xeon® CPU E5-2620 v4 @ 2.10GHz
OS:
Red Hat Enterprise Linux release 8.2 (Ootpa)
Red Hat Enterprise Linux Server release 7.8 (Maipo)
Red Hat Enterprise Linux Server release 7.6 (Maipo)
Red Hat Enterprise Linux Server release 7.5 (Maipo)
Red Hat Enterprise Linux Server release 7.4 (Maipo)
Red Hat Enterprise Linux Server release 7.3 (Maipo)
Red Hat Enterprise Linux Server release 7.2 (Maipo)
Ubuntu 20.04
Ubuntu 18.04
Ubuntu 16.04
SUSE Enterprise Linux 15 SP2
SUSE Enterprise Linux 12 SP4
OFED:
MLNX_OFED 5.2-2.2.0.0 and above
MLNX_OFED 5.1-2.5.8.0
upstream kernel:
Linux 5.11.0-rc7 and above
rdma-core:
rdma-core-33.1-1 and above
NICs:
Mellanox® ConnectX®-3 Pro 40G MCX354A-FCC_Ax (2x40G)
Host interface: PCI Express 3.0 x8
Device ID: 15b3:1007
Firmware version: 2.42.5000
Mellanox® ConnectX®-3 Pro 40G MCX354A-FCCT (2x40G)
Host interface: PCI Express 3.0 x8
Device ID: 15b3:1007
Firmware version: 2.42.5000
Mellanox® ConnectX®-4 Lx 25G MCX4121A-ACAT (2x25G)
Host interface: PCI Express 3.0 x8
Device ID: 15b3:1015
Firmware version: 14.29.2002 and above
Mellanox® ConnectX®-4 Lx 50G MCX4131A-GCAT (1x50G)
Host interface: PCI Express 3.0 x8
Device ID: 15b3:1015
Firmware version: 14.29.2002 and above
Mellanox® ConnectX®-5 100G MCX516A-CCAT (2x100G)
Host interface: PCI Express 3.0 x16
Device ID: 15b3:1017
Firmware version: 16.29.2002 and above
Mellanox® ConnectX®-5 100G MCX556A-ECAT (2x100G)
Host interface: PCI Express 3.0 x16
Device ID: 15b3:1017
Firmware version: 16.29.2002 and above
Mellanox® ConnectX®-5 100G MCX556A-EDAT (2x100G)
Host interface: PCI Express 3.0 x16
Device ID: 15b3:1017
Firmware version: 16.29.2002 and above
Mellanox® ConnectX®-5 Ex EN 100G MCX516A-CDAT (2x100G)
Host interface: PCI Express 4.0 x16
Device ID: 15b3:1019
Firmware version: 16.29.2002 and above
Mellanox® ConnectX®-6 Dx EN 100G MCX623106AN-CDAT (2x100G)
Host interface: PCI Express 4.0 x16
Device ID: 15b3:101d
Firmware version: 22.29.2002 and above
Mellanox® ConnectX®-6 Lx EN 25G MCX631102AN-ADAT (2x25G)
Host interface: PCI Express 4.0 x8
Device ID: 15b3:101f
Firmware version: 26.29.2002 and above
Mellanox® BlueField® SmartNIC
Mellanox® BlueField® 2 SmartNIC MT41686 - MBF2H332A-AEEOT (2x25G)
Host interface: PCI Express 3.0 x16
Device ID: 15b3:a2d2
Firmware version: 24.29.2002 and above
Embedded software:
CentOS Linux release 7.6.1810 (AltArch)
MLNX_OFED 5.2-2.2.0 and above
DPDK application running on Arm cores
Intel® platforms with Broadcom® NICs combinations
CPU:
Intel® Xeon® Gold 6154 CPU @ 3.00GHz
Intel® Xeon® CPU E5-2667 v3 @ 3.20GHz
Intel® Xeon® CPU E5-2650 v2 @ 2.60GHz
Intel® Xeon® Gold 6142 CPU @ 2.60GHz
Intel® Xeon® CPU E3-1270 v3 @ 3.50GHz
Intel® Xeon® Gold 6134M CPU @ 3.20GHz
OS:
Red Hat Enterprise Linux Server release 8.1
Red Hat Enterprise Linux Server release 7.6
Centos 8.1
Centos 7.8
Centos 7.7
upstream kernel:
Linux 5.3.4
NICs:
Broadcom® NetXtreme-E® Series P225p (2x25G)
Host interface: PCI Express 3.0 x8
Firmware version: 214.4.114.0 and above
Broadcom® NetXtreme-E® Series P425p (4x25G)
Host interface: PCI Express 3.0 x16
Firmware version: 218.0.124.0 and above
Broadcom® NetXtreme-E® Series P2100G (2x100G)
Host interface: PCI Express 3.0 x16
Firmware version: 218.0.124.0 and above
Broadcom® NetXtreme-E® Series P425p (4x25G)
Host interface: PCI Express 4.0 x16
Firmware version: 218.0.124.0 and above
Broadcom® NetXtreme-E® Series P2100G (2x100G)
Host interface: PCI Express 4.0 x16
Firmware version: 218.0.124.0 and above
Broadcom® NetXtreme-S® Series SmartNIC
Broadcom® NetXtreme-S® Series PS225-H16 SmartNIC (2x25G)
Host interface: PCI Express 3.0 x8
Firmware version: 218.1.143.0
Embedded software:
Broadcom Yocto Linux
Kernel version: 4.14.196
DPDK application running on 8 Arm Cortex-A72 cores
NXP ARMv8 SoCs (with integrated NICs)
SoC:
LX2xxx, LS2xxx, LS10xx
OS (based on NXP LSDK-20.04):
Kernel version: 4.19.90
Kernel version: 5.4.47
Ubuntu 18.04
转载须知
DPDK与SPDK开源社区公众号文章转载声明
推荐阅读
DPDK Summit APAC 2021 免费报名中
DPDK Release 20.11
点
点击“阅读原文”,查看21.02 release note
DPDK Release 21.02相关推荐
- DPDK release 18.02
DPDK18.02 重磅发布,快看看新增了哪些功能吧~ 增加了允许退出时释放内部EAL资源的功能. 在rte_eal_init()运行期间,EAL从巨页分配内存使其核心库能够执行任务.rte_eal_ ...
- 【更新21.02.03】百分浏览器继续使用Flash Player的临时解决方案!
Flash已经停止维护了,大家能不用Flash就尽量不要用Flash,停止维护之后此组件会非常不安全! 21.02.03更新:还是要屏蔽一下百分浏览器的自动下载.可能百分浏览器自动下载Flash组件的 ...
- MT7621基于OpenWrt 21.02使用DSA配置VLAN
MT7621基于OpenWrt 21.02使用DSA配置VLAN 21.02vlan配置 配置测试: 在openwrt 21.02版本中,swtich/vlan的配置方式发生了变化,不再使用swcon ...
- Maxon Cinema 4D Release 21可立即供货
新功能.增强功能和创新的3D内容创建工作流程 德国腓特烈斯多夫--(美国商业资讯)--专业3D建模.动画和渲染解决方案的领先开发商Maxon今天宣布推出Cinema 4D Release 21(R21 ...
- Maxon将在Siggraph 2019公布下一代Cinema 4D RELEASE 21
R21提供令人惊叹的新功能,单一版本的Cinema 4D和新的订阅定价选项 功能更新并且更广泛的整合了领先的技术解决方案 为专业3D人士提供创意工作流程 德国,弗里德里希斯多夫 -- (美国商业资讯) ...
- 【转】最新版Tinyumbrella4.21.02备份iPad SHSH教程
转自:http://apple.178.com/201101/88976615701.html SHSH备份工具tinyumbrella升级至4.21.02版本,备份操作更加简便,下面给大家演示一下. ...
- 2021年中国信用卡发行量、交易规模及市场格局分析:授信总额达21.02万亿元,同比增长10.86%[图]
一.发行规模 信用卡是指记录持卡人账户相关信息,具备银行授信额度和透支功能,并为持卡人提供相关银行服务的各类介质. 信用卡业务作为消费金融的重要组成部分,随着消费金融飞速发展也在不断演进和发展,截止2 ...
- openwrt 21.02 开启ntfs-3g自动挂载2T以上移动硬盘
初始状态:openwrt 21.02原始版本 需求:需要自动挂载移动硬盘,作为简单NAS使用 遇到问题: 1) 按照网上教程mount命令不识别uuid参数,发现少安装了一个包:mount-utils ...
- DPDK Release 17.11
DPDK Release 17.11 DPDK Release 17.11 主要功能如下: - IOVA awareness - PCI and VDEV buses moved to drivers ...
- DPDK Release 22.11
新功能 添加了初始LoongArch架构支持. 添加了对 LoongArch 架构的 EAL 实现.在 Loongson 3A5000, Loongson 3C5000 和 Loongson 3C50 ...
最新文章
- Waymo正式向真正“无人车”迈进,申请DMV远程监控许可证
- shell脚本中获取当前所在目录地址
- SAP Spartacus服务器端渲染模式下的调试方法
- java 懒加载模式_JavaScript面试系列:JavaScript设计模式之桥接模式和懒加载
- html action能跨域么,ASP.NET MVC 中设置跨域
- 用友报表java打不开怎么加载,点报表没反应怎么回事啊?演示账套也打不开。...
- 《电子元器件的可靠性》——第1章概述
- jquery文档就绪函数
- Xmind思维导图教程
- 税务计算机类考试题型,税务师考试题型分值分配、计算器要求及2020年考试时间...
- java 数组 重复数据结构_Java数据结构和算法( 二 ) ## 数组
- mariadb镜像使用教程(一)
- oracle在运行存储的时候出现:同义词转换不再有效
- 排序算法c语言描述---基数排序
- typo3 网站迁移
- 协调世界时转换为GPS周秒(转载)
- 【社交网络分析】映射主题网络:从两极分化的人群到社区集群(一)
- 【Golang】对接百度翻译API-golang版本sdk代码
- 【转载】配置文件 .yml 写法小结
- 逆战小白提升日記——网红时钟罗盘北京时间页代码
热门文章
- (一)Latex源文件的基本结构
- python批量提取word指定内容_python 批量提取word应聘登记表数据+情感分析
- 【精品】爬取 国家统计局 2020年 省市县乡村 数据
- 转:如何破解超星打印页数限制
- 计算机的ie丢失,告诉你win7内的IE给卸载了怎么找回
- windows通过cmd命令行下载FTP中文件的几种方式
- sqlite转sql2000数据库
- c语言怎么添加按钮,关于用C语言制作按钮的问题
- python图片表格转excel表格_Python办公自动化 | word 表格转excel
- Kettle_Spoon如何将MySQL数据抽取到ES