xref: /dpdk/doc/guides/rel_notes/release_24_07.rst (revision b3485f4293997d35b6daecc3437bb0c183a51fb3)
1.. SPDX-License-Identifier: BSD-3-Clause
2   Copyright 2024 The DPDK contributors
3
4.. include:: <isonum.txt>
5
6DPDK Release 24.07
7==================
8
9New Features
10------------
11
12* **Introduced pointer compression library.**
13
14  Library provides functions to compress and decompress arrays of pointers
15  which can improve application performance under certain conditions.
16  Performance test was added to help users evaluate performance on their setup.
17
18* **Added API to retrieve memory locations of objects in a mempool.**
19
20  Added mempool API ``rte_mempool_get_mem_range`` and
21  ``rte_mempool_get_obj_alignment`` to retrieve information about the memory
22  range and the alignment of objects stored in a mempool.
23
24* **Updated AF_XDP driver.**
25
26  * Enabled multi-interface (UDS) support with AF_XDP Device Plugin.
27
28    The argument ``use_cni`` was limiting a pod to a single netdev/interface.
29    The new ``dp_path`` parameter removed this limitation
30    and maintains backward compatibility for applications using the ``use_cni``
31    vdev argument with the AF_XDP Device Plugin.
32
33  * Integrated AF_XDP Device Plugin eBPF map pinning support.
34
35    The argument ``use_map_pinning`` was added to allow Kubernetes Pods
36    to use AF_XDP with DPDK, and run with limited privileges,
37    without having to do a full handshake over a Unix Domain Socket
38    with the Device Plugin.
39
40* **Updated Amazon ena (Elastic Network Adapter) driver.**
41
42  * Reworked the driver logger usage in order to improve Tx performance.
43  * Reworked the device uninitialization flow to ensure complete resource cleanup
44    and lay the groundwork for hot-unplug support.
45
46* **Updated Intel ice driver.**
47
48  * Added support for E830 device family.
49  * Added support for configuring the Forward Error Correction (FEC) mode,
50    querying FEC capabilities and current FEC mode from a device.
51
52* **Updated Intel i40e driver.**
53
54  * Added support for configuring the Forward Error Correction (FEC) mode,
55    querying FEC capabilities and current FEC mode from a device.
56
57* **Updated Intel ixgbe driver.**
58
59  * Updated base code with E610 device family support.
60
61* **Added Napatech ntnic net driver [EXPERIMENTAL].**
62
63  * Added the PMD for Napatech smartNIC:
64
65    - Ability to initialize the NIC (NT200A02)
66    - Supporting only one FPGA firmware (9563.55.39)
67    - Ability to bring up the 100G link
68    - Supporting QSFP/QSFP+/QSFP28 NIM
69    - Does not support datapath
70
71* **Updated Marvell cnxk net driver.**
72
73  * Added support disabling custom meta aura
74    and separately use custom SA action support.
75  * Added MTU update for port representor.
76  * Added multi-segment support for port representor.
77
78* **Updated NVIDIA mlx5 driver.**
79
80  * Added match with Tx queue.
81  * Added match with external Tx queue.
82  * Added match with E-Switch manager.
83  * Added async flow item and actions validation.
84  * Added global and per-port out of buffer counter for hairpin queues.
85  * Added hardware queue object context dump for Rx/Tx debugging.
86
87* **Updated TAP driver.**
88
89  * Updated to support up to 8 queues when used by secondary process.
90  * Fixed support for RSS flow action to work with current Linux kernels
91    and BPF tooling.
92    Will only be enabled if clang, libbpf 1.0 and bpftool are available.
93
94* **Updated Wangxun ngbe driver.**
95
96  * Added SSE/NEON vector datapath.
97
98* **Updated Wangxun txgbe driver.**
99
100  * Added SSE/NEON vector datapath.
101
102* **Added AMD Pensando ionic crypto driver.**
103
104  Added a new crypto driver for AMD Pensando hardware accelerators.
105
106* **Updated NVIDIA mlx5 crypto driver.**
107
108  * Added AES-GCM IPsec operation optimization.
109
110* **Updated IPsec_MB crypto driver.**
111
112  * Made Kasumi and ChaCha-Poly PMDs to share the job code path
113    with AESNI_MB PMD.
114
115* **Added UADK compress driver.**
116
117  Added a new compress driver for the UADK library. See the
118  :doc:`../compressdevs/uadk` guide for more details on this new driver.
119
120* **Updated Marvell CNXK DMA driver.**
121
122  * Updated DMA driver internal pool to use higher chunk size,
123    effectively reducing the number of mempool allocs needed,
124    thereby increasing DMA performance.
125
126* **Added Marvell Odyssey ODM DMA driver.**
127
128  * Added Marvell Odyssey ODM DMA device PMD.
129
130* **Updated the DSW event device.**
131
132  * Added support for ``RTE_EVENT_DEV_CAP_IMPLICIT_RELEASE_DISABLE``,
133    allowing applications to take on new tasks without having completed
134    (released) the previous event batch. This in turn facilities DSW
135    use alongside high-latency look-aside hardware accelerators.
136
137* **Updated the hash library.**
138
139  * Added defer queue reclamation via RCU.
140  * Added SVE support for bulk lookup.
141
142
143Removed Items
144-------------
145
146* **Disabled the BPF library and net/af_xdp for 32-bit x86.**
147
148  BPF is not supported and the librte-bpf test fails on 32-bit x86 kernels.
149  So disable the library and the pmd.
150
151* **Removed hisilicon DMA support for HIP09 platform.**
152
153  The DMA for HIP09 is no longer available,
154  so the support is removed from hisilicon driver for HIP09 platform.
155
156
157API Changes
158-----------
159
160* mbuf: ``RTE_MARKER`` fields ``cacheline0`` and ``cacheline1``
161  have been removed from ``struct rte_mbuf``.
162
163* hash: The ``rte_hash_sig_compare_function`` internal enum is not exposed
164  in the public API anymore.
165
166
167ABI Changes
168-----------
169
170* No ABI change that would break compatibility with 23.11.
171
172* eventdev/dma: Reorganize the experimental fastpath structure ``rte_event_dma_adapter_op``
173  to optimize the memory layout and improve performance.
174
175
176Tested Platforms
177----------------
178
179* Intel\ |reg| platforms with Intel\ |reg| NICs combinations
180
181  * CPU
182
183    * Intel Atom\ |reg| P5342 processor
184    * Intel\ |reg| Atom\ |trade| CPU C3758 @ 2.20GHz
185    * Intel\ |reg| Xeon\ |reg| CPU D-1553N @ 2.30GHz
186    * Intel\ |reg| Xeon\ |reg| CPU E5-2699 v4 @ 2.20GHz
187    * Intel\ |reg| Xeon\ |reg| D-1747NTE CPU @ 2.50GHz
188    * Intel\ |reg| Xeon\ |reg| D-2796NT CPU @ 2.00GHz
189    * Intel\ |reg| Xeon\ |reg| Gold 6139 CPU @ 2.30GHz
190    * Intel\ |reg| Xeon\ |reg| Gold 6140M CPU @ 2.30GHz
191    * Intel\ |reg| Xeon\ |reg| Gold 6252N CPU @ 2.30GHz
192    * Intel\ |reg| Xeon\ |reg| Gold 6348 CPU @ 2.60GHz
193    * Intel\ |reg| Xeon\ |reg| Platinum 8180 CPU @ 2.50GHz
194    * Intel\ |reg| Xeon\ |reg| Platinum 8280M CPU @ 2.70GHz
195    * Intel\ |reg| Xeon\ |reg| Platinum 8380 CPU @ 2.30GHz
196    * Intel\ |reg| Xeon\ |reg| Platinum 8468H
197    * Intel\ |reg| Xeon\ |reg| Platinum 8490H
198
199  * OS:
200
201    * CBL Mariner 2.0
202    * Fedora 40
203    * FreeBSD 14.0
204    * OpenAnolis OS 8.8
205    * openEuler 22.03 (LTS-SP3)
206    * Red Hat Enterprise Linux Server release 9.0
207    * Red Hat Enterprise Linux Server release 9.4
208    * Ubuntu 22.04.3
209    * Ubuntu 24.04
210
211  * NICs:
212
213    * Intel\ |reg| Ethernet Controller E810-C for SFP (4x25G)
214
215      * Firmware version: 4.50 0x8001d8b5 1.3597.0
216      * Device id (pf/vf): 8086:1593 / 8086:1889
217      * Driver version(out-tree): 1.14.11 (ice)
218      * Driver version(in-tree): 6.8.0-31-generic (Ubuntu24.04) /
219        5.14.0-427.13.1.el9_4.x86_64+rt (RHEL9.4) (ice)
220      * OS Default DDP: 1.3.36.0
221      * COMMS DDP: 1.3.46.0
222      * Wireless Edge DDP: 1.3.14.0
223
224    * Intel\ |reg| Ethernet Controller E810-C for QSFP (2x100G)
225
226      * Firmware version: 4.50 0x8001d8b6 1.3597.0
227      * Device id (pf/vf): 8086:1592 / 8086:1889
228      * Driver version(out-tree): 1.14.11 (ice)
229      * Driver version(in-tree): 5.15.55.1-1.cm2-5464b22cac7+ (CBL Mariner 2.0) (ice)
230      * OS Default DDP: 1.3.36.0
231      * COMMS DDP: 1.3.46.0
232      * Wireless Edge DDP: 1.3.14.0
233
234    * Intel\ |reg| Ethernet Controller E810-XXV for SFP (2x25G)
235
236      * Firmware version: 4.50 0x8001d8c2 1.3597.0
237      * Device id (pf/vf): 8086:159b / 8086:1889
238      * Driver version: 1.14.11 (ice)
239      * OS Default DDP: 1.3.36.0
240      * COMMS DDP: 1.3.46.0
241
242    * Intel\ |reg| Ethernet Connection E823-C for QSFP
243
244      * Firmware version: 3.39 0x8001db5f 1.3597.0
245      * Device id (pf/vf): 8086:188b / 8086:1889
246      * Driver version: 1.14.11 (ice)
247      * OS Default DDP: 1.3.36.0
248      * COMMS DDP: 1.3.46.0
249      * Wireless Edge DDP: 1.3.14.0
250
251    * Intel\ |reg| Ethernet Connection E823-L for QSFP
252
253      * Firmware version: 3.39 0x8001da47 1.3534.0
254      * Device id (pf/vf): 8086:124c / 8086:1889
255      * Driver version: 1.14.11 (ice)
256      * OS Default DDP: 1.3.36.0
257      * COMMS DDP: 1.3.46.0
258      * Wireless Edge DDP: 1.3.14.0
259
260    * Intel\ |reg| Ethernet Connection E822-L for backplane
261
262      * Firmware version: 3.39 0x8001d9b6 1.3353.0
263      * Device id (pf/vf): 8086:1897 / 8086:1889
264      * Driver version: 1.14.11 (ice)
265      * OS Default DDP: 1.3.36.0
266      * COMMS DDP: 1.3.46.0
267      * Wireless Edge DDP: 1.3.14.0
268
269    * Intel\ |reg| 82599ES 10 Gigabit Ethernet Controller
270
271      * Firmware version: 0x000161bf
272      * Device id (pf/vf): 8086:10fb / 8086:10ed
273      * Driver version(out-tree): 5.20.9 (ixgbe)
274      * Driver version(in-tree): 6.8.0-31-generic (Ubuntu24.04) /
275        5.14.0-427.13.1.el9_4.x86_64 (RHEL9.4)(ixgbe)
276
277    * Intel\ |reg| Ethernet Converged Network Adapter X710-DA4 (4x10G)
278
279      * Firmware version: 9.50 0x8000f145 1.3597.0
280      * Device id (pf/vf): 8086:1572 / 8086:154c
281      * Driver version(out-tree): 2.25.9 (i40e)
282
283    * Intel\ |reg| Corporation Ethernet Connection X722 for 10GbE SFP+ (2x10G)
284
285      * Firmware version: 6.50 0x80004216 1.3597.0
286      * Device id (pf/vf): 8086:37d0 / 8086:37cd
287      * Driver version(out-tree): 2.25.9 (i40e)
288      * Driver version(in-tree): 5.14.0-427.13.1.el9_4.x86_64 (RHEL9.4)(i40e)
289
290    * Intel\ |reg| Ethernet Converged Network Adapter XXV710-DA2 (2x25G)
291
292      * Firmware version: 9.50 0x8000f167 1.3597.0
293      * Device id (pf/vf): 8086:158b / 8086:154c
294      * Driver version(out-tree): 2.25.9 (i40e)
295      * Driver version(in-tree): 6.8.0-31-generic (Ubuntu24.04) /
296        5.14.0-427.13.1.el9_4.x86_64 (RHEL9.4)(i40e)
297
298    * Intel\ |reg| Ethernet Converged Network Adapter XL710-QDA2 (2X40G)
299
300      * Firmware version(PF): 9.50 0x8000f181 1.3597.0
301      * Device id (pf/vf): 8086:1583 / 8086:154c
302      * Driver version(out-tree): 2.25.9 (i40e)
303
304    * Intel\ |reg| Ethernet Controller I225-LM
305
306      * Firmware version: 1.3, 0x800000c9
307      * Device id (pf): 8086:15f2
308      * Driver version(in-tree): 6.8.0-31-generic (Ubuntu24.04)(igc)
309
310    * Intel\ |reg| Ethernet Controller I226-LM
311
312      * Firmware version: 2.14, 0x8000028c
313      * Device id (pf): 8086:125b
314      * Driver version(in-tree): 6.8.0-31-generic (Ubuntu24.04)(igc)
315
316* Intel\ |reg| platforms with NVIDIA\ |reg| NICs combinations
317
318  * CPU:
319
320    * Intel\ |reg| Xeon\ |reg| Gold 6154 CPU @ 3.00GHz
321    * Intel\ |reg| Xeon\ |reg| CPU E5-2697A v4 @ 2.60GHz
322    * Intel\ |reg| Xeon\ |reg| CPU E5-2697 v3 @ 2.60GHz
323    * Intel\ |reg| Xeon\ |reg| CPU E5-2680 v2 @ 2.80GHz
324    * Intel\ |reg| Xeon\ |reg| CPU E5-2670 0 @ 2.60GHz
325    * Intel\ |reg| Xeon\ |reg| CPU E5-2650 v4 @ 2.20GHz
326    * Intel\ |reg| Xeon\ |reg| CPU E5-2650 v3 @ 2.30GHz
327    * Intel\ |reg| Xeon\ |reg| CPU E5-2640 @ 2.50GHz
328    * Intel\ |reg| Xeon\ |reg| CPU E5-2650 0 @ 2.00GHz
329    * Intel\ |reg| Xeon\ |reg| CPU E5-2620 v4 @ 2.10GHz
330
331  * OS:
332
333    * Red Hat Enterprise Linux release 9.1 (Plow)
334    * Red Hat Enterprise Linux release 8.6 (Ootpa)
335    * Red Hat Enterprise Linux release 8.4 (Ootpa)
336    * Red Hat Enterprise Linux Server release 7.9 (Maipo)
337    * Red Hat Enterprise Linux Server release 7.6 (Maipo)
338    * Ubuntu 22.04
339    * Ubuntu 20.04
340    * SUSE Enterprise Linux 15 SP2
341
342  * OFED:
343
344    * MLNX_OFED 24.04-0.6.6.0 and above
345
346  * upstream kernel:
347
348    * Linux 6.10.0 and above
349
350  * rdma-core:
351
352    * rdma-core-52.0 and above
353
354  * NICs
355
356    * NVIDIA\ |reg| ConnectX\ |reg|-6 Dx EN 100G MCX623106AN-CDAT (2x100G)
357
358      * Host interface: PCI Express 4.0 x16
359      * Device ID: 15b3:101d
360      * Firmware version: 22.41.1000 and above
361
362    * NVIDIA\ |reg| ConnectX\ |reg|-6 Lx EN 25G MCX631102AN-ADAT (2x25G)
363
364      * Host interface: PCI Express 4.0 x8
365      * Device ID: 15b3:101f
366      * Firmware version: 26.41.1000 and above
367
368    * NVIDIA\ |reg| ConnectX\ |reg|-7 200G CX713106AE-HEA_QP1_Ax (2x200G)
369
370      * Host interface: PCI Express 5.0 x16
371      * Device ID: 15b3:1021
372      * Firmware version: 28.41.1000 and above
373
374* NVIDIA\ |reg| BlueField\ |reg| SmartNIC
375
376  * NVIDIA\ |reg| BlueField\ |reg|-2 SmartNIC MT41686 - MBF2H332A-AEEOT_A1 (2x25G)
377
378    * Host interface: PCI Express 3.0 x16
379    * Device ID: 15b3:a2d6
380    * Firmware version: 24.41.1000 and above
381
382  * NVIDIA\ |reg| BlueField\ |reg|-3 P-Series DPU MT41692 - 900-9D3B6-00CV-AAB (2x200G)
383
384    * Host interface: PCI Express 5.0 x16
385    * Device ID: 15b3:a2dc
386    * Firmware version: 32.41.1000 and above
387
388  * Embedded software:
389
390    * Ubuntu 22.04
391    * MLNX_OFED 24.04-0.6.6.0 and above
392    * bf-bundle-2.7.0-33_24.04_ubuntu-22.04
393    * DPDK application running on ARM cores
394
395* IBM Power 9 platforms with NVIDIA\ |reg| NICs combinations
396
397  * CPU:
398
399    * POWER9 2.2 (pvr 004e 1202)
400
401  * OS:
402
403    * Ubuntu 20.04
404
405  * NICs:
406
407    * NVIDIA\ |reg| ConnectX\ |reg|-6 Dx 100G MCX623106AN-CDAT (2x100G)
408
409      * Host interface: PCI Express 4.0 x16
410      * Device ID: 15b3:101d
411      * Firmware version: 22.41.1000 and above
412
413    * NVIDIA\ |reg| ConnectX\ |reg|-7 200G CX713106AE-HEA_QP1_Ax (2x200G)
414
415      * Host interface: PCI Express 5.0 x16
416      * Device ID: 15b3:1021
417      * Firmware version: 28.41.1000 and above
418
419  * OFED:
420
421    * MLNX_OFED 24.04-0.6.6.0
422