1.. SPDX-License-Identifier: BSD-3-Clause 2 Copyright 2021 The DPDK contributors 3 4.. include:: <isonum.txt> 5 6DPDK Release 21.08 7================== 8 9New Features 10------------ 11 12* **Added auxiliary bus support.** 13 14 An auxiliary bus provides a way to split a function into child-devices 15 representing sub-domains of functionality. Each auxiliary device 16 represents a part of its parent functionality. 17 18* **Added XZ compressed firmware support.** 19 20 Using ``rte_firmware_read`` a driver can now handle XZ compressed firmware 21 in a transparent way, with EAL uncompressing using libarchive, if this library 22 is available when building DPDK. 23 24* **Updated Amazon ENA PMD.** 25 26 Updated the Amazon ENA PMD. The new driver version (v2.4.0) introduced 27 bug fixes and improvements, including: 28 29 * Added Rx interrupt support. 30 * RSS hash function key reconfiguration support. 31 32* **Updated Intel iavf driver.** 33 34 * Added Tx QoS VF queue TC mapping. 35 * Added FDIR and RSS for GTPoGRE, and support for filters based on GTPU TEID/QFI, 36 outermost L3 or innermost L3/L4. 37 38* **Updated Intel ice driver.** 39 40 * Added new RX and TX paths in the AVX2 code to use HW offload 41 features. When the HW offload features are configured to be used, the 42 offload paths are chosen automatically. In parallel the support for HW 43 offload features was removed from the legacy AVX2 paths. 44 * Added Tx QoS TC bandwidth configuration in DCF. 45 46* **Added support for Marvell CN10K SoC Ethernet device.** 47 48 * Added net/cnxk driver which provides the support for the integrated Ethernet 49 device. 50 51* **Updated Mellanox mlx5 driver.** 52 53 * Added Sub-Function support based on auxiliary bus. 54 * Added support for meter hierarchy. 55 * Added support for metering policy actions of yellow color. 56 * Added support for metering trTCM RFC2698 and RFC4115. 57 * Added devargs option ``allow_duplicate_pattern``. 58 * Added matching on IPv4 Internet Header Length (IHL). 59 * Added support for matching on VXLAN header last 8-bits reserved field. 60 * Optimized multi-thread flow rule insertion rate. 61 62* **Updated Solarflare network PMD.** 63 64 Updated the Solarflare ``sfc_efx`` driver with changes including: 65 66 * Added COUNT action support for SN1000 NICs. 67 68* **Added Wangxun ngbe PMD.** 69 70 Added a new PMD for Wangxun 1Gb Ethernet NICs. 71 See the :doc:`../nics/ngbe` for more details. 72 73* **Added inflight packets clear API in vhost library.** 74 75 Added an API which can clear the inflight packets submitted to 76 the DMA engine in the vhost async data path. 77 78* **Updated Intel QuickAssist crypto PMD.** 79 80 Added fourth generation of QuickAssist Technology(QAT) devices support. 81 Only symmetric crypto has been currently enabled. Compression and asymmetric 82 crypto PMD will fail to create. 83 84* **Added support for Marvell CNXK crypto driver.** 85 86 * Added cnxk crypto PMD which provides support for an integrated 87 crypto driver for CN9K and CN10K series of SOCs. Support for 88 symmetric crypto algorithms was added to both the PMDs. 89 * Added support for lookaside protocol (IPsec) offload in cn10k PMD. 90 * Added support for asymmetric crypto operations in cn9k and cn10k PMD. 91 92* **Updated Marvell OCTEON TX crypto PMD.** 93 94 Added support for crypto adapter ``OP_FORWARD`` mode. 95 96* **Added support for Nvidia crypto device driver.** 97 98 Added mlx5 crypto driver to support AES-XTS cipher operations. 99 The first device to support it is ConnectX-6. 100 101* **Updated ISAL compress device PMD.** 102 103 The ISAL compress device PMD now supports Arm platforms. 104 105* **Added Baseband PHY CNXK PMD.** 106 107 Added Baseband PHY PMD which allows configuration of the BPHY hardware block 108 comprising accelerators and DSPs specifically tailored for 5G/LTE inline 109 use cases. Configuration happens via standard rawdev enq/deq operations. See 110 the :doc:`../rawdevs/cnxk_bphy` rawdev guide for more details on this driver. 111 112* **Added support for Marvell CN10K, CN9K, event Rx/Tx adapter.** 113 114 * Added Rx/Tx adapter support for event/cnxk when the Ethernet device requested 115 is net/cnxk. 116 * Added support for event vectorization for Rx/Tx adapter. 117 118* **Added cppc_cpufreq support to Power Management library.** 119 120 Added support for cppc_cpufreq driver which works on most arm64 platforms. 121 122* **Added multi-queue support to Ethernet PMD Power Management.** 123 124 The experimental PMD power management API now supports managing 125 multiple Ethernet Rx queues per lcore. 126 127* **Updated testpmd to output log errors to stderr.** 128 129 Updated testpmd application to output log errors and warnings to stderr 130 instead of stdout. 131 132 133API Changes 134----------- 135 136* eal: ``rte_strscpy`` sets ``rte_errno`` to ``E2BIG`` in case of string 137 truncation. 138 139* eal: ``rte_bsf32_safe`` now takes a 32-bit value for its first argument. 140 This fixes warnings about loss of precision 141 when used with some compilers settings. 142 143* eal: ``rte_power_monitor`` and the ``rte_power_monitor_cond`` struct changed 144 to use a callback mechanism. 145 146* rte_power: The experimental PMD power management API is no longer considered 147 to be thread safe; all Rx queues affected by the API will now need to be 148 stopped before making any changes to the power management scheme. 149 150 151ABI Changes 152----------- 153 154* No ABI change that would break compatibility with 20.11. 155 156 157Known Issues 158------------ 159 160* **Last mbuf segment not implicitly reset.** 161 162 It is expected that free mbufs have their field ``nb_seg`` set to 1, 163 so that when it is allocated, the user does not need to set its value. 164 The mbuf free functions are responsible of resetting this field to 1 165 before returning the mbuf to the pool. 166 167 When a multi-segment mbuf is freed, the field ``nb_seg`` is not reset 168 to 1 for the last segment of the chain. On next allocation of this segment, 169 if the field is not explicitly reset by the user, 170 an invalid mbuf can be created, and can cause an undefined behavior. 171 172 This issue has a root cause in DPDK 17.05, meaning it is 4 years old. 173 A fix is available and discussed but not merged in DPDK 21.08: 174 https://patches.dpdk.org/patch/86458/ 175 176 177Tested Platforms 178---------------- 179 180* Intel\ |reg| platforms with Intel\ |reg| NICs combinations 181 182 * CPU 183 184 * Intel\ |reg| Atom\ |trade| CPU C3958 @ 2.00GHz 185 * Intel\ |reg| Atom\ |trade| CPU C3758 @ 2.20GHz 186 * Intel\ |reg| Xeon\ |reg| CPU D-1541 @ 2.10GHz 187 * Intel\ |reg| Xeon\ |reg| CPU D-1553N @ 2.30GHz 188 * Intel\ |reg| Xeon\ |reg| CPU E5-2680 v2 @ 2.80GHz 189 * Intel\ |reg| Xeon\ |reg| CPU E5-2699 v3 @ 2.30GHz 190 * Intel\ |reg| Xeon\ |reg| CPU E5-2699 v4 @ 2.20GHz 191 * Intel\ |reg| Xeon\ |reg| Gold 6140M CPU @ 2.30GHz 192 * Intel\ |reg| Xeon\ |reg| Gold 6139 CPU @ 2.30GHz 193 * Intel\ |reg| Xeon\ |reg| Gold 6252N CPU @ 2.30GHz 194 * Intel\ |reg| Xeon\ |reg| Platinum 8180 CPU @ 2.50GHz 195 * Intel\ |reg| Xeon\ |reg| Platinum 8180M CPU @ 2.50GHz 196 * Intel\ |reg| Xeon\ |reg| Platinum 8280M CPU @ 2.70GHz 197 198 * OS: 199 200 * Fedora 34 201 * OpenWRT 19.07.4 202 * FreeBSD 12.1 203 * Red Hat Enterprise Linux Server release 8.3 204 * Suse 15 SP2 205 * Ubuntu 20.04 206 * Ubuntu 21.04 207 208 * NICs: 209 210 * Intel\ |reg| Ethernet Controller E810-C for SFP (4x25G) 211 212 * Firmware version: 3.10 213 * Device id (pf/vf): 8086:1593 / 8086:1889 214 * Driver version: 1.7.0 (ice) 215 * OS Default DDP: 1.3.27.0 216 * COMMS DDP: 1.3.31.0 217 * Wireless Edge DDP: 1.3.7.0 218 219 * Intel\ |reg| Ethernet Controller E810-C for QSFP (2x100G) 220 221 * Firmware version: 3.10 222 * Device id (pf/vf): 8086:1592 / 8086:1889 223 * Driver version: 1.7.0 (ice) 224 * OS Default DDP: 1.3.27.0 225 * COMMS DDP: 1.3.31.0 226 * Wireless Edge DDP: 1.3.7.0 227 228 * Intel\ |reg| 82599ES 10 Gigabit Ethernet Controller 229 230 * Firmware version: 0x61bf0001 231 * Device id (pf/vf): 8086:10fb / 8086:10ed 232 * Driver version: 5.1.0-k (ixgbe) 233 234 * Intel\ |reg| Corporation Ethernet Connection X552/X557-AT 10GBASE-T 235 236 * Firmware version: 0x800003e7 237 * Device id (pf/vf): 8086:15ad / 8086:15a8 238 * Driver version: 5.1.0-k (ixgbe) 239 240 * Intel\ |reg| Corporation Ethernet Controller 10G X550T 241 242 * Firmware version: 0x8000113b 243 * Device id (pf): 8086:1563 244 * Driver version: 5.11.3 (ixgbe) 245 246 * Intel\ |reg| Ethernet Controller 10-Gigabit X540-AT2 247 248 * Firmware version: 0x800005f9 249 * Device id (pf): 8086:1528 250 * Driver version: 4.18.0-305.7.1.el8_4.x86_64 (ixgbe) 251 252 * Intel\ |reg| Ethernet Converged Network Adapter X710-DA4 (4x10G) 253 254 * Firmware version: 8.30 0x8000a49d 1.2926.0 255 * Device id (pf/vf): 8086:1572 / 8086:154c 256 * Driver version: 2.15.9 (i40e) 257 258 * Intel\ |reg| Corporation Ethernet Connection X722 for 10GbE SFP+ (4x10G) 259 260 * Firmware version: 5.30 0x80002a29 1.2926.0 261 * Device id (pf/vf): 8086:37d0 / 8086:37cd 262 * Driver version: 2.15.9 (i40e) 263 264 * Intel\ |reg| Corporation Ethernet Connection X722 for 10GBASE-T (2x10G) 265 266 * Firmware version: 4.10 0x80001a7a 1.2154.0 267 * Device id (pf/vf): 8086:37d2 / 8086:37cd 268 * Driver version: 2.15.9 (i40e) 269 270 * Intel\ |reg| Ethernet Converged Network Adapter XXV710-DA2 (2x25G) 271 272 * Firmware version: 8.30 0x8000a485 1.2926.0 273 * Device id (pf/vf): 8086:158b / 8086:154c 274 * Driver version: 2.15.9 (i40e) 275 276 * Intel\ |reg| Ethernet Converged Network Adapter XL710-QDA2 (2X40G) 277 278 * Firmware version: 8.30 0x8000a4ae 1.2926.0 279 * Device id (pf/vf): 8086:1583 / 8086:154c 280 * Driver version: 2.15.9 (i40e) 281 282 * Intel\ |reg| Ethernet Converged Network Adapter X710-T2L 283 284 * Firmware version: 8.30 0x8000a489 1.2926.0 285 * Device id (pf): 8086:15ff 286 * Driver version: 2.15.9 (i40e) 287 288* Intel\ |reg| platforms with Mellanox\ |reg| NICs combinations 289 290 * CPU: 291 292 * Intel\ |reg| Xeon\ |reg| Gold 6154 CPU @ 3.00GHz 293 * Intel\ |reg| Xeon\ |reg| CPU E5-2697A v4 @ 2.60GHz 294 * Intel\ |reg| Xeon\ |reg| CPU E5-2697 v3 @ 2.60GHz 295 * Intel\ |reg| Xeon\ |reg| CPU E5-2680 v2 @ 2.80GHz 296 * Intel\ |reg| Xeon\ |reg| CPU E5-2670 0 @ 2.60GHz 297 * Intel\ |reg| Xeon\ |reg| CPU E5-2650 v4 @ 2.20GHz 298 * Intel\ |reg| Xeon\ |reg| CPU E5-2650 v3 @ 2.30GHz 299 * Intel\ |reg| Xeon\ |reg| CPU E5-2640 @ 2.50GHz 300 * Intel\ |reg| Xeon\ |reg| CPU E5-2650 0 @ 2.00GHz 301 * Intel\ |reg| Xeon\ |reg| CPU E5-2620 v4 @ 2.10GHz 302 303 * OS: 304 305 * Red Hat Enterprise Linux release 8.2 (Ootpa) 306 * Red Hat Enterprise Linux Server release 7.8 (Maipo) 307 * Red Hat Enterprise Linux Server release 7.6 (Maipo) 308 * Red Hat Enterprise Linux Server release 7.5 (Maipo) 309 * Red Hat Enterprise Linux Server release 7.4 (Maipo) 310 * Red Hat Enterprise Linux Server release 7.3 (Maipo) 311 * Red Hat Enterprise Linux Server release 7.2 (Maipo) 312 * Ubuntu 20.04 313 * Ubuntu 18.04 314 * Ubuntu 16.04 315 * SUSE Enterprise Linux 15 SP2 316 * SUSE Enterprise Linux 12 SP4 317 318 * OFED: 319 320 * MLNX_OFED 5.4-1.0.3.0 and above 321 * MLNX_OFED 5.3-1.0.0.1 322 323 * upstream kernel: 324 325 * Linux 5.14.0-rc3 and above 326 327 * rdma-core: 328 329 * rdma-core-36.0 and above 330 331 * NICs: 332 333 * Mellanox\ |reg| ConnectX\ |reg|-3 Pro 40G MCX354A-FCC_Ax (2x40G) 334 335 * Host interface: PCI Express 3.0 x8 336 * Device ID: 15b3:1007 337 * Firmware version: 2.42.5000 338 339 * Mellanox\ |reg| ConnectX\ |reg|-3 Pro 40G MCX354A-FCCT (2x40G) 340 341 * Host interface: PCI Express 3.0 x8 342 * Device ID: 15b3:1007 343 * Firmware version: 2.42.5000 344 345 * Mellanox\ |reg| ConnectX\ |reg|-4 Lx 25G MCX4121A-ACAT (2x25G) 346 347 * Host interface: PCI Express 3.0 x8 348 * Device ID: 15b3:1015 349 * Firmware version: 14.31.1014 and above 350 351 * Mellanox\ |reg| ConnectX\ |reg|-4 Lx 50G MCX4131A-GCAT (1x50G) 352 353 * Host interface: PCI Express 3.0 x8 354 * Device ID: 15b3:1015 355 * Firmware version: 14.31.1014 and above 356 357 * Mellanox\ |reg| ConnectX\ |reg|-5 100G MCX516A-CCAT (2x100G) 358 359 * Host interface: PCI Express 3.0 x16 360 * Device ID: 15b3:1017 361 * Firmware version: 16.31.1014 and above 362 363 * Mellanox\ |reg| ConnectX\ |reg|-5 100G MCX556A-ECAT (2x100G) 364 365 * Host interface: PCI Express 3.0 x16 366 * Device ID: 15b3:1017 367 * Firmware version: 16.31.1014 and above 368 369 * Mellanox\ |reg| ConnectX\ |reg|-5 100G MCX556A-EDAT (2x100G) 370 371 * Host interface: PCI Express 3.0 x16 372 * Device ID: 15b3:1017 373 * Firmware version: 16.31.1014 and above 374 375 * Mellanox\ |reg| ConnectX\ |reg|-5 Ex EN 100G MCX516A-CDAT (2x100G) 376 377 * Host interface: PCI Express 4.0 x16 378 * Device ID: 15b3:1019 379 * Firmware version: 16.31.1014 and above 380 381 * Mellanox\ |reg| ConnectX\ |reg|-6 Dx EN 100G MCX623106AN-CDAT (2x100G) 382 383 * Host interface: PCI Express 4.0 x16 384 * Device ID: 15b3:101d 385 * Firmware version: 22.31.1014 and above 386 387 * Mellanox\ |reg| ConnectX\ |reg|-6 Lx EN 25G MCX631102AN-ADAT (2x25G) 388 389 * Host interface: PCI Express 4.0 x8 390 * Device ID: 15b3:101f 391 * Firmware version: 26.31.1014 and above 392 393* Mellanox\ |reg| BlueField\ |reg| SmartNIC 394 395 * Mellanox\ |reg| BlueField\ |reg|-2 SmartNIC MT41686 - MBF2H332A-AEEOT_A1 (2x25G) 396 397 * Host interface: PCI Express 3.0 x16 398 * Device ID: 15b3:a2d6 399 * Firmware version: 24.31.1014 and above 400 401 * Embedded software: 402 403 * CentOS Linux release 7.6.1810 (AltArch) 404 * MLNX_OFED 5.4-1.0.3.0 and above 405 * DPDK application running on Arm cores 406