1 .. SPDX-License-Identifier: BSD-3-Clause
2 Copyright 2022 The DPDK contributors
4 .. include:: <isonum.txt>
9 .. **Read this first.**
11 The text in the sections below explains how to update the release notes.
13 Use proper spelling, capitalization and punctuation in all sections.
15 Variable and config names should be quoted as fixed width text:
18 Build the docs and view the output file to ensure the changes are correct::
21 xdg-open build/doc/guides/html/rel_notes/release_22_07.html
27 .. This section should contain new features added in this release.
30 * **Add a title in the past tense with a full stop.**
32 Add a short 1-2 sentence description in the past tense.
33 The description should be enough to allow someone scanning
34 the release notes to understand the new feature.
36 If the feature adds a lot of sub-features you can use a bullet list
39 * Added feature foo to do something.
40 * Enhanced feature bar to do something else.
42 Refer to the previous release notes for examples.
44 Suggested order in release notes items:
45 * Core libs (EAL, mempool, ring, mbuf, buses)
46 * Device abstraction libs and PMDs (ordered alphabetically by vendor name)
48 - cryptodev (lib, PMDs)
49 - eventdev (lib, PMDs)
52 * Apps, Examples, Tools (if significant)
54 This section is a comment. Do not overwrite or remove it.
55 Also, make sure to start the actual text at the margin.
56 =======================================================
58 * **Added initial RISC-V architecture support.***
60 Added EAL implementation for RISC-V architecture.
61 The initial device the porting was tested on is
62 a HiFive Unmatched development board based on the SiFive Freedom U740 SoC.
63 In theory this implementation should work
64 with any ``rv64gc`` ISA compatible implementation
65 with MMU supporting a reasonable address space size (U740 uses sv39 MMU).
67 * **Added Sequence Lock.**
69 Added a new synchronization primitive: the sequence lock
70 (seqlock). A seqlock allows for low overhead, parallel reads. The
71 DPDK seqlock uses a spinlock to serialize multiple writing threads.
73 * ** Added function get random floating point number.**
75 Added the function ``rte_drand()`` to provide a pseudo-random
76 floating point number.
78 * **Added protocol based input color selection for meter.**
80 Added new functions ``rte_mtr_color_in_protocol_set()``,
81 ``rte_mtr_color_in_protocol_get()``,
82 ``rte_mtr_color_in_protocol_priority_get()``,
83 ``rte_mtr_meter_vlan_table_update()``
84 and updated ``struct rte_mtr_params`` and ``struct rte_mtr_capabilities`` to
85 support protocol based input color selection for meter.
87 * **Added Rx queue available descriptors threshold and event.**
89 Added ethdev API and corresponding driver operations to set Rx queue
90 available descriptors threshold and query for queues with reached
91 threshold when a new event ``RTE_ETH_EVENT_RX_AVAIL_THRESH`` is received.
93 * **Added telemetry for module EEPROM.**
95 Added telemetry command to dump module EEPROM.
96 Added support for module EEPROM information format defined in:
98 * SFF-8079 revision 1.7
99 * SFF-8472 revision 12.0
100 * SFF-8636 revision 2.7
102 * **Added vhost API to get the number of in-flight packets.**
104 Added an API which can get the number of in-flight packets in
105 vhost async data path without using lock.
107 * **Added vhost async dequeue API to receive packets from guest.**
109 Added vhost async dequeue API which can leverage DMA devices to
110 accelerate receiving packets from guest.
111 Split virtqueue and packed virtqueue are both supported.
113 * **Added thread-safe version of in-flight packet clear API in vhost library.**
115 Added an API which can clear the in-flight packets submitted to
116 the async channel in a thread-safe manner in the vhost async data path.
118 * **Added vhost API to get the device type of a vDPA device.**
120 Added an API which can get the device type of vDPA device.
122 * **Updated NVIDIA mlx5 vDPA driver.**
124 * Added new devargs options ``queue_size`` and ``queues``
125 to allow prior creation of virtq resources.
126 * Added new devargs option ``max_conf_threads``
127 defining the number of management threads for parallel configurations.
129 * **Updated Amazon ena driver.**
131 The new driver version (v2.7.0) includes:
133 * Added fast mbuf free feature support.
134 * Added ``enable_llq`` device argument for controlling the PMD LLQ
135 (Low Latency Queue) mode.
137 * **Updated Atomic Rules' Arkville PMD.**
139 * A firmware version update to Arkville 22.07 is required.
140 * Added support for Atomic Rules PCI device IDs ``0x101a, 0x101b, 0x101c``.
141 * Added PMD support for virtual functions and vfio_pci driver.
143 * **Updated HiSilicon hns3 driver.**
145 * Added support for backplane media type.
147 * **Updated Intel iavf driver.**
149 * Added Tx QoS queue rate limitation support.
150 * Added quanta size configuration support.
151 * Added ``DEV_RX_OFFLOAD_TIMESTAMP`` support.
152 * Added Protocol Agnostic Flow Offloading support in AVF FDIR and RSS.
154 * **Updated Intel ice driver.**
156 * Added support for RSS RETA configure in DCF mode.
157 * Added support for RSS HASH configure in DCF mode.
158 * Added support for MTU configure in DCF mode.
159 * Added support for promisc configuration in DCF mode.
160 * Added support for MAC configuration in DCF mode.
161 * Added support for VLAN filter and offload configuration in DCF mode.
162 * Added Tx QoS queue / queue group rate limitation configure support.
163 * Added Tx QoS queue / queue group priority configuration support.
164 * Added Tx QoS queue weight configuration support.
166 * **Updated Intel igc driver.**
168 Added Intel Foxville I226 devices in ``igc`` driver.
169 See the doc:`../nics/igc` NIC guide for more details.
171 * **Updated Mellanox mlx5 driver.**
173 * Added support for promiscuous mode on Windows.
174 * Added support for MTU on Windows.
175 * Added matching and RSS on IPsec ESP.
176 * Added matching on represented port.
177 * Added support for modifying ECN field of IPv4/IPv6.
178 * Added Rx queue available descriptor threshold support.
179 * Added host shaper support.
181 * **Updated Netronome nfp driver.**
183 * Added support for NFP3800 NIC.
184 * Added support for firmware with NFDk.
186 * **Updated VMware vmxnet3 networking driver.**
188 * Added version 5 support.
189 * Added RETA query and RETA update support.
190 * Added version 6 support with some new features:
192 * Increased maximum MTU up to 9190;
193 * Increased maximum number of Rx and Tx queues;
194 * Removed power-of-two limitations on Rx and Tx queue size;
195 * Extended interrupt structures (required for additional queues).
197 * **Updated Wangxun ngbe driver.**
199 * Added support for yt8531s PHY.
200 * Added support for OEM subsystem vendor ID.
201 * Added autoneg on/off for external PHY SFI mode.
202 * Added support for yt8521s/yt8531s PHY SGMII to RGMII mode.
204 * **Updated Wangxun txgbe driver.**
206 * Added support for OEM subsystem vendor ID.
208 * **Added Elliptic Curve Diffie-Hellman (ECDH) algorithm in cryptodev.**
210 Added support for Elliptic Curve Diffie Hellman (ECDH) asymmetric
211 algorithm in cryptodev.
213 * **Updated OpenSSL crypto driver with 3.0 EVP API.**
215 Updated OpenSSL driver to support OpenSSL v3.0 EVP API.
216 Backward compatibility with OpenSSL v1.1.1 is also maintained.
218 * **Updated Marvell cnxk crypto driver.**
220 * Added AH mode support in lookaside protocol (IPsec) for CN9K & CN10K.
221 * Added AES-GMAC support in lookaside protocol (IPsec) for CN9K & CN10K.
223 * **Updated Intel QuickAssist Technology (QAT) crypto PMD.**
225 * Added support for secp384r1 elliptic curve.
227 * **Added Intel ACC101 baseband PMD.**
229 Added a new baseband PMD for Intel ACC101 device.
231 * **Added eventdev API to quiesce an event port.**
233 Added the function ``rte_event_port_quiesce()``
234 to quiesce any lcore-specific resources consumed by the event port,
235 when the lcore is no more associated with an event port.
237 * **Added support for setting queue attributes at runtime in eventdev.**
239 Added new API ``rte_event_queue_attr_set()``, to set event queue attributes
242 * **Added new queues attributes weight and affinity in eventdev.**
244 Defined new event queue attributes weight and affinity as below:
246 * ``RTE_EVENT_QUEUE_ATTR_WEIGHT``
247 * ``RTE_EVENT_QUEUE_ATTR_AFFINITY``
249 * **Added telemetry to dmadev library.**
251 Added telemetry callback functions which allow for a list of DMA devices,
252 statistics and other DMA device information to be queried.
254 * **Added scalar version of the LPM library.**
256 Added scalar implementation of ``rte_lpm_lookupx4``.
257 This is a fall-back implementation for platforms that
258 don't support vector operations.
260 * **Merged l3fwd-acl into l3fwd example.**
262 Merged l3fwd-acl code into l3fwd as l3fwd-acl contains duplicate
263 and common functions to l3fwd.
265 * **Renamed L2 payload RSS type in testpmd.**
267 Renamed RSS type ``ether`` to ``l2-payload`` for ``port config all rss``
274 .. This section should contain removed items in this release. Sample format:
276 * Add a short 1-2 sentence description of the removed item
279 This section is a comment. Do not overwrite or remove it.
280 Also, make sure to start the actual text at the margin.
281 =======================================================
287 .. This section should contain API changes. Sample format:
289 * sample: Add a short 1-2 sentence description of the API change
290 which was announced in the previous releases and made in this release.
291 Start with a scope label like "ethdev:".
292 Use fixed width quotes for ``function_names`` or ``struct_names``.
295 This section is a comment. Do not overwrite or remove it.
296 Also, make sure to start the actual text at the margin.
297 =======================================================
299 * The DPDK header file ``rte_altivec.h``,
300 which is a wrapper for the PPC header file ``altivec.h``,
301 undefines the AltiVec keyword ``vector``.
302 The alternative keyword ``__vector`` should be used instead.
304 * Experimental structures ``struct rte_mtr_params``
305 and ``struct rte_mtr_capabilities`` updated to support
306 protocol based input color for meter.
312 .. This section should contain ABI changes. Sample format:
314 * sample: Add a short 1-2 sentence description of the ABI change
315 which was announced in the previous releases and made in this release.
316 Start with a scope label like "ethdev:".
317 Use fixed width quotes for ``function_names`` or ``struct_names``.
320 This section is a comment. Do not overwrite or remove it.
321 Also, make sure to start the actual text at the margin.
322 =======================================================
324 * No ABI change that would break compatibility with 21.11.
330 .. This section should contain new known issues in this release. Sample format:
332 * **Add title in present tense with full stop.**
334 Add a short 1-2 sentence description of the known issue
335 in the present tense. Add information on any known workarounds.
337 This section is a comment. Do not overwrite or remove it.
338 Also, make sure to start the actual text at the margin.
339 =======================================================
345 .. This section should contain a list of platforms that were tested
350 * <vendor> platform with <vendor> <type of devices> combinations
355 * Other relevant details...
357 This section is a comment. Do not overwrite or remove it.
358 Also, make sure to start the actual text at the margin.
359 =======================================================
361 * Intel\ |reg| platforms with Intel\ |reg| NICs combinations
365 * Intel\ |reg| Atom\ |trade| CPU C3758 @ 2.20GHz
366 * Intel\ |reg| Xeon\ |reg| CPU D-1553N @ 2.30GHz
367 * Intel\ |reg| Xeon\ |reg| CPU E5-2680 v2 @ 2.80GHz
368 * Intel\ |reg| Xeon\ |reg| CPU E5-2699 v3 @ 2.30GHz
369 * Intel\ |reg| Xeon\ |reg| CPU E5-2699 v4 @ 2.20GHz
370 * Intel\ |reg| Xeon\ |reg| Gold 6139 CPU @ 2.30GHz
371 * Intel\ |reg| Xeon\ |reg| Gold 6140M CPU @ 2.30GHz
372 * Intel\ |reg| Xeon\ |reg| Gold 6252N CPU @ 2.30GHz
373 * Intel\ |reg| Xeon\ |reg| Gold 6348 CPU @ 2.60GHz
374 * Intel\ |reg| Xeon\ |reg| Platinum 8180 CPU @ 2.50GHz
375 * Intel\ |reg| Xeon\ |reg| Platinum 8180M CPU @ 2.50GHz
376 * Intel\ |reg| Xeon\ |reg| Platinum 8280M CPU @ 2.70GHz
377 * Intel\ |reg| Xeon\ |reg| Platinum 8380 CPU @ 2.30GHz
383 * Red Hat Enterprise Linux Server release 8.4
384 * Red Hat Enterprise Linux Server release 8.5
391 * Intel\ |reg| Ethernet Controller E810-C for SFP (4x25G)
393 * Firmware version: 4.00 0x80011845 1.3236.0
394 * Device id (pf/vf): 8086:1593 / 8086:1889
395 * Driver version: 1.9.5_dirty (ice)
396 * OS Default DDP: 1.3.30.0
397 * COMMS DDP: 1.3.37.0
398 * Wireless Edge DDP: 1.3.10.0
400 * Intel\ |reg| Ethernet Controller E810-C for QSFP (2x100G)
402 * Firmware version: 4.00 0x800117e8 1.3236.0
403 * Device id (pf/vf): 8086:1592 / 8086:1889
404 * Driver version: 1.9.5_dirty (ice)
405 * OS Default DDP: 1.3.30.0
406 * COMMS DDP: 1.3.37.0
407 * Wireless Edge DDP: 1.3.10.0
409 * Intel\ |reg| Ethernet Controller E810-XXV for SFP (2x25G)
411 * Firmware version: 4.00 0x800117e5 1.3236.0
412 * Device id (pf/vf): 8086:159b / 8086:1889
413 * Driver version: 1.9.5_dirty (ice)
414 * OS Default DDP: 1.3.30.0
415 * COMMS DDP: 1.3.37.0
417 * Intel\ |reg| 82599ES 10 Gigabit Ethernet Controller
419 * Firmware version: 0x61bf0001
420 * Device id (pf/vf): 8086:10fb / 8086:10ed
421 * Driver version(out-tree): 5.15.2 (ixgbe)
422 * Driver version(in-tree): 5.15.0-27-generic (ixgbe)
424 * Intel\ |reg| Ethernet Converged Network Adapter X710-DA4 (4x10G)
426 * Firmware version: 8.70 0x8000c3d5 1.3179.0
427 * Device id (pf/vf): 8086:1572 / 8086:154c
428 * Driver version(out-tree): 2.19.3 (i40e)
429 * Driver version(in-tree): 5.15.0-27-generic (i40e)
431 * Intel\ |reg| Corporation Ethernet Connection X722 for 10GbE SFP+ (2x10G)
433 * Firmware version: 5.60 0x800035cb 1.3179.0
434 * Device id (pf/vf): 8086:37d0 / 8086:37cd
435 * Driver version(out-tree): 2.19.3 (i40e)
436 * Driver version(in-tree): 5.13.0-30-generic (i40e)
438 * Intel\ |reg| Corporation Ethernet Connection X722 for 10GBASE-T
440 * Firmware version: 5.60 0x8000357f 1.2935.0
441 * Device id (pf/vf): 8086:37d2 / 8086:37cd
442 * Driver version(out-tree): 2.19.3 (i40e)
443 * Driver version(in-tree): 5.13.0-30-generic (i40e)
445 * Intel\ |reg| Ethernet Converged Network Adapter XXV710-DA2 (2x25G)
447 * Firmware version: 8.70 0x8000c3eb 1.3179.0
448 * Device id (pf/vf): 8086:158b / 8086:154c
449 * Driver version(out-tree): 2.19.3 (i40e)
450 * Driver version(in-tree): 5.15.0-27-generic (i40e)
452 * Intel\ |reg| Ethernet Converged Network Adapter XL710-QDA2 (2X40G)
454 * Firmware version(PF): 8.70 0x8000c40f 1.3179.0
455 * Device id (pf/vf): 8086:1583 / 8086:154c
456 * Driver version(out-tree): 2.19.3 (i40e)
457 * Driver version(in-tree): 5.15.0-27-generic (i40e)
459 * Intel\ |reg| Ethernet Converged Network Adapter X710-T2L
461 * Firmware version: 8.70 0x8000c3e3 1.3179.0
462 * Device id (pf): 8086:15ff
463 * Driver version: 2.19.3 (i40e)
465 * Intel\ |reg| platforms with NVIDIA \ |reg| NICs combinations
469 * Intel\ |reg| Xeon\ |reg| Gold 6154 CPU @ 3.00GHz
470 * Intel\ |reg| Xeon\ |reg| CPU E5-2697A v4 @ 2.60GHz
471 * Intel\ |reg| Xeon\ |reg| CPU E5-2697 v3 @ 2.60GHz
472 * Intel\ |reg| Xeon\ |reg| CPU E5-2680 v2 @ 2.80GHz
473 * Intel\ |reg| Xeon\ |reg| CPU E5-2670 0 @ 2.60GHz
474 * Intel\ |reg| Xeon\ |reg| CPU E5-2650 v4 @ 2.20GHz
475 * Intel\ |reg| Xeon\ |reg| CPU E5-2650 v3 @ 2.30GHz
476 * Intel\ |reg| Xeon\ |reg| CPU E5-2640 @ 2.50GHz
477 * Intel\ |reg| Xeon\ |reg| CPU E5-2650 0 @ 2.00GHz
478 * Intel\ |reg| Xeon\ |reg| CPU E5-2620 v4 @ 2.10GHz
482 * Red Hat Enterprise Linux release 8.2 (Ootpa)
483 * Red Hat Enterprise Linux Server release 7.8 (Maipo)
484 * Red Hat Enterprise Linux Server release 7.6 (Maipo)
485 * Red Hat Enterprise Linux Server release 7.5 (Maipo)
486 * Red Hat Enterprise Linux Server release 7.4 (Maipo)
487 * Red Hat Enterprise Linux Server release 7.3 (Maipo)
488 * Red Hat Enterprise Linux Server release 7.2 (Maipo)
492 * SUSE Enterprise Linux 15 SP2
493 * SUSE Enterprise Linux 12 SP4
497 * MLNX_OFED 5.6-2.0.9.0 and above
498 * MLNX_OFED 5.5-1.0.3.2
502 * Linux 5.18.0 and above
506 * rdma-core-40.0 and above
510 * NVIDIA\ |reg| ConnectX\ |reg|-3 Pro 40G MCX354A-FCC_Ax (2x40G)
512 * Host interface: PCI Express 3.0 x8
513 * Device ID: 15b3:1007
514 * Firmware version: 2.42.5000
516 * NVIDIA\ |reg| ConnectX\ |reg|-3 Pro 40G MCX354A-FCCT (2x40G)
518 * Host interface: PCI Express 3.0 x8
519 * Device ID: 15b3:1007
520 * Firmware version: 2.42.5000
522 * NVIDIA\ |reg| ConnectX\ |reg|-4 Lx 25G MCX4121A-ACAT (2x25G)
524 * Host interface: PCI Express 3.0 x8
525 * Device ID: 15b3:1015
526 * Firmware version: 14.33.1048 and above
528 * NVIDIA\ |reg| ConnectX\ |reg|-4 Lx 50G MCX4131A-GCAT (1x50G)
530 * Host interface: PCI Express 3.0 x8
531 * Device ID: 15b3:1015
532 * Firmware version: 14.33.1048 and above
534 * NVIDIA\ |reg| ConnectX\ |reg|-5 100G MCX516A-CCAT (2x100G)
536 * Host interface: PCI Express 3.0 x16
537 * Device ID: 15b3:1017
538 * Firmware version: 16.33.1048 and above
540 * NVIDIA\ |reg| ConnectX\ |reg|-5 100G MCX556A-ECAT (2x100G)
542 * Host interface: PCI Express 3.0 x16
543 * Device ID: 15b3:1017
544 * Firmware version: 16.33.1048 and above
546 * NVIDIA\ |reg| ConnectX\ |reg|-5 100G MCX556A-EDAT (2x100G)
548 * Host interface: PCI Express 3.0 x16
549 * Device ID: 15b3:1017
550 * Firmware version: 16.33.1048 and above
552 * NVIDIA\ |reg| ConnectX\ |reg|-5 Ex EN 100G MCX516A-CDAT (2x100G)
554 * Host interface: PCI Express 4.0 x16
555 * Device ID: 15b3:1019
556 * Firmware version: 16.33.1048 and above
558 * NVIDIA\ |reg| ConnectX\ |reg|-6 Dx EN 100G MCX623106AN-CDAT (2x100G)
560 * Host interface: PCI Express 4.0 x16
561 * Device ID: 15b3:101d
562 * Firmware version: 22.33.1048 and above
564 * NVIDIA\ |reg| ConnectX\ |reg|-6 Lx EN 25G MCX631102AN-ADAT (2x25G)
566 * Host interface: PCI Express 4.0 x8
567 * Device ID: 15b3:101f
568 * Firmware version: 26.33.1048 and above
570 * NVIDIA\ |reg| ConnectX\ |reg| 7 200G CX713106AE-HEA_QP1_Ax (2x200G)
572 * Host interface: PCI Express 5.0 x16
573 * Device ID: 15b3:1021
574 * Firmware version: 28.33.2028 and above
576 * NVIDIA \ |reg| BlueField\ |reg| SmartNIC
578 * NVIDIA\ |reg| BlueField\ |reg| 2 SmartNIC MT41686 - MBF2H332A-AEEOT_A1 (2x25G)
580 * Host interface: PCI Express 3.0 x16
581 * Device ID: 15b3:a2d6
582 * Firmware version: 24.33.1048 and above
587 * MLNX_OFED 5.6-2.0.9.0 and above
588 * DPDK application running on Arm cores
590 * IBM Power 9 platforms with NVIDIA\ |reg| NICs combinations
594 * POWER9 2.2 (pvr 004e 1202)
598 * Red Hat Enterprise Linux Server release 8.2
602 * NVIDIA\ |reg| ConnectX\ |reg|-5 100G MCX556A-ECAT (2x100G)
604 * Host interface: PCI Express 4.0 x16
605 * Device ID: 15b3:1017
606 * Firmware version: 16.33.1048
608 * NVIDIA\ |reg| ConnectX\ |reg|-6 Dx 100G MCX623106AN-CDAT (2x100G)
610 * Host interface: PCI Express 4.0 x16
611 * Device ID: 15b3:101d
612 * Firmware version: 22.33.1048
616 * MLNX_OFED 5.6-2.0.9.0