doc: add tested Intel platforms with Intel NICs
[dpdk.git] / doc / guides / rel_notes / release_22_07.rst
1 .. SPDX-License-Identifier: BSD-3-Clause
2    Copyright 2022 The DPDK contributors
3
4 .. include:: <isonum.txt>
5
6 DPDK Release 22.07
7 ==================
8
9 .. **Read this first.**
10
11    The text in the sections below explains how to update the release notes.
12
13    Use proper spelling, capitalization and punctuation in all sections.
14
15    Variable and config names should be quoted as fixed width text:
16    ``LIKE_THIS``.
17
18    Build the docs and view the output file to ensure the changes are correct::
19
20       ninja -C build doc
21       xdg-open build/doc/guides/html/rel_notes/release_22_07.html
22
23
24 New Features
25 ------------
26
27 .. This section should contain new features added in this release.
28    Sample format:
29
30    * **Add a title in the past tense with a full stop.**
31
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.
35
36      If the feature adds a lot of sub-features you can use a bullet list
37      like this:
38
39      * Added feature foo to do something.
40      * Enhanced feature bar to do something else.
41
42      Refer to the previous release notes for examples.
43
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)
47        - ethdev (lib, PMDs)
48        - cryptodev (lib, PMDs)
49        - eventdev (lib, PMDs)
50        - etc
51      * Other libs
52      * Apps, Examples, Tools (if significant)
53
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      =======================================================
57
58 * **Added initial RISC-V architecture support.***
59
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).
66
67 * **Added Sequence Lock.**
68
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.
72
73 * ** Added function get random floating point number.**
74
75   Added the function ``rte_drand()`` to provide a pseudo-random
76   floating point number.
77
78 * **Added protocol based input color selection for meter.**
79
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.
86
87 * **Added Rx queue available descriptors threshold and event.**
88
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.
92
93 * **Added telemetry for module EEPROM.**
94
95   Added telemetry command to dump module EEPROM.
96   Added support for module EEPROM information format defined in:
97
98     * SFF-8079 revision 1.7
99     * SFF-8472 revision 12.0
100     * SFF-8636 revision 2.7
101
102 * **Added vhost API to get the number of in-flight packets.**
103
104   Added an API which can get the number of in-flight packets in
105   vhost async data path without using lock.
106
107 * **Added vhost async dequeue API to receive packets from guest.**
108
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.
112
113 * **Added thread-safe version of in-flight packet clear API in vhost library.**
114
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.
117
118 * **Added vhost API to get the device type of a vDPA device.**
119
120   Added an API which can get the device type of vDPA device.
121
122 * **Updated NVIDIA mlx5 vDPA driver.**
123
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.
128
129 * **Updated Amazon ena driver.**
130
131   The new driver version (v2.7.0) includes:
132
133   * Added fast mbuf free feature support.
134   * Added ``enable_llq`` device argument for controlling the PMD LLQ
135     (Low Latency Queue) mode.
136
137 * **Updated Atomic Rules' Arkville PMD.**
138
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.
142
143 * **Updated HiSilicon hns3 driver.**
144
145   * Added support for backplane media type.
146
147 * **Updated Intel iavf driver.**
148
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.
153
154 * **Updated Intel ice driver.**
155
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.
165
166 * **Updated Intel igc driver.**
167
168   Added Intel Foxville I226 devices in ``igc`` driver.
169   See the doc:`../nics/igc` NIC guide for more details.
170
171 * **Updated Mellanox mlx5 driver.**
172
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.
180
181 * **Updated Netronome nfp driver.**
182
183   * Added support for NFP3800 NIC.
184   * Added support for firmware with NFDk.
185
186 * **Updated VMware vmxnet3 networking driver.**
187
188   * Added version 5 support.
189   * Added RETA query and RETA update support.
190   * Added version 6 support with some new features:
191
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).
196
197 * **Updated Wangxun ngbe driver.**
198
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.
203
204 * **Updated Wangxun txgbe driver.**
205
206   * Added support for OEM subsystem vendor ID.
207
208 * **Added Elliptic Curve Diffie-Hellman (ECDH) algorithm in cryptodev.**
209
210   Added support for Elliptic Curve Diffie Hellman (ECDH) asymmetric
211   algorithm in cryptodev.
212
213 * **Updated OpenSSL crypto driver with 3.0 EVP API.**
214
215   Updated OpenSSL driver to support OpenSSL v3.0 EVP API.
216   Backward compatibility with OpenSSL v1.1.1 is also maintained.
217
218 * **Updated Marvell cnxk crypto driver.**
219
220   * Added AH mode support in lookaside protocol (IPsec) for CN9K & CN10K.
221   * Added AES-GMAC support in lookaside protocol (IPsec) for CN9K & CN10K.
222
223 * **Updated Intel QuickAssist Technology (QAT) crypto PMD.**
224
225   * Added support for secp384r1 elliptic curve.
226
227 * **Added Intel ACC101 baseband PMD.**
228
229   Added a new baseband PMD for Intel ACC101 device.
230
231 * **Added eventdev API to quiesce an event port.**
232
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.
236
237 * **Added support for setting queue attributes at runtime in eventdev.**
238
239   Added new API ``rte_event_queue_attr_set()``, to set event queue attributes
240   at runtime.
241
242 * **Added new queues attributes weight and affinity in eventdev.**
243
244   Defined new event queue attributes weight and affinity as below:
245
246   * ``RTE_EVENT_QUEUE_ATTR_WEIGHT``
247   * ``RTE_EVENT_QUEUE_ATTR_AFFINITY``
248
249 * **Added telemetry to dmadev library.**
250
251   Added telemetry callback functions which allow for a list of DMA devices,
252   statistics and other DMA device information to be queried.
253
254 * **Added scalar version of the LPM library.**
255
256   Added scalar implementation of ``rte_lpm_lookupx4``.
257   This is a fall-back implementation for platforms that
258   don't support vector operations.
259
260 * **Merged l3fwd-acl into l3fwd example.**
261
262   Merged l3fwd-acl code into l3fwd as l3fwd-acl contains duplicate
263   and common functions to l3fwd.
264
265 * **Renamed L2 payload RSS type in testpmd.**
266
267   Renamed RSS type ``ether`` to ``l2-payload`` for ``port config all rss``
268   command.
269
270
271 Removed Items
272 -------------
273
274 .. This section should contain removed items in this release. Sample format:
275
276    * Add a short 1-2 sentence description of the removed item
277      in the past tense.
278
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    =======================================================
282
283
284 API Changes
285 -----------
286
287 .. This section should contain API changes. Sample format:
288
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``.
293      Use the past tense.
294
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    =======================================================
298
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.
303
304 * Experimental structures ``struct rte_mtr_params``
305   and ``struct rte_mtr_capabilities`` updated to support
306   protocol based input color for meter.
307
308
309 ABI Changes
310 -----------
311
312 .. This section should contain ABI changes. Sample format:
313
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``.
318      Use the past tense.
319
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    =======================================================
323
324 * No ABI change that would break compatibility with 21.11.
325
326
327 Known Issues
328 ------------
329
330 .. This section should contain new known issues in this release. Sample format:
331
332    * **Add title in present tense with full stop.**
333
334      Add a short 1-2 sentence description of the known issue
335      in the present tense. Add information on any known workarounds.
336
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    =======================================================
340
341
342 Tested Platforms
343 ----------------
344
345 .. This section should contain a list of platforms that were tested
346    with this release.
347
348    The format is:
349
350    * <vendor> platform with <vendor> <type of devices> combinations
351
352      * List of CPU
353      * List of OS
354      * List of devices
355      * Other relevant details...
356
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    =======================================================
360
361 * Intel\ |reg| platforms with Intel\ |reg| NICs combinations
362
363   * CPU
364
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
378
379   * OS:
380
381     * Fedora 35
382     * FreeBSD 13.0
383     * Red Hat Enterprise Linux Server release 8.4
384     * Red Hat Enterprise Linux Server release 8.5
385     * CentOS7.9
386     * Ubuntu 20.04.4
387     * Ubuntu 22.04
388
389   * NICs:
390
391     * Intel\ |reg| Ethernet Controller E810-C for SFP (4x25G)
392
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
399
400     * Intel\ |reg| Ethernet Controller E810-C for QSFP (2x100G)
401
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
408
409     * Intel\ |reg| Ethernet Controller E810-XXV for SFP (2x25G)
410
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
416
417     * Intel\ |reg| 82599ES 10 Gigabit Ethernet Controller
418
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)
423
424     * Intel\ |reg| Ethernet Converged Network Adapter X710-DA4 (4x10G)
425
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)
430
431     * Intel\ |reg| Corporation Ethernet Connection X722 for 10GbE SFP+ (2x10G)
432
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)
437
438     * Intel\ |reg| Corporation Ethernet Connection X722 for 10GBASE-T
439
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)
444
445     * Intel\ |reg| Ethernet Converged Network Adapter XXV710-DA2 (2x25G)
446
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)
451
452     * Intel\ |reg| Ethernet Converged Network Adapter XL710-QDA2 (2X40G)
453
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)
458
459     * Intel\ |reg| Ethernet Converged Network Adapter X710-T2L
460
461       * Firmware version: 8.70 0x8000c3e3 1.3179.0
462       * Device id (pf): 8086:15ff
463       * Driver version: 2.19.3 (i40e)
464
465 * Intel\ |reg| platforms with NVIDIA \ |reg| NICs combinations
466
467   * CPU:
468
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
479
480   * OS:
481
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)
489     * Ubuntu 20.04
490     * Ubuntu 18.04
491     * Ubuntu 16.04
492     * SUSE Enterprise Linux 15 SP2
493     * SUSE Enterprise Linux 12 SP4
494
495   * OFED:
496
497     * MLNX_OFED 5.6-2.0.9.0 and above
498     * MLNX_OFED 5.5-1.0.3.2
499
500   * upstream kernel:
501
502     * Linux 5.18.0 and above
503
504   * rdma-core:
505
506     * rdma-core-40.0 and above
507
508   * NICs:
509
510     * NVIDIA\ |reg| ConnectX\ |reg|-3 Pro 40G MCX354A-FCC_Ax (2x40G)
511
512       * Host interface: PCI Express 3.0 x8
513       * Device ID: 15b3:1007
514       * Firmware version: 2.42.5000
515
516     * NVIDIA\ |reg| ConnectX\ |reg|-3 Pro 40G MCX354A-FCCT (2x40G)
517
518       * Host interface: PCI Express 3.0 x8
519       * Device ID: 15b3:1007
520       * Firmware version: 2.42.5000
521
522     * NVIDIA\ |reg| ConnectX\ |reg|-4 Lx 25G MCX4121A-ACAT (2x25G)
523
524       * Host interface: PCI Express 3.0 x8
525       * Device ID: 15b3:1015
526       * Firmware version: 14.33.1048 and above
527
528     * NVIDIA\ |reg| ConnectX\ |reg|-4 Lx 50G MCX4131A-GCAT (1x50G)
529
530       * Host interface: PCI Express 3.0 x8
531       * Device ID: 15b3:1015
532       * Firmware version: 14.33.1048 and above
533
534     * NVIDIA\ |reg| ConnectX\ |reg|-5 100G MCX516A-CCAT (2x100G)
535
536       * Host interface: PCI Express 3.0 x16
537       * Device ID: 15b3:1017
538       * Firmware version: 16.33.1048 and above
539
540     * NVIDIA\ |reg| ConnectX\ |reg|-5 100G MCX556A-ECAT (2x100G)
541
542       * Host interface: PCI Express 3.0 x16
543       * Device ID: 15b3:1017
544       * Firmware version: 16.33.1048 and above
545
546     * NVIDIA\ |reg| ConnectX\ |reg|-5 100G MCX556A-EDAT (2x100G)
547
548       * Host interface: PCI Express 3.0 x16
549       * Device ID: 15b3:1017
550       * Firmware version: 16.33.1048 and above
551
552     * NVIDIA\ |reg| ConnectX\ |reg|-5 Ex EN 100G MCX516A-CDAT (2x100G)
553
554       * Host interface: PCI Express 4.0 x16
555       * Device ID: 15b3:1019
556       * Firmware version: 16.33.1048 and above
557
558     * NVIDIA\ |reg| ConnectX\ |reg|-6 Dx EN 100G MCX623106AN-CDAT (2x100G)
559
560       * Host interface: PCI Express 4.0 x16
561       * Device ID: 15b3:101d
562       * Firmware version: 22.33.1048 and above
563
564     * NVIDIA\ |reg| ConnectX\ |reg|-6 Lx EN 25G MCX631102AN-ADAT (2x25G)
565
566       * Host interface: PCI Express 4.0 x8
567       * Device ID: 15b3:101f
568       * Firmware version: 26.33.1048 and above
569
570     * NVIDIA\ |reg| ConnectX\ |reg| 7 200G CX713106AE-HEA_QP1_Ax (2x200G)
571
572       * Host interface: PCI Express 5.0 x16
573       * Device ID: 15b3:1021
574       * Firmware version: 28.33.2028 and above
575
576 * NVIDIA \ |reg| BlueField\ |reg| SmartNIC
577
578   * NVIDIA\ |reg| BlueField\ |reg| 2 SmartNIC MT41686 - MBF2H332A-AEEOT_A1 (2x25G)
579
580     * Host interface: PCI Express 3.0 x16
581     * Device ID: 15b3:a2d6
582     * Firmware version: 24.33.1048 and above
583
584   * Embedded software:
585
586     * Ubuntu 20.04.3
587     * MLNX_OFED 5.6-2.0.9.0 and above
588     * DPDK application running on Arm cores
589
590 * IBM Power 9 platforms with NVIDIA\ |reg| NICs combinations
591
592   * CPU:
593
594     * POWER9 2.2 (pvr 004e 1202)
595
596   * OS:
597
598     * Red Hat Enterprise Linux Server release 8.2
599
600   * NICs:
601
602     * NVIDIA\ |reg| ConnectX\ |reg|-5 100G MCX556A-ECAT (2x100G)
603
604       * Host interface: PCI Express 4.0 x16
605       * Device ID: 15b3:1017
606       * Firmware version: 16.33.1048
607
608     * NVIDIA\ |reg| ConnectX\ |reg|-6 Dx 100G MCX623106AN-CDAT (2x100G)
609
610       * Host interface: PCI Express 4.0 x16
611       * Device ID: 15b3:101d
612       * Firmware version: 22.33.1048
613
614   * OFED:
615
616     * MLNX_OFED 5.6-2.0.9.0