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