新功能

  • 添加了初始化RISC-V架构支持。

为RISC-V架构添加了EAL实现。移植测试的初始设备是基于SiFive Freedom U740 SoC的HiFive Unmatched开发板。从理论上说,此实现应与任何兼容rv64gc ISA的实现配合使用,同时MMU支持合理的地址空间大小(U740使用sv39 MMU)。

  • 添加了顺序锁。

添加了新的同步原语:顺序锁(seqlock)。seqlock允许低开销的并行读取。DPDK seqlock使用自旋锁来序列化多个写入线程。

  •  添加新函数以获取随机浮点数。

添加函数 rte_drand(),提供伪随机浮点数。

  • 为计量添加了基于协议的输入颜色选择

添加了新功能rte_mtr_color_in_protocol_set(), rte_mtr_color_in_protocol_get(), rte_mtr_color_in_protocol_priority_get(), rte_mtr_meter_vlan_table_update(),更新了struct rte_mtr_params 和 struct rte_mtr_capabilities,为了支持计量的基于协议的输入颜色选择。

  • 添加了Rx队列可用描述符阈值和事件。

添加了ethdev API和相应的驱动程序操作,以设置Rx队列可用描述符阈值,并在收到新事件RTE_ETH_EVENT_RX_AVAIL_THRESH 时查询已达到阈值的队列。

  • 为EEPROM 模块添加了遥测命令

添加了telemetry遥测命令以转储EEPROM模块。添加了对EEPROM模块信息格式的支持,定义于:

SFF-8079 修订版1.7

SFF-8472 修订版12.0

SFF-8636 修订版2.7

  • 添加了vhost API以获取在传输(in-flight)数据包的数量。

新添加的API可以在不使用锁的情况下获取vhost异步数据路径中的在传输数据包数量。

  • 添加了vhost异步出列API以接收来自来客户(guest)的数据包。

添加了vhost异步出列API,可以利用DMA设备来加快从guest接收数据包的速度。支持拆分和打包的virtqueue。

  •  在vhost库中添加了in-flight数据包清除API的线程安全版本。

新添加了API,可以在vhost异步数据路径中以线程安全的方式清除提交到异步通道的in-flight数据包。

  • 添加了vhost API以获取vDPA设备的设备类型。

新添加了API以获取vDPA设备的设备类型。

  • 更新了NVIDIA mlx5 vDPA驱动程序。

添加了新的devargs选项:queue_size和queues,以允许提前创建virtq资源。

添加了新的devargs选项max_conf_threads,定义并行配置的管理线程数。

  • 版本2.7.0更新了Amazon ENA 驱动程序

添加了快速mbuf释放的功能支持。

添加了enable_llq设备参数,用于控制PMD LLQ(Low Latency Queue低延迟队列)模式。

  •  更新了Atomic Rules’ Arkville PMD。

需要更新到Arkville 22.07的固件版本。

添加了对Atomic Rules PCI设备 ID 0x101a、0x101b、0x101c的支持。

对虚拟函数和vfio_pci驱动程序添加了PMD支持。

  • 更新了HiSilicon hns3驱动程序。

添加了对底板介质类型的支持。

  • 更新了Intel iavf驱动程序。

添加了Tx QoS队列速率限制支持。

增加了量子(quanta)大小的配置支持。

添加了 DEV_RX_OFFLOAD_TIMESTAMP 支持。

在AVF FDIR和RSS中添加了不可知协议流的卸载(Protocol Agnostic Flow Offloading)支持。

  • 更新了Intel ice驱动程序。

添加了DCF模式下RSS RETA配置的支持。

添加了DCF模式下RSS哈希配置的支持。

添加了对DCF 模式下MTU配置的支持。

添加了DCF模式下promisc配置的支持。

添加了DCF模式下MAC配置的支持。

添加了DCF模式下VLAN过滤器和卸载配置的支持。

添加了Tx QoS队列/队列组速率限制配置支持。

添加了Tx QoS队列/队列组优先级配置支持。

添加了Tx QoS队列权重配置支持。

  • 更新了Intel igc驱动程序。

在igc 驱动程序添加了Intel Foxville I226设备。具体细节请参见 IGC轮询模式驱动程序(Poll Mode Driver) NIC指南。

链接如下:https://doc.dpdk.org/guides/nics/igc.html

  • 更新了Mellanox mlx5驱动程序。

在Windows添加了混杂模式支持。

在Windows添加了MTU支持。

在IPsec ESP添加了匹配和RSS支持。

添加了对代表端口的匹配。

添加了对修改IPv4/IPv6的ECN字段的支持。

添加了对Rx队列可用描述符阈值的支持。

添加了对主机整形器(shaper)的支持。

  • 更新了Netronome nfp驱动程序。

为NFP3800 NIC添加支持。

为NFDk固件添加支持。

更新了VMware vmxnet3 networking驱动程序。

添加了对版本5的支持。

添加了RETA查询和RETA更新支持。

使用新函数,为版本6添加支持:

1. 将最大MTU提高到9190;

2. 增加了Rx和Tx队列的最大数量;

3. 移除Rx和Tx队列大小的2次方限制;

4. 扩展的中断结构体(需要额外队列)。

  • 更新了Wangxun ngbe驱动程序。

为yt8531s PHY添加支持。

添加了对OEM子系统供应商ID的支持。

为外部PHY SFI模式添加了自动协商on/off功能。

添加了对yt8521s/yt8531s PHY SGMII到RGMII模式的支持。

  • 更新了Wangxun txgbe驱动程序。

添加了对OEM子系统供应商ID的支持。

  • 在cryptodev中添加了椭圆曲线Diffie-Hellman(ECDH)算法。

在cryptodev中添加了对椭圆曲线Diffie Hellman(ECDH)非对称算法的支持。

  • 使用3.0 EVP API,更新了OpenSSL加密驱动程序。

更新了OpenSSL驱动程序以支持OpenSSL v3.0 EVP API.还保持了与OpenSSL v1.1.1的向后兼容性。

  • 更新了Marvell cnxk加密驱动程序。

为CN9K和CN10K的lookaside协议(IPsec)添加了AH模式支持。

为CN9K和CN10K的lookaside协议(IPsec)添加了AES-GMAC支持。

  • 更新了Intel QuickAssist (QAT)加密PMD。

添加了对secp384r1椭圆曲线的支持。

  • 添加了Intel ACC101基带(baseband)PMD。

为Intel ACC101设备添加了新的基带PMD。

  • 添加了eventdev API来暂停一个事件端口。

添加了函数rte_event_port_quiesce (),以便在lcore不再与事件端口关联时,停止事件端口消耗的任何lcore特定资源。

  • 在eventdev运行时添加了设置队列属性的支持。

添加了新的API rte_event_queue_attr_set(),在运行时设置事件队列属性。

  • 在eventdev中添加了新的队列属性权重和关联。

定义了新的事件队列属性权重和关联:

o   RTE_EVENT_QUEUE_ATTR_WEIGHT

o   RTE_EVENT_QUEUE_ATTR_WEIGHT

o   RTE_EVENT_QUEUE_ATTR_AFFINITY

o   RTE_EVENT_QUEUE_ATTR_AFFINITY

  • 将telemetry遥测添加到dmadev库。

添加了telemetry遥测回调函数,允许查询DMA设备列表、统计信息和其他DMA设备信息。

  • 添加了LPM库的标量版本。

添加了rte_lpm_lookupx4的标量实现。这是为不支持向量操作的平台提供的fallback实现。

  • 将l3fwd-acl合并到l3fwd示例中。

将l3fwd acl代码合并到l3fwd中,因为l3fwd acl包含与l3fwd重复的通用函数。

  • 在testpmd中重命名了L2有效负载RSS类型。

为port config all rss 命令将RSS类型 ether 重命名为 l2-payload。

API 变更

DPDK头文件rte_altivec.h是PPC头文件altivec.h的封装文件,它不定义AltiVec关键字vector。应该使用替代关键字__vector来代替。

实验性结构体struct rte_mtr_params和struct rte_mtr_capabilities已更新,以支持基于协议的meter颜色选择器。

ABI变更

目前没有损坏21.11版本兼容性的ABI变更。

测试平台

Intel® platforms with Intel® NICs combinations

学习更多dpdk视频
DPDK 学习资料、教学视频和学习路线图 :https://space.bilibili.com/1600631218
Dpdk/网络协议栈/ vpp /OvS/DDos/NFV/虚拟化/高性能专家 上课地址: https://ke.qq.com/course/5066203?flowToken=1043799
DPDK开发学习资料、教学视频和学习路线图分享有需要的可以自行添加学习交流q 君羊909332607备注(XMG) 获取

CPU

Intel® Atom™ CPU C3758 @ 2.20GHz

Intel® Xeon® CPU D-1553N @ 2.30GHz

Intel® Xeon® CPU E5-2680 v2 @ 2.80GHz

Intel® Xeon® CPU E5-2699 v3 @ 2.30GHz

Intel® Xeon® Gold 6139 CPU @ 2.30GHz

Intel® Xeon® Gold 6140M CPU @ 2.30GHz

Intel® Xeon® Gold 6252N CPU @ 2.30GHz

Intel® Xeon® Gold 6348 CPU @ 2.60GHz

Intel® Xeon® Platinum 8180 CPU @ 2.50GHz

Intel® Xeon® Platinum 8180M CPU @ 2.50GHz

Intel® Xeon® Platinum 8280M CPU @ 2.70GHz

Intel® Xeon® Platinum 8380 CPU @ 2.30GHz

OS:

Fedora 35

FreeBSD 13.0

Red Hat Enterprise Linux Server release 8.4

Red Hat Enterprise Linux Server release 8.5

CentOS7.9

Ubuntu 20.04.4

Ubuntu 22.04

NICs:

Intel® Ethernet Controller E810-C for SFP (4x25G)

Firmware version: 4.00 0x80011845 1.3236.0

Device id (pf/vf): 8086:1593 / 8086:1889

Driver version: 1.9.5_dirty (ice)

OS Default DDP: 1.3.30.0

COMMS DDP: 1.3.37.0

Wireless Edge DDP: 1.3.10.0

Intel® Ethernet Controller E810-C for QSFP (2x100G)

Firmware version: 4.00 0x800117e8 1.3236.0

Device id (pf/vf): 8086:1592 / 8086:1889

Driver version: 1.9.5_dirty (ice)

OS Default DDP: 1.3.30.0

COMMS DDP: 1.3.37.0

Wireless Edge DDP: 1.3.10.0

Intel® Ethernet Controller E810-XXV for SFP (2x25G)

Firmware version: 4.00 0x800117e5 1.3236.0

Device id (pf/vf): 8086:159b / 8086:1889

Driver version: 1.9.5_dirty (ice)

OS Default DDP: 1.3.30.0

COMMS DDP: 1.3.37.0

Intel® 82599ES 10 Gigabit Ethernet Controller

Firmware version: 0x61bf0001

Device id (pf/vf): 8086:10fb / 8086:10ed

Driver version(out-tree): 5.15.2 (ixgbe)

Driver version(in-tree): 5.15.0-27-generic (ixgbe)

Intel® Ethernet Converged Network Adapter X710-DA4 (4x10G)

Firmware version: 8.70 0x8000c3d5 1.3179.0

Device id (pf/vf): 8086:1572 / 8086:154c

Driver version(out-tree): 2.19.3 (i40e)

Driver version(in-tree): 5.15.0-27-generic (i40e)

Intel® Corporation Ethernet Connection X722 for 10GbE SFP+ (2x10G)

Firmware version: 5.60 0x800035cb 1.3179.0

Device id (pf/vf): 8086:37d0 / 8086:37cd

Driver version(out-tree): 2.19.3 (i40e)

Driver version(in-tree): 5.13.0-30-generic (i40e)

Intel® Corporation Ethernet Connection X722 for 10GBASE-T

Firmware version: 5.60 0x8000357f 1.2935.0

Device id (pf/vf): 8086:37d2 / 8086:37cd

Driver version(out-tree): 2.19.3 (i40e)

Driver version(in-tree): 5.13.0-30-generic (i40e)

Intel® Ethernet Converged Network Adapter XXV710-DA2 (2x25G)

Firmware version: 8.70 0x8000c3eb 1.3179.0

Device id (pf/vf): 8086:158b / 8086:154c

Driver version(out-tree): 2.19.3 (i40e)

Driver version(in-tree): 5.15.0-27-generic (i40e)

Intel® Ethernet Converged Network Adapter XL710-QDA2 (2X40G)

Firmware version(PF): 8.70 0x8000c40f 1.3179.0

Device id (pf/vf): 8086:1583 / 8086:154c

Driver version(out-tree): 2.19.3 (i40e)

Driver version(in-tree): 5.15.0-27-generic (i40e)

Intel® Ethernet Converged Network Adapter X710-T2L

Firmware version: 8.70 0x8000c3e3 1.3179.0

Device id (pf): 8086:15ff

Driver version: 2.19.3 (i40e)

Intel® platforms with NVIDIA ® 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-2650 v3 @ 2.30GHz

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.6-2.0.9.0 and above

MLNX_OFED 5.5-1.0.3.2

upstream kernel:

Linux 5.18.0 and above

rdma-core:

rdma-core-40.0 and above

NICs:

NVIDIA® ConnectX®-3 Pro 40G MCX354A-FCC_Ax (2x40G)

Host interface: PCI Express 3.0 x8

Device ID: 15b3:1007

Firmware version: 2.42.5000

NVIDIA® ConnectX®-3 Pro 40G MCX354A-FCCT (2x40G)

Host interface: PCI Express 3.0 x8

Device ID: 15b3:1007

Firmware version: 2.42.5000

NVIDIA® ConnectX®-4 Lx 25G MCX4121A-ACAT (2x25G)

Host interface: PCI Express 3.0 x8

Device ID: 15b3:1015

Firmware version: 14.33.1048 and above

NVIDIA® ConnectX®-4 Lx 50G MCX4131A-GCAT (1x50G)

Host interface: PCI Express 3.0 x8

Device ID: 15b3:1015

Firmware version: 14.33.1048 and above

NVIDIA® ConnectX®-5 100G MCX516A-CCAT (2x100G)

Host interface: PCI Express 3.0 x16

Device ID: 15b3:1017

Firmware version: 16.33.1048 and above

NVIDIA® ConnectX®-5 100G MCX556A-ECAT (2x100G)

Host interface: PCI Express 3.0 x16

Device ID: 15b3:1017

Firmware version: 16.33.1048 and above

NVIDIA® ConnectX®-5 100G MCX556A-EDAT (2x100G)

Host interface: PCI Express 3.0 x16

Device ID: 15b3:1017

Firmware version: 16.33.1048 and above

NVIDIA® ConnectX®-5 Ex EN 100G MCX516A-CDAT (2x100G)

Host interface: PCI Express 4.0 x16

Device ID: 15b3:1019

Firmware version: 16.33.1048 and above

NVIDIA® ConnectX®-6 Dx EN 100G MCX623106AN-CDAT (2x100G)

Host interface: PCI Express 4.0 x16

Device ID: 15b3:101d

Firmware version: 22.33.1048 and above

NVIDIA® ConnectX®-6 Lx EN 25G MCX631102AN-ADAT (2x25G)

Host interface: PCI Express 4.0 x8

Device ID: 15b3:101f

Firmware version: 26.33.1048 and above

NVIDIA® ConnectX® 7 200G CX713106AE-HEA_QP1_Ax (2x200G)

Host interface: PCI Express 5.0 x16

Device ID: 15b3:1021

Firmware version: 28.33.2028 and above

NVIDIA ® BlueField® SmartNIC

NVIDIA® BlueField® 2 SmartNIC MT41686 - MBF2H332A-AEEOT_A1 (2x25G)

Host interface: PCI Express 3.0 x16

Device ID: 15b3:a2d6

Firmware version: 24.33.1048 and above

Embedded software:

Ubuntu 20.04.3

MLNX_OFED 5.6-2.0.9.0 and above

DPDK application running on Arm cores

IBM Power 9 platforms with NVIDIA® NICs combinations

CPU:

POWER9 2.2 (pvr 004e 1202)

OS:

Red Hat Enterprise Linux Server release 8.2

NICs:

NVIDIA® ConnectX®-5 100G MCX556A-ECAT (2x100G)

Host interface: PCI Express 4.0 x16

Device ID: 15b3:1017

Firmware version: 16.33.1048

NVIDIA® ConnectX®-6 Dx 100G MCX623106AN-CDAT (2x100G)

Host interface: PCI Express 4.0 x16

Device ID: 15b3:101d

Firmware version: 22.33.1048

OFED:

MLNX_OFED 5.6-2.0.9.0

原文链接:https://mp.weixin.qq.com/s/jnIys88hLhnmlWhRluGagA

DPDK Release 22.07相关推荐

  1. DPDK Release 22.11

    新功能 添加了初始LoongArch架构支持. 添加了对 LoongArch 架构的 EAL 实现.在 Loongson 3A5000, Loongson 3C5000 和 Loongson 3C50 ...

  2. DPDK Release 17.11

    DPDK Release 17.11 DPDK Release 17.11 主要功能如下: - IOVA awareness - PCI and VDEV buses moved to drivers ...

  3. DPDK release 18.02

    DPDK18.02 重磅发布,快看看新增了哪些功能吧~ 增加了允许退出时释放内部EAL资源的功能. 在rte_eal_init()运行期间,EAL从巨页分配内存使其核心库能够执行任务.rte_eal_ ...

  4. 2021,至过去一年(2021.01.16 22:07:52)

    过去的一年,算是逆流而上的一年.经历了裁员离职,重新找工作的路. 总结一下在新的公司度过了一年 .总体来说对自身的发展路线确定下来.业务+技术的发展路线. 在项目中,主要在写后端,对接第三方系统,开发 ...

  5. SPDK Delay Bdev 介绍及应用实例

    温馨提示 ✦ 由于英文函数名较长,为了获得更佳的阅读体验,建议在手机横屏或电脑网页阅读~ ✦ ✦ 一.背景介绍 2019年3月,SPDK社区首次实现了Delay Bdev,如这个Bdev的名称,主要用 ...

  6. Release notes for VPP 22.10

    本次发布新增了212个提交,包括118个修复. 关于本次发布的更多信息,请访问:https://gerrit.fd.io/r/gitweb?p=vpp.git;a=blob;f=docs/aboutv ...

  7. dpdk课程学习之练习笔记四(dns预备)

    0:安装环境基础命令(vmware+ubuntu 16) hlp@ubuntu:~$ lsb_release -a No LSB modules are available. Distributor ...

  8. 使用DPDK打开Open vSwitch(OvS) *概述

    本文概述了带有数据平面开发套件(OvS-DPDK)(高性能,开源虚拟交换机)的Open vSwitch *,并链接到进一步深入探讨各个OvS-DPDK功能的其他技术文章.本文是为希望了解有关DPDK集 ...

  9. 【dpdk】10.dpdk-dns学习笔记

    基于之前实现的KNI代码,并结合dns开源库代码进行dpdk-dns的结合 参考链接:https://blog.csdn.net/yun6853992/article/details/12215055 ...

  10. [架构之路-49]:目标系统 - 系统软件 - Linux下的网络通信-7-快速数据平面开发套件DPDK - 快速部署软件入门指南

    目录 前言: 第1章 概述 1.1 本文的英文参考 1.2 概述 1.3 DPDK常见的文档 第2章 系统需求 2.1.x86上的BIOS设置前提条件 2.2.编译DPDK的要求 2.3 运行DPDK ...

最新文章

  1. 【转】自然语言系列学习之表示学习与知识获取(一)分布式表示
  2. init_MUTEX被废除
  3. 实现两线程的同步一(wait/notify)
  4. [分块][离散化] Bzoj P2724 蒲公英
  5. 双线性映射:零知识证明的引擎
  6. 腾讯视频国际版(Android)电量测试方法研究与总结
  7. 成都理工大学乐千桤java考试,成都理工大学方案.PDF
  8. php 二级导航,导航下面的二级导航,显示和隐藏,
  9. 正确修改SATA模式
  10. 周易六十四卦——地风升卦
  11. linux系统开发安卓应用,在 Linux 里搭建 Android App 开发环境
  12. 中心商务区建智慧城市 将现 “芝加哥夜景”
  13. Java项目:ssm+mysql+jsp实现的校园二手市场交易平台源码
  14. HTML5开发 页游/手游动画及游戏系列教程(Game Tutorial):(一)物体动起来吧
  15. 计算机usb口不识别读卡器,windows7系统下usb读卡器读不出来如何解决
  16. OpenCV drawMatches出现报错Error: Assertion failed
  17. 16.4 使用主窗口
  18. APP通用异常测试场景
  19. flexsim软件连接c语言,Flexsim软件的基本操作
  20. 计算共形几何暑假课lecture4

热门文章

  1. 模式识别、机器学习与深度学习
  2. 初学爬虫-qq空间模拟登录
  3. 工业汽轮机调节系统的模糊PID控制器
  4. 11款企业网络运维监控软件汇总介绍-行云管家
  5. 手工修复Win 7下彩影ARP防火墙驱动程序(适用于32/64位系统)
  6. KindEditor使用
  7. 如何批量打印ppt文件
  8. 在计算机中怎么找到打字的文件,想在电脑上打字,然后把电脑上写的字,弄到纸上怎么做...
  9. DellaOS引导程序篇(完结)
  10. 需求跟踪矩阵和需求评审