xref: /dpdk/doc/guides/rel_notes/release_23_03.rst (revision 65487b12db83c9ef37526a983c43191cd44dae99)
1.. SPDX-License-Identifier: BSD-3-Clause
2   Copyright 2022 The DPDK contributors
3
4.. include:: <isonum.txt>
5
6DPDK Release 23.03
7==================
8
9New Features
10------------
11
12* **Introduced lock annotations.**
13
14  Added lock annotations attributes so that clang can statically analyze lock
15  correctness.
16
17* **Added support for reporting lcore usage in applications.**
18
19  * The ``/eal/lcore/list``, ``/eal/lcore/usage`` and ``/eal/lcore/info``
20    telemetry endpoints have been added to provide information similar to
21    ``rte_lcore_dump()``.
22  * Applications can register a callback at startup via
23    ``rte_lcore_register_usage_cb()`` to provide lcore usage information.
24
25* **Added platform bus support.**
26
27  A platform bus provides a way to use Linux platform devices which
28  are compatible with the vfio-platform kernel driver.
29
30* **Added ARM support for power monitor in the power management library.**
31
32  Added power monitor and wake up API support
33  with WFE/SVE instructions for Arm architecture.
34
35* **Added Ethernet link speed for 400 Gb/s.**
36
37  Added Ethernet link speed for 400 Gb/s since there are some devices already
38  supporting that speed and it is well standardized in IEEE.
39
40* **Added support for mapping a queue with an aggregated port.**
41
42  * Introduced new function ``rte_eth_dev_count_aggr_ports()``
43    to get the number of aggregated ports.
44  * Introduced new function ``rte_eth_dev_map_aggr_tx_affinity()``
45    to map a Tx queue with an aggregated port of the DPDK port.
46  * Added Rx affinity flow matching of an aggregated port.
47
48
49* **Added flow matching of IPv6 routing extension.**
50
51  Added ``RTE_FLOW_ITEM_TYPE_IPV6_ROUTING_EXT``
52  to match IPv6 routing extension header fields.
53
54* **Added flow matching of ICMPv6.**
55
56  Added flow items to match ICMPv6 echo request and reply packets.
57  Matching patterns can include ICMP identifier and sequence numbers.
58
59* **Added flow flex handle to modify action.**
60
61  Added flex modify item ``RTE_FLOW_FIELD_FLEX_ITEM``.
62
63* **Added index-based rules insertion in flow API.**
64
65  * Added ``rte_flow_table_insertion_type`` to allow the creation
66    of index-based template tables in addition to pattern-based tables.
67  * Introduced new function ``rte_flow_async_create_by_index()``
68    to insert rules by index into index-based template tables.
69  * Added hash calculation function used in template tables
70    to allow control over the calculation of the rule index for a packet.
71
72* **Added cross-port indirect action in asynchronous flow API.**
73
74  * Enabled the ability to share indirect actions between ports by passing
75    the flag ``RTE_FLOW_PORT_FLAG_SHARE_INDIRECT`` to ``rte_flow_configure()``.
76  * Added ``host_port_id`` in ``rte_flow_port_attr`` structure
77    to reference the port hosting the shared objects.
78
79* **Added atomic query and update indirect flow action.**
80
81  Added synchronous and asynchronous functions to atomically query and update
82  indirect flow action:
83
84  * ``rte_flow_action_handle_query_update()``
85  * ``rte_flow_async_action_handle_query_update()``
86
87* **Added flow quota action and item.**
88
89  * ``RTE_FLOW_ACTION_TYPE_QUOTA``
90  * ``RTE_FLOW_ITEM_TYPE_QUOTA``
91
92* **Added flow API to skip congestion management configuration.**
93
94  * Added the action ``RTE_FLOW_ACTION_TYPE_SKIP_CMAN`` to skip
95    congestion management processing
96    based on per flow or packet color identified by a flow meter object.
97
98* **Updated AMD axgbe driver.**
99
100  * Added multi-process support.
101
102* **Updated Atomic Rules ark driver.**
103
104  * Added Arkville FX2 device supporting PCIe Gen5x16.
105
106* **Updated Corigine nfp driver.**
107
108  * Added support for meter options.
109  * Added support for rte_flow meter action.
110
111* **Added Intel cpfl driver.**
112
113  Added the new cpfl net driver
114  for Intel\ |reg| Infrastructure Processing Unit (Intel\ |reg| IPU) E2100.
115  See the :doc:`../nics/cpfl` NIC guide for more details on this new driver.
116
117* **Updated Intel igc driver.**
118
119  * Added support for timesync API.
120  * Added support for packet pacing (launch time offloading).
121
122* **Updated Marvell cnxk ethdev driver.**
123
124  * Added support to skip RED using ``RTE_FLOW_ACTION_TYPE_SKIP_CMAN``.
125
126* **Updated NVIDIA mlx5 driver.**
127
128  * Added support for matching on ICMPv6 ID and sequence fields.
129  * Added support for MPLSoUDP in hardware steering.
130  * Added support for enhanced CQE compression layout.
131
132* **Updated Wangxun ngbe driver.**
133
134  * Added chip overheat detection support.
135
136* **Updated Wangxun txgbe driver.**
137
138  * Added chip overheat detection support.
139  * Added SFP hot-plug identification support.
140
141* **Added new algorithms to cryptodev.**
142
143  Added SHAKE-128 and SHAKE-256 symmetric secure hash algorithm.
144
145* **Updated Marvell cnxk crypto driver.**
146
147  Added support for SHAKE hash algorithm in cn9k and cn10k.
148
149* **Updated Intel QuickAssist Technology (QAT) crypto driver.**
150
151  * Added support for SHA3 224/256/384/512 plain hash in QAT GEN 3.
152  * Added support for SHA3 256 plain hash in QAT GEN 2.
153  * Added support for asymmetric crypto in QAT GEN3.
154
155* **Added LZ4 algorithm in compressdev library.**
156
157  Added LZ4 compression algorithm with xxHash-32 for the checksum.
158
159* **Updated NVIDIA mlx5 compress driver.**
160
161  Added LZ4 algorithm support for decompress operation.
162
163* **Added machine learning inference device library.**
164
165  * Added a machine learning inference device framework for management
166    and provision of hardware and software machine learning inference devices.
167  * Added a test application for machine learning inference device library.
168
169* **Added Marvell CNXK machine learning driver.**
170
171  Added driver which supports machine learning inference operations
172  on Marvell's CN10K series of SoC's.
173
174* **Updated the eventdev reconfigure logic for service based adapters.**
175
176  * The eventdev reconfigure logic was enhanced to increment the
177    ``rte_event_dev_config::nb_single_link_event_port_queues`` parameter
178    if event port config is of type ``RTE_EVENT_PORT_CFG_SINGLE_LINK``.
179  * With this change, the application no longer needs to account for the
180    ``rte_event_dev_config::nb_single_link_event_port_queues`` parameter
181    required for eth_rx, eth_tx, crypto and timer eventdev adapters.
182
183* **Added PCAP trace support in graph library.**
184
185  * Added support to capture packets at each graph node with packet metadata and
186    node name.
187
188
189Removed Items
190-------------
191
192* Removed the experimental empty poll API from the power management library.
193
194  The empty poll mechanism is superseded by the power PMD modes
195  i.e. monitor, pause and scale.
196
197
198API Changes
199-----------
200
201* The telemetry command ``/eal/heap_info`` is fixed to print ``Heap_id``.
202
203* The experimental function ``rte_pcapng_copy`` was updated to support a comment
204  section in enhanced packet block in the PcapNG library.
205
206* The experimental structures ``struct rte_graph_param``, ``struct rte_graph``
207  and ``struct graph`` were updated to support pcap trace in the graph library.
208
209
210ABI Changes
211-----------
212
213* No ABI change that would break compatibility with 22.11.
214
215
216Tested Platforms
217----------------
218
219* Intel\ |reg| platforms with Intel\ |reg| NICs combinations
220
221  * CPU
222
223    * Intel\ |reg| Atom\ |trade| CPU C3758 @ 2.20GHz
224    * Intel\ |reg| Xeon\ |reg| CPU D-1553N @ 2.30GHz
225    * Intel\ |reg| Xeon\ |reg| CPU E5-2680 v2 @ 2.80GHz
226    * Intel\ |reg| Xeon\ |reg| CPU E5-2699 v4 @ 2.20GHz
227    * Intel\ |reg| Xeon\ |reg| D-1749NT CPU @ 3.00GHz
228    * Intel\ |reg| Xeon\ |reg| D-2796NT CPU @ 2.00GHz
229    * Intel\ |reg| Xeon\ |reg| Gold 6139 CPU @ 2.30GHz
230    * Intel\ |reg| Xeon\ |reg| Gold 6140M CPU @ 2.30GHz
231    * Intel\ |reg| Xeon\ |reg| Gold 6252N CPU @ 2.30GHz
232    * Intel\ |reg| Xeon\ |reg| Gold 6348 CPU @ 2.60GHz
233    * Intel\ |reg| Xeon\ |reg| Platinum 8180 CPU @ 2.50GHz
234    * Intel\ |reg| Xeon\ |reg| Platinum 8280M CPU @ 2.70GHz
235    * Intel\ |reg| Xeon\ |reg| Platinum 8380 CPU @ 2.30GHz
236
237  * OS:
238
239    * CentOS 7.9
240    * CBL Mariner 2.0
241    * Fedora 37
242    * FreeBSD 13.1
243    * openEuler 22.03 (LTS-SP1)
244    * Red Hat Enterprise Linux Server release 8.4
245    * Red Hat Enterprise Linux Server release 8.6
246    * Red Hat Enterprise Linux Server release 9.1
247    * SUSE Linux Enterprise Server 15 SP4
248    * Ubuntu 20.04.5
249    * Ubuntu 22.04.1
250
251  * NICs:
252
253    * Intel\ |reg| Ethernet Controller E810-C for SFP (4x25G)
254
255      * Firmware version: 4.20 0x800177d1 1.3346.0
256      * Device id (pf/vf): 8086:1593 / 8086:1889
257      * Driver version(out-tree): 1.11.14 (ice)
258      * Driver version(in-tree): 5.15.0-57-generic / 4.18.0-372.9.1.rt7.166.el8.x86_64 (ice)
259      * OS Default DDP: 1.3.30.0
260      * COMMS DDP: 1.3.40.0
261      * Wireless Edge DDP: 1.3.10.0
262
263    * Intel\ |reg| Ethernet Controller E810-C for QSFP (2x100G)
264
265      * Firmware version: 4.20 0x80017785 1.3346.0
266      * Device id (pf/vf): 8086:1592 / 8086:1889
267      * Driver version(out-tree): 1.11.14 (ice)
268      * Driver version(in-tree): 5.15.86-rt56 / 5.15.55.1-1.cm_7dc1fb4+ (ice)
269      * OS Default DDP: 1.3.30.0
270      * COMMS DDP: 1.3.40.0
271      * Wireless Edge DDP: 1.3.10.0
272
273    * Intel\ |reg| Ethernet Controller E810-XXV for SFP (2x25G)
274
275      * Firmware version: 4.20 0x8001778c 1.3346.0
276      * Device id (pf/vf): 8086:159b / 8086:1889
277      * Driver version: 1.11.14 (ice)
278      * OS Default DDP: 1.3.30.0
279      * COMMS DDP: 1.3.40.0
280
281    * Intel\ |reg| Corporation Device 188b
282
283      * Firmware version: 3.12 0x80017ca8 1.3243.0
284      * Device id (pf/vf): 8086:188b / 8086:1889
285      * Driver version: 1.11.14 (ice)
286      * OS Default DDP: 1.3.30.0
287      * COMMS DDP: 1.3.40.0
288      * Wireless Edge DDP: 1.3.10.0
289
290    * Intel\ |reg| Ethernet Connection E823-L for QSFP
291
292      * Firmware version: 3.12 0x80017cf4 1.3243.0
293      * Device id (pf/vf): 8086:151d / 8086:1889
294      * Driver version: 1.11.14 (ice)
295      * OS Default DDP: 1.3.30.0
296      * COMMS DDP: 1.3.40.0
297      * Wireless Edge DDP: 1.3.10.0
298
299    * Intel\ |reg| 82599ES 10 Gigabit Ethernet Controller
300
301      * Firmware version: 0x61bf0001
302      * Device id (pf/vf): 8086:10fb / 8086:10ed
303      * Driver version(out-tree): 5.18.11 (ixgbe)
304      * Driver version(in-tree): 5.15.0-57-generic (ixgbe)
305
306    * Intel\ |reg| Ethernet Converged Network Adapter X710-DA4 (4x10G)
307
308      * Firmware version: 9.20 0x8000d8bd 1.3353.0
309      * Device id (pf/vf): 8086:1572 / 8086:154c
310      * Driver version(out-tree): 2.22.18 (i40e)
311      * Driver version(in-tree): 5.15.0-57-generic (i40e)
312
313    * Intel\ |reg| Corporation Ethernet Connection X722 for 10GbE SFP+ (2x10G)
314
315      * Firmware version: 6.20 0x80003d82 1.3353.0
316      * Device id (pf/vf): 8086:37d0 / 8086:37cd
317      * Driver version(out-tree): 2.22.18 (i40e)
318      * Driver version(in-tree): 5.15.0-57-generic (i40e)
319
320    * Intel\ |reg| Corporation Ethernet Connection X722 for 10GBASE-T
321
322      * Firmware version: 6.20 0x80003d3e 1.2935.0
323      * Device id (pf/vf): 8086:37d2 / 8086:37cd
324      * Driver version(out-tree): 2.22.18 (i40e)
325      * Driver version(in-tree): 5.15.0-57-generic (i40e)
326
327    * Intel\ |reg| Ethernet Converged Network Adapter XXV710-DA2 (2x25G)
328
329      * Firmware version: 9.20 0x8000d89c 1.3353.0
330      * Device id (pf/vf): 8086:158b / 8086:154c
331      * Driver version(out-tree): 2.22.18 (i40e)
332      * Driver version(in-tree): 5.15.0-57-generic (i40e)
333
334    * Intel\ |reg| Ethernet Converged Network Adapter XL710-QDA2 (2X40G)
335
336      * Firmware version(PF): 9.20 0x8000d893 1.3353.0
337      * Device id (pf/vf): 8086:1583 / 8086:154c
338      * Driver version(out-tree): 2.22.18 (i40e)
339      * Driver version(in-tree): 5.15.0-57-generic (i40e)
340
341    * Intel\ |reg| Ethernet Converged Network Adapter X710-T2L
342
343      * Firmware version: 9.20 0x8000d877 1.3353.0
344      * Device id (pf): 8086:15ff
345      * Driver version: 2.22.18 (i40e)
346
347* Intel\ |reg| platforms with NVIDIA\ |reg| NICs combinations
348
349  * CPU:
350
351    * Intel\ |reg| Xeon\ |reg| Gold 6154 CPU @ 3.00GHz
352    * Intel\ |reg| Xeon\ |reg| CPU E5-2697A v4 @ 2.60GHz
353    * Intel\ |reg| Xeon\ |reg| CPU E5-2697 v3 @ 2.60GHz
354    * Intel\ |reg| Xeon\ |reg| CPU E5-2680 v2 @ 2.80GHz
355    * Intel\ |reg| Xeon\ |reg| CPU E5-2670 0 @ 2.60GHz
356    * Intel\ |reg| Xeon\ |reg| CPU E5-2650 v4 @ 2.20GHz
357    * Intel\ |reg| Xeon\ |reg| CPU E5-2650 v3 @ 2.30GHz
358    * Intel\ |reg| Xeon\ |reg| CPU E5-2640 @ 2.50GHz
359    * Intel\ |reg| Xeon\ |reg| CPU E5-2650 0 @ 2.00GHz
360    * Intel\ |reg| Xeon\ |reg| CPU E5-2620 v4 @ 2.10GHz
361
362  * OS:
363
364    * Red Hat Enterprise Linux release 9.1 (Plow)
365    * Red Hat Enterprise Linux release 8.6 (Ootpa)
366    * Red Hat Enterprise Linux release 8.4 (Ootpa)
367    * Red Hat Enterprise Linux Server release 7.9 (Maipo)
368    * Red Hat Enterprise Linux Server release 7.6 (Maipo)
369    * Ubuntu 22.04
370    * Ubuntu 20.04
371    * SUSE Enterprise Linux 15 SP2
372
373  * OFED:
374
375    * MLNX_OFED 5.9-0.5.6.0 and above
376
377  * upstream kernel:
378
379    * Linux 6.3.0-rc3 and above
380
381  * rdma-core:
382
383    * rdma-core-45.0 and above
384
385  * NICs:
386
387    * NVIDIA\ |reg| ConnectX\ |reg|-3 Pro 40G MCX354A-FCC_Ax (2x40G)
388
389      * Host interface: PCI Express 3.0 x8
390      * Device ID: 15b3:1007
391      * Firmware version: 2.42.5000
392
393    * NVIDIA\ |reg| ConnectX\ |reg|-3 Pro 40G MCX354A-FCCT (2x40G)
394
395      * Host interface: PCI Express 3.0 x8
396      * Device ID: 15b3:1007
397      * Firmware version: 2.42.5000
398
399    * NVIDIA\ |reg| ConnectX\ |reg|-4 Lx 25G MCX4121A-ACAT (2x25G)
400
401      * Host interface: PCI Express 3.0 x8
402      * Device ID: 15b3:1015
403      * Firmware version: 14.32.1010 and above
404
405    * NVIDIA\ |reg| ConnectX\ |reg|-4 Lx 50G MCX4131A-GCAT (1x50G)
406
407      * Host interface: PCI Express 3.0 x8
408      * Device ID: 15b3:1015
409      * Firmware version: 14.32.1010 and above
410
411    * NVIDIA\ |reg| ConnectX\ |reg|-5 100G MCX516A-CCAT (2x100G)
412
413      * Host interface: PCI Express 3.0 x16
414      * Device ID: 15b3:1017
415      * Firmware version: 16.36.1010 and above
416
417    * NVIDIA\ |reg| ConnectX\ |reg|-5 100G MCX556A-ECAT (2x100G)
418
419      * Host interface: PCI Express 3.0 x16
420      * Device ID: 15b3:1017
421      * Firmware version: 16.36.1010 and above
422
423    * NVIDIA\ |reg| ConnectX\ |reg|-5 100G MCX556A-EDAT (2x100G)
424
425      * Host interface: PCI Express 3.0 x16
426      * Device ID: 15b3:1017
427      * Firmware version: 16.36.1010 and above
428
429    * NVIDIA\ |reg| ConnectX\ |reg|-5 Ex EN 100G MCX516A-CDAT (2x100G)
430
431      * Host interface: PCI Express 4.0 x16
432      * Device ID: 15b3:1019
433      * Firmware version: 16.36.1010 and above
434
435    * NVIDIA\ |reg| ConnectX\ |reg|-6 Dx EN 100G MCX623106AN-CDAT (2x100G)
436
437      * Host interface: PCI Express 4.0 x16
438      * Device ID: 15b3:101d
439      * Firmware version: 22.36.1010 and above
440
441    * NVIDIA\ |reg| ConnectX\ |reg|-6 Lx EN 25G MCX631102AN-ADAT (2x25G)
442
443      * Host interface: PCI Express 4.0 x8
444      * Device ID: 15b3:101f
445      * Firmware version: 26.36.1010 and above
446
447    * NVIDIA\ |reg| ConnectX\ |reg|-7 200G CX713106AE-HEA_QP1_Ax (2x200G)
448
449      * Host interface: PCI Express 5.0 x16
450      * Device ID: 15b3:1021
451      * Firmware version: 28.36.1010 and above
452
453* NVIDIA\ |reg| BlueField\ |reg| SmartNIC
454
455  * NVIDIA\ |reg| BlueField\ |reg|-2 SmartNIC MT41686 - MBF2H332A-AEEOT_A1 (2x25G)
456
457    * Host interface: PCI Express 3.0 x16
458    * Device ID: 15b3:a2d6
459    * Firmware version: 24.35.2000 and above
460
461  * Embedded software:
462
463    * Ubuntu 20.04.3
464    * MLNX_OFED 5.8-1.0.1.1 and above
465    * DOCA 1.5.1 with BlueField 3.9.3
466    * DPDK application running on ARM cores
467
468* IBM Power 9 platforms with NVIDIA\ |reg| NICs combinations
469
470  * CPU:
471
472    * POWER9 2.2 (pvr 004e 1202)
473
474  * OS:
475
476    * Ubuntu 20.04
477
478  * NICs:
479
480    * NVIDIA\ |reg| ConnectX\ |reg|-5 100G MCX556A-ECAT (2x100G)
481
482      * Host interface: PCI Express 4.0 x16
483      * Device ID: 15b3:1017
484      * Firmware version: 16.36.1010
485
486    * NVIDIA\ |reg| ConnectX\ |reg|-6 Dx 100G MCX623106AN-CDAT (2x100G)
487
488      * Host interface: PCI Express 4.0 x16
489      * Device ID: 15b3:101d
490      * Firmware version: 22.36.1010
491
492  * OFED:
493
494    * MLNX_OFED 5.9-0.5.6.0
495