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