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