1.. SPDX-License-Identifier: BSD-3-Clause 2 Copyright 2022 The DPDK contributors 3 4.. include:: <isonum.txt> 5 6DPDK Release 22.07 7================== 8 9New Features 10------------ 11 12* **Added initial RISC-V architecture support.** 13 14 Added EAL implementation for RISC-V architecture. 15 The initial device the porting was tested on was 16 a HiFive Unmatched development board based on the SiFive Freedom U740 SoC. 17 In theory this implementation should work 18 with any ``rv64gc`` ISA compatible implementation 19 with MMU supporting a reasonable address space size (U740 uses sv39 MMU). 20 21* **Added Sequence Lock.** 22 23 Added a new synchronization primitive: the sequence lock 24 (seqlock). A seqlock allows for low overhead, parallel reads. The 25 DPDK seqlock uses a spinlock to serialize multiple writing threads. 26 27* **Added function to get random floating point number.** 28 29 Added the function ``rte_drand()`` to provide a pseudo-random 30 floating point number. 31 32* **Added protocol based input color selection for meter.** 33 34 Added new functions ``rte_mtr_color_in_protocol_set()``, 35 ``rte_mtr_color_in_protocol_get()``, 36 ``rte_mtr_color_in_protocol_priority_get()``, 37 ``rte_mtr_meter_vlan_table_update()`` 38 and updated ``struct rte_mtr_params`` and ``struct rte_mtr_capabilities`` to 39 support protocol based input color selection for meter. 40 41* **Added Rx queue available descriptors threshold and event.** 42 43 Added ethdev API and corresponding driver operations to set Rx queue 44 available descriptors threshold and query for queues that have reached the 45 threshold when a new event ``RTE_ETH_EVENT_RX_AVAIL_THRESH`` is received. 46 47* **Added telemetry for module EEPROM.** 48 49 Added telemetry command to dump module EEPROM. 50 Added support for module EEPROM information format defined in: 51 52 * SFF-8079 revision 1.7 53 * SFF-8472 revision 12.0 54 * SFF-8636 revision 2.7 55 56* **Added vhost API to get the number of in-flight packets.** 57 58 Added an API which can get the number of in-flight packets in 59 the vhost async data path without using lock. 60 61* **Added vhost async dequeue API to receive packets from guest.** 62 63 Added vhost async dequeue API which can leverage DMA devices to 64 accelerate receiving packets from a guest. 65 Both split and packed virtqueues are supported. 66 67* **Added thread-safe version of in-flight packet clear API in vhost library.** 68 69 Added an API which can clear the in-flight packets submitted to 70 the async channel in a thread-safe manner, in the vhost async data path. 71 72* **Added vhost API to get the device type of a vDPA device.** 73 74 Added an API which can get the device type of vDPA devices. 75 76* **Updated NVIDIA mlx5 vDPA driver.** 77 78 * Added new devargs options ``queue_size`` and ``queues`` 79 to allow prior creation of virtq resources. 80 * Added new devargs option ``max_conf_threads`` 81 defining the number of management threads for parallel configurations. 82 83* **Updated Amazon ENA driver to version 2.7.0.** 84 85 * Added fast mbuf free feature support. 86 * Added ``enable_llq`` device argument for controlling the PMD LLQ 87 (Low Latency Queue) mode. 88 89* **Updated Atomic Rules' Arkville PMD.** 90 91 * A firmware version update to Arkville 22.07 is required. 92 * Added support for Atomic Rules PCI device IDs ``0x101a, 0x101b, 0x101c``. 93 * Added PMD support for virtual functions and vfio_pci driver. 94 95* **Updated HiSilicon hns3 driver.** 96 97 * Added support for backplane media type. 98 99* **Updated Intel iavf driver.** 100 101 * Added Tx QoS queue rate limitation support. 102 * Added quanta size configuration support. 103 * Added ``DEV_RX_OFFLOAD_TIMESTAMP`` support. 104 * Added Protocol Agnostic Flow Offloading support in AVF FDIR and RSS. 105 106* **Updated Intel ice driver.** 107 108 * Added support for RSS RETA configure in DCF mode. 109 * Added support for RSS HASH configure in DCF mode. 110 * Added support for MTU configure in DCF mode. 111 * Added support for promisc configuration in DCF mode. 112 * Added support for MAC configuration in DCF mode. 113 * Added support for VLAN filter and offload configuration in DCF mode. 114 * Added Tx QoS queue / queue group rate limitation configure support. 115 * Added Tx QoS queue / queue group priority configuration support. 116 * Added Tx QoS queue weight configuration support. 117 118* **Updated Intel igc driver.** 119 120 Added Intel Foxville I226 devices in ``igc`` driver. 121 See the :doc:`../nics/igc` NIC guide for more details. 122 123* **Updated Mellanox mlx5 driver.** 124 125 * Added support for promiscuous mode on Windows. 126 * Added support for MTU on Windows. 127 * Added matching and RSS on IPsec ESP. 128 * Added matching on represented port. 129 * Added support for modifying ECN field of IPv4/IPv6. 130 * Added Rx queue available descriptor threshold support. 131 * Added host shaper support. 132 133* **Updated Netronome nfp driver.** 134 135 * Added support for NFP3800 NIC. 136 * Added support for firmware with NFDk. 137 138* **Updated VMware vmxnet3 networking driver.** 139 140 * Added version 5 support. 141 * Added RETA query and RETA update support. 142 * Added version 6 support with some new features: 143 144 * Increased maximum MTU up to 9190; 145 * Increased maximum number of Rx and Tx queues; 146 * Removed power-of-two limitations on Rx and Tx queue size; 147 * Extended interrupt structures (required for additional queues). 148 149* **Updated Wangxun ngbe driver.** 150 151 * Added support for yt8531s PHY. 152 * Added support for OEM subsystem vendor ID. 153 * Added autoneg on/off for external PHY SFI mode. 154 * Added support for yt8521s/yt8531s PHY SGMII to RGMII mode. 155 156* **Updated Wangxun txgbe driver.** 157 158 * Added support for OEM subsystem vendor ID. 159 160* **Added Elliptic Curve Diffie-Hellman (ECDH) algorithm in cryptodev.** 161 162 Added support for Elliptic Curve Diffie Hellman (ECDH) asymmetric 163 algorithm in cryptodev. 164 165* **Updated OpenSSL crypto driver with 3.0 EVP API.** 166 167 Updated OpenSSL driver to support OpenSSL v3.0 EVP API. 168 Backward compatibility with OpenSSL v1.1.1 is also maintained. 169 170* **Updated Marvell cnxk crypto driver.** 171 172 * Added AH mode support in lookaside protocol (IPsec) for CN9K & CN10K. 173 * Added AES-GMAC support in lookaside protocol (IPsec) for CN9K & CN10K. 174 175* **Updated Intel QuickAssist Technology (QAT) crypto PMD.** 176 177 * Added support for secp384r1 elliptic curve. 178 179* **Added Intel ACC101 baseband PMD.** 180 181 Added a new baseband PMD for Intel ACC101 device. 182 183* **Added eventdev API to quiesce an event port.** 184 185 Added the function ``rte_event_port_quiesce()`` 186 to quiesce any lcore-specific resources consumed by the event port, 187 when the lcore is no more associated with an event port. 188 189* **Added support for setting queue attributes at runtime in eventdev.** 190 191 Added new API ``rte_event_queue_attr_set()``, to set event queue attributes 192 at runtime. 193 194* **Added new queues attributes weight and affinity in eventdev.** 195 196 Defined new event queue attributes weight and affinity: 197 198 * ``RTE_EVENT_QUEUE_ATTR_WEIGHT`` 199 * ``RTE_EVENT_QUEUE_ATTR_AFFINITY`` 200 201* **Added telemetry to dmadev library.** 202 203 Added telemetry callback functions which allow for a list of DMA devices, 204 statistics and other DMA device information to be queried. 205 206* **Added scalar version of the LPM library.** 207 208 Added scalar implementation of ``rte_lpm_lookupx4``. 209 This is a fall-back implementation for platforms that 210 don't support vector operations. 211 212* **Merged l3fwd-acl into l3fwd example.** 213 214 Merged l3fwd-acl code into l3fwd as l3fwd-acl contains duplicate 215 and common functions to l3fwd. 216 217* **Renamed L2 payload RSS type in testpmd.** 218 219 Renamed RSS type ``ether`` to ``l2-payload`` for ``port config all rss`` 220 command. 221 222 223API Changes 224----------- 225 226* The DPDK header file ``rte_altivec.h``, 227 which is a wrapper for the PPC header file ``altivec.h``, 228 undefines the AltiVec keyword ``vector``. 229 The alternative keyword ``__vector`` should be used instead. 230 231* Experimental structures ``struct rte_mtr_params`` 232 and ``struct rte_mtr_capabilities`` were updated to support 233 protocol based input color for meter. 234 235 236ABI Changes 237----------- 238 239* No ABI change that would break compatibility with 21.11. 240 241 242Tested Platforms 243---------------- 244 245* Intel\ |reg| platforms with Intel\ |reg| NICs combinations 246 247 * CPU 248 249 * Intel\ |reg| Atom\ |trade| CPU C3758 @ 2.20GHz 250 * Intel\ |reg| Xeon\ |reg| CPU D-1553N @ 2.30GHz 251 * Intel\ |reg| Xeon\ |reg| CPU E5-2680 v2 @ 2.80GHz 252 * Intel\ |reg| Xeon\ |reg| CPU E5-2699 v3 @ 2.30GHz 253 * Intel\ |reg| Xeon\ |reg| CPU E5-2699 v4 @ 2.20GHz 254 * Intel\ |reg| Xeon\ |reg| Gold 6139 CPU @ 2.30GHz 255 * Intel\ |reg| Xeon\ |reg| Gold 6140M CPU @ 2.30GHz 256 * Intel\ |reg| Xeon\ |reg| Gold 6252N CPU @ 2.30GHz 257 * Intel\ |reg| Xeon\ |reg| Gold 6348 CPU @ 2.60GHz 258 * Intel\ |reg| Xeon\ |reg| Platinum 8180 CPU @ 2.50GHz 259 * Intel\ |reg| Xeon\ |reg| Platinum 8180M CPU @ 2.50GHz 260 * Intel\ |reg| Xeon\ |reg| Platinum 8280M CPU @ 2.70GHz 261 * Intel\ |reg| Xeon\ |reg| Platinum 8380 CPU @ 2.30GHz 262 263 * OS: 264 265 * Fedora 35 266 * FreeBSD 13.0 267 * Red Hat Enterprise Linux Server release 8.4 268 * Red Hat Enterprise Linux Server release 8.5 269 * CentOS7.9 270 * Ubuntu 20.04.4 271 * Ubuntu 22.04 272 273 * NICs: 274 275 * Intel\ |reg| Ethernet Controller E810-C for SFP (4x25G) 276 277 * Firmware version: 4.00 0x80011845 1.3236.0 278 * Device id (pf/vf): 8086:1593 / 8086:1889 279 * Driver version: 1.9.5_dirty (ice) 280 * OS Default DDP: 1.3.30.0 281 * COMMS DDP: 1.3.37.0 282 * Wireless Edge DDP: 1.3.10.0 283 284 * Intel\ |reg| Ethernet Controller E810-C for QSFP (2x100G) 285 286 * Firmware version: 4.00 0x800117e8 1.3236.0 287 * Device id (pf/vf): 8086:1592 / 8086:1889 288 * Driver version: 1.9.5_dirty (ice) 289 * OS Default DDP: 1.3.30.0 290 * COMMS DDP: 1.3.37.0 291 * Wireless Edge DDP: 1.3.10.0 292 293 * Intel\ |reg| Ethernet Controller E810-XXV for SFP (2x25G) 294 295 * Firmware version: 4.00 0x800117e5 1.3236.0 296 * Device id (pf/vf): 8086:159b / 8086:1889 297 * Driver version: 1.9.5_dirty (ice) 298 * OS Default DDP: 1.3.30.0 299 * COMMS DDP: 1.3.37.0 300 301 * Intel\ |reg| 82599ES 10 Gigabit Ethernet Controller 302 303 * Firmware version: 0x61bf0001 304 * Device id (pf/vf): 8086:10fb / 8086:10ed 305 * Driver version(out-tree): 5.15.2 (ixgbe) 306 * Driver version(in-tree): 5.15.0-27-generic (ixgbe) 307 308 * Intel\ |reg| Ethernet Converged Network Adapter X710-DA4 (4x10G) 309 310 * Firmware version: 8.70 0x8000c3d5 1.3179.0 311 * Device id (pf/vf): 8086:1572 / 8086:154c 312 * Driver version(out-tree): 2.19.3 (i40e) 313 * Driver version(in-tree): 5.15.0-27-generic (i40e) 314 315 * Intel\ |reg| Corporation Ethernet Connection X722 for 10GbE SFP+ (2x10G) 316 317 * Firmware version: 5.60 0x800035cb 1.3179.0 318 * Device id (pf/vf): 8086:37d0 / 8086:37cd 319 * Driver version(out-tree): 2.19.3 (i40e) 320 * Driver version(in-tree): 5.13.0-30-generic (i40e) 321 322 * Intel\ |reg| Corporation Ethernet Connection X722 for 10GBASE-T 323 324 * Firmware version: 5.60 0x8000357f 1.2935.0 325 * Device id (pf/vf): 8086:37d2 / 8086:37cd 326 * Driver version(out-tree): 2.19.3 (i40e) 327 * Driver version(in-tree): 5.13.0-30-generic (i40e) 328 329 * Intel\ |reg| Ethernet Converged Network Adapter XXV710-DA2 (2x25G) 330 331 * Firmware version: 8.70 0x8000c3eb 1.3179.0 332 * Device id (pf/vf): 8086:158b / 8086:154c 333 * Driver version(out-tree): 2.19.3 (i40e) 334 * Driver version(in-tree): 5.15.0-27-generic (i40e) 335 336 * Intel\ |reg| Ethernet Converged Network Adapter XL710-QDA2 (2X40G) 337 338 * Firmware version(PF): 8.70 0x8000c40f 1.3179.0 339 * Device id (pf/vf): 8086:1583 / 8086:154c 340 * Driver version(out-tree): 2.19.3 (i40e) 341 * Driver version(in-tree): 5.15.0-27-generic (i40e) 342 343 * Intel\ |reg| Ethernet Converged Network Adapter X710-T2L 344 345 * Firmware version: 8.70 0x8000c3e3 1.3179.0 346 * Device id (pf): 8086:15ff 347 * Driver version: 2.19.3 (i40e) 348 349* Intel\ |reg| platforms with NVIDIA \ |reg| NICs combinations 350 351 * CPU: 352 353 * Intel\ |reg| Xeon\ |reg| Gold 6154 CPU @ 3.00GHz 354 * Intel\ |reg| Xeon\ |reg| CPU E5-2697A v4 @ 2.60GHz 355 * Intel\ |reg| Xeon\ |reg| CPU E5-2697 v3 @ 2.60GHz 356 * Intel\ |reg| Xeon\ |reg| CPU E5-2680 v2 @ 2.80GHz 357 * Intel\ |reg| Xeon\ |reg| CPU E5-2670 0 @ 2.60GHz 358 * Intel\ |reg| Xeon\ |reg| CPU E5-2650 v4 @ 2.20GHz 359 * Intel\ |reg| Xeon\ |reg| CPU E5-2650 v3 @ 2.30GHz 360 * Intel\ |reg| Xeon\ |reg| CPU E5-2640 @ 2.50GHz 361 * Intel\ |reg| Xeon\ |reg| CPU E5-2650 0 @ 2.00GHz 362 * Intel\ |reg| Xeon\ |reg| CPU E5-2620 v4 @ 2.10GHz 363 364 * OS: 365 366 * Red Hat Enterprise Linux release 8.2 (Ootpa) 367 * Red Hat Enterprise Linux Server release 7.8 (Maipo) 368 * Red Hat Enterprise Linux Server release 7.6 (Maipo) 369 * Red Hat Enterprise Linux Server release 7.5 (Maipo) 370 * Red Hat Enterprise Linux Server release 7.4 (Maipo) 371 * Red Hat Enterprise Linux Server release 7.3 (Maipo) 372 * Red Hat Enterprise Linux Server release 7.2 (Maipo) 373 * Ubuntu 20.04 374 * Ubuntu 18.04 375 * Ubuntu 16.04 376 * SUSE Enterprise Linux 15 SP2 377 * SUSE Enterprise Linux 12 SP4 378 379 * OFED: 380 381 * MLNX_OFED 5.6-2.0.9.0 and above 382 * MLNX_OFED 5.5-1.0.3.2 383 384 * upstream kernel: 385 386 * Linux 5.18.0 and above 387 388 * rdma-core: 389 390 * rdma-core-40.0 and above 391 392 * NICs: 393 394 * NVIDIA\ |reg| ConnectX\ |reg|-3 Pro 40G MCX354A-FCC_Ax (2x40G) 395 396 * Host interface: PCI Express 3.0 x8 397 * Device ID: 15b3:1007 398 * Firmware version: 2.42.5000 399 400 * NVIDIA\ |reg| ConnectX\ |reg|-3 Pro 40G MCX354A-FCCT (2x40G) 401 402 * Host interface: PCI Express 3.0 x8 403 * Device ID: 15b3:1007 404 * Firmware version: 2.42.5000 405 406 * NVIDIA\ |reg| ConnectX\ |reg|-4 Lx 25G MCX4121A-ACAT (2x25G) 407 408 * Host interface: PCI Express 3.0 x8 409 * Device ID: 15b3:1015 410 * Firmware version: 14.33.1048 and above 411 412 * NVIDIA\ |reg| ConnectX\ |reg|-4 Lx 50G MCX4131A-GCAT (1x50G) 413 414 * Host interface: PCI Express 3.0 x8 415 * Device ID: 15b3:1015 416 * Firmware version: 14.33.1048 and above 417 418 * NVIDIA\ |reg| ConnectX\ |reg|-5 100G MCX516A-CCAT (2x100G) 419 420 * Host interface: PCI Express 3.0 x16 421 * Device ID: 15b3:1017 422 * Firmware version: 16.33.1048 and above 423 424 * NVIDIA\ |reg| ConnectX\ |reg|-5 100G MCX556A-ECAT (2x100G) 425 426 * Host interface: PCI Express 3.0 x16 427 * Device ID: 15b3:1017 428 * Firmware version: 16.33.1048 and above 429 430 * NVIDIA\ |reg| ConnectX\ |reg|-5 100G MCX556A-EDAT (2x100G) 431 432 * Host interface: PCI Express 3.0 x16 433 * Device ID: 15b3:1017 434 * Firmware version: 16.33.1048 and above 435 436 * NVIDIA\ |reg| ConnectX\ |reg|-5 Ex EN 100G MCX516A-CDAT (2x100G) 437 438 * Host interface: PCI Express 4.0 x16 439 * Device ID: 15b3:1019 440 * Firmware version: 16.33.1048 and above 441 442 * NVIDIA\ |reg| ConnectX\ |reg|-6 Dx EN 100G MCX623106AN-CDAT (2x100G) 443 444 * Host interface: PCI Express 4.0 x16 445 * Device ID: 15b3:101d 446 * Firmware version: 22.33.1048 and above 447 448 * NVIDIA\ |reg| ConnectX\ |reg|-6 Lx EN 25G MCX631102AN-ADAT (2x25G) 449 450 * Host interface: PCI Express 4.0 x8 451 * Device ID: 15b3:101f 452 * Firmware version: 26.33.1048 and above 453 454 * NVIDIA\ |reg| ConnectX\ |reg|-7 200G CX713106AE-HEA_QP1_Ax (2x200G) 455 456 * Host interface: PCI Express 5.0 x16 457 * Device ID: 15b3:1021 458 * Firmware version: 28.33.2028 and above 459 460* NVIDIA \ |reg| BlueField\ |reg| SmartNIC 461 462 * NVIDIA\ |reg| BlueField\ |reg|-2 SmartNIC MT41686 - MBF2H332A-AEEOT_A1 (2x25G) 463 464 * Host interface: PCI Express 3.0 x16 465 * Device ID: 15b3:a2d6 466 * Firmware version: 24.33.1048 and above 467 468 * Embedded software: 469 470 * Ubuntu 20.04.3 471 * MLNX_OFED 5.6-2.0.9.0 and above 472 * DPDK application running on Arm cores 473 474* IBM Power 9 platforms with NVIDIA\ |reg| NICs combinations 475 476 * CPU: 477 478 * POWER9 2.2 (pvr 004e 1202) 479 480 * OS: 481 482 * Red Hat Enterprise Linux Server release 8.2 483 484 * NICs: 485 486 * NVIDIA\ |reg| ConnectX\ |reg|-5 100G MCX556A-ECAT (2x100G) 487 488 * Host interface: PCI Express 4.0 x16 489 * Device ID: 15b3:1017 490 * Firmware version: 16.33.1048 491 492 * NVIDIA\ |reg| ConnectX\ |reg|-6 Dx 100G MCX623106AN-CDAT (2x100G) 493 494 * Host interface: PCI Express 4.0 x16 495 * Device ID: 15b3:101d 496 * Firmware version: 22.33.1048 497 498 * OFED: 499 500 * MLNX_OFED 5.6-2.0.9.0 501