1.. SPDX-License-Identifier: BSD-3-Clause 2 Copyright 2018 The DPDK contributors 3 4DPDK Release 18.08 5================== 6 7New Features 8------------ 9 10* **Added support for Hyper-V netvsc PMD.** 11 12 The new ``netvsc`` poll mode driver provides native support for 13 networking on Hyper-V. See the :doc:`../nics/netvsc` NIC driver guide 14 for more details on this new driver. 15 16* **Added Flow API support for CXGBE PMD.** 17 18 Flow API support has been added to CXGBE Poll Mode Driver to offload 19 flows to Chelsio T5/T6 NICs. Support added for: 20 21 * Wildcard (LE-TCAM) and Exact (HASH) match filters. 22 * Match items: physical ingress port, IPv4, IPv6, TCP and UDP. 23 * Action items: queue, drop, count, and physical egress port redirect. 24 25* **Added ixgbe preferred Rx/Tx parameters.** 26 27 Rather than applications providing explicit Rx and Tx parameters such as 28 queue and burst sizes, they can request that the EAL instead uses preferred 29 values provided by the PMD, falling back to defaults within the EAL if the 30 PMD does not provide any. The provision of such tuned values now includes 31 the ixgbe PMD. 32 33* **Added descriptor status check support for fm10k.** 34 35 The ``rte_eth_rx_descriptor_status`` and ``rte_eth_tx_descriptor_status`` 36 APIs are now supported by fm10K. 37 38* **Updated the enic driver.** 39 40 * Add low cycle count Tx handler for no-offload Tx. 41 * Add low cycle count Rx handler for non-scattered Rx. 42 * Minor performance improvements to scattered Rx handler. 43 * Add handlers to add/delete VxLAN port number. 44 * Add devarg to specify ingress VLAN rewrite mode. 45 46* **Updated mlx5 driver.** 47 48 Updated the mlx5 driver including the following changes: 49 50 * Added port representors support. 51 * Added Flow API support for e-switch rules. 52 Added support for ACTION_PORT_ID, ACTION_DROP, ACTION_OF_POP_VLAN, 53 ACTION_OF_PUSH_VLAN, ACTION_OF_SET_VLAN_VID, ACTION_OF_SET_VLAN_PCP 54 and ITEM_PORT_ID. 55 * Added support for 32-bit compilation. 56 57* **Added TSO support for the mlx4 driver.** 58 59 Added TSO support for the mlx4 drivers from MLNX_OFED_4.4 and above. 60 61* **SoftNIC PMD rework.** 62 63 The SoftNIC PMD infrastructure has been restructured to use the Packet 64 Framework, which makes it more flexible, modular and easier to add new 65 functionality in the future. 66 67* **Updated the AESNI MB PMD.** 68 69 The AESNI MB PMD has been updated with additional support for: 70 71 * 3DES for 8, 16 and 24 byte keys. 72 73* **Added a new compression PMD using Intel's QuickAssist (QAT) device family.** 74 75 Added the new ``QAT`` compression driver, for compression and decompression 76 operations in software. See the :doc:`../compressdevs/qat_comp` compression 77 driver guide for details on this new driver. 78 79* **Updated the ISA-L PMD.** 80 81 Added support for chained mbufs (input and output). 82 83 84API Changes 85----------- 86 87* The path to the runtime config file has changed. The new path is determined 88 as follows: 89 90 - If DPDK is running as root, ``/var/run/dpdk/<prefix>/config`` 91 - If DPDK is not running as root: 92 93 * If ``$XDG_RUNTIME_DIR`` is set, ``${XDG_RUNTIME_DIR}/dpdk/<prefix>/config`` 94 * Otherwise, ``/tmp/dpdk/<prefix>/config`` 95 96* eal: The function ``rte_eal_mbuf_default_mempool_ops`` was deprecated 97 and is removed in 18.08. It shall be replaced by 98 ``rte_mbuf_best_mempool_ops``. 99 100* mempool: Following functions were deprecated and are removed in 18.08: 101 102 - ``rte_mempool_populate_iova_tab`` 103 - ``rte_mempool_populate_phys_tab`` 104 - ``rte_mempool_populate_phys`` (``rte_mempool_populate_iova`` should be used) 105 - ``rte_mempool_virt2phy`` (``rte_mempool_virt2iova`` should be used) 106 - ``rte_mempool_xmem_create`` 107 - ``rte_mempool_xmem_size`` 108 - ``rte_mempool_xmem_usage`` 109 110* ethdev: The old offload API is removed: 111 112 - Rx per-port ``rte_eth_conf.rxmode.[bit-fields]`` 113 - Tx per-queue ``rte_eth_txconf.txq_flags`` 114 - ``ETH_TXQ_FLAGS_NO*`` 115 116 The transition bits are removed: 117 118 - ``rte_eth_conf.rxmode.ignore_offload_bitfield`` 119 - ``ETH_TXQ_FLAGS_IGNORE`` 120 121* cryptodev: The following API changes have been made in 18.08: 122 123 - In struct ``struct rte_cryptodev_info``, field ``rte_pci_device *pci_dev`` 124 has been replaced with field ``struct rte_device *device``. 125 - Value 0 is accepted in ``sym.max_nb_sessions``, meaning that a device 126 supports an unlimited number of sessions. 127 - Two new fields of type ``uint16_t`` have been added: 128 ``min_mbuf_headroom_req`` and ``min_mbuf_tailroom_req``. These parameters 129 specify the recommended headroom and tailroom for mbufs to be processed by 130 the PMD. 131 132* cryptodev: The following functions were deprecated and are removed in 18.08: 133 134 - ``rte_cryptodev_queue_pair_start`` 135 - ``rte_cryptodev_queue_pair_stop`` 136 - ``rte_cryptodev_queue_pair_attach_sym_session`` 137 - ``rte_cryptodev_queue_pair_detach_sym_session`` 138 139* cryptodev: The following functions were deprecated and are replaced by other 140 functions in 18.08: 141 142 - ``rte_cryptodev_get_header_session_size`` is replaced with 143 ``rte_cryptodev_sym_get_header_session_size`` 144 - ``rte_cryptodev_get_private_session_size`` is replaced with 145 ``rte_cryptodev_sym_get_private_session_size`` 146 147* cryptodev: Feature flag ``RTE_CRYPTODEV_FF_MBUF_SCATTER_GATHER`` is 148 replaced with the following more explicit flags: 149 150 - ``RTE_CRYPTODEV_FF_IN_PLACE_SGL`` 151 - ``RTE_CRYPTODEV_FF_OOP_SGL_IN_SGL_OUT`` 152 - ``RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT`` 153 - ``RTE_CRYPTODEV_FF_OOP_LB_IN_SGL_OUT`` 154 - ``RTE_CRYPTODEV_FF_OOP_LB_IN_LB_OUT`` 155 156* cryptodev: Renamed cryptodev experimental APIs: 157 158 Used user_data instead of private_data in following APIs to avoid confusion 159 with the existing session parameter ``sess_private_data[]`` and related APIs. 160 161 - ``rte_cryptodev_sym_session_set_private_data()`` changed to 162 ``rte_cryptodev_sym_session_set_user_data()`` 163 - ``rte_cryptodev_sym_session_get_private_data()`` changed to 164 ``rte_cryptodev_sym_session_get_user_data()`` 165 166* compressdev: Feature flag ``RTE_COMP_FF_MBUF_SCATTER_GATHER`` is 167 replaced with the following more explicit flags: 168 169 - ``RTE_COMP_FF_OOP_SGL_IN_SGL_OUT`` 170 - ``RTE_COMP_FF_OOP_SGL_IN_LB_OUT`` 171 - ``RTE_COMP_FF_OOP_LB_IN_SGL_OUT`` 172 173 174Shared Library Versions 175----------------------- 176 177The libraries prepended with a plus sign were incremented in this version. 178 179.. code-block:: diff 180 181 librte_acl.so.2 182 librte_bbdev.so.1 183 librte_bitratestats.so.2 184 librte_bpf.so.1 185 librte_bus_dpaa.so.1 186 librte_bus_fslmc.so.1 187 librte_bus_pci.so.1 188 librte_bus_vdev.so.1 189 + librte_bus_vmbus.so.1 190 librte_cfgfile.so.2 191 librte_cmdline.so.2 192 librte_common_octeontx.so.1 193 librte_compressdev.so.1 194 + librte_cryptodev.so.5 195 librte_distributor.so.1 196 + librte_eal.so.8 197 + librte_ethdev.so.10 198 + librte_eventdev.so.5 199 librte_flow_classify.so.1 200 librte_gro.so.1 201 librte_gso.so.1 202 librte_hash.so.2 203 librte_ip_frag.so.1 204 librte_jobstats.so.1 205 librte_kni.so.2 206 librte_kvargs.so.1 207 librte_latencystats.so.1 208 librte_lpm.so.2 209 librte_mbuf.so.4 210 + librte_mempool.so.5 211 librte_meter.so.2 212 librte_metrics.so.1 213 librte_net.so.1 214 librte_pci.so.1 215 librte_pdump.so.2 216 librte_pipeline.so.3 217 librte_pmd_bnxt.so.2 218 librte_pmd_bond.so.2 219 librte_pmd_i40e.so.2 220 librte_pmd_ixgbe.so.2 221 librte_pmd_dpaa2_cmdif.so.1 222 librte_pmd_dpaa2_qdma.so.1 223 librte_pmd_ring.so.2 224 librte_pmd_softnic.so.1 225 librte_pmd_vhost.so.2 226 librte_port.so.3 227 librte_power.so.1 228 librte_rawdev.so.1 229 librte_reorder.so.1 230 librte_ring.so.2 231 librte_sched.so.1 232 librte_security.so.1 233 librte_table.so.3 234 librte_timer.so.1 235 librte_vhost.so.3 236 237 238Tested Platforms 239---------------- 240 241* Intel(R) platforms with Intel(R) NICs combinations 242 243 * CPU 244 245 * Intel(R) Atom(TM) CPU C3858 @ 2.00GHz 246 * Intel(R) Xeon(R) CPU D-1541 @ 2.10GHz 247 * Intel(R) Xeon(R) CPU E5-4667 v3 @ 2.00GHz 248 * Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz 249 * Intel(R) Xeon(R) CPU E5-2699 v4 @ 2.20GHz 250 * Intel(R) Xeon(R) CPU E5-2695 v4 @ 2.10GHz 251 * Intel(R) Xeon(R) CPU E5-2658 v2 @ 2.40GHz 252 * Intel(R) Xeon(R) CPU E5-2658 v3 @ 2.20GHz 253 * Intel(R) Xeon(R) Platinum 8180 CPU @ 2.50GHz 254 255 * OS: 256 257 * CentOS 7.4 258 * Fedora 25 259 * Fedora 27 260 * Fedora 28 261 * FreeBSD 11.1 262 * Red Hat Enterprise Linux Server release 7.5 263 * SUSE Enterprise Linux 12 264 * Wind River Linux 8 265 * Ubuntu 14.04 266 * Ubuntu 16.04 267 * Ubuntu 16.10 268 * Ubuntu 17.10 269 * Ubuntu 18.04 270 271 * NICs: 272 273 * Intel(R) 82599ES 10 Gigabit Ethernet Controller 274 275 * Firmware version: 0x61bf0001 276 * Device id (pf/vf): 8086:10fb / 8086:10ed 277 * Driver version: 5.2.3 (ixgbe) 278 279 * Intel(R) Corporation Ethernet Connection X552/X557-AT 10GBASE-T 280 281 * Firmware version: 0x800003e7 282 * Device id (pf/vf): 8086:15ad / 8086:15a8 283 * Driver version: 4.4.6 (ixgbe) 284 285 * Intel(R) Ethernet Converged Network Adapter X710-DA4 (4x10G) 286 287 * Firmware version: 6.01 0x80003221 288 * Device id (pf/vf): 8086:1572 / 8086:154c 289 * Driver version: 2.4.6 (i40e) 290 291 * Intel Corporation Ethernet Connection X722 for 10GbE SFP+ (4x10G) 292 293 * Firmware version: 3.33 0x80000fd5 0.0.0 294 * Device id (pf/vf): 8086:37d0 / 8086:37cd 295 * Driver version: 2.4.3 (i40e) 296 297 * Intel(R) Ethernet Converged Network Adapter XXV710-DA2 (2x25G) 298 299 * Firmware version: 6.01 0x80003221 300 * Device id (pf/vf): 8086:158b / 8086:154c 301 * Driver version: 2.4.6 (i40e) 302 303 * Intel(R) Ethernet Converged Network Adapter XL710-QDA2 (2X40G) 304 305 * Firmware version: 6.01 0x8000321c 306 * Device id (pf/vf): 8086:1583 / 8086:154c 307 * Driver version: 2.4.6 (i40e) 308 309 * Intel(R) Corporation I350 Gigabit Network Connection 310 311 * Firmware version: 1.63, 0x80000dda 312 * Device id (pf/vf): 8086:1521 / 8086:1520 313 * Driver version: 5.4.0-k (igb) 314 315* Intel(R) platforms with Mellanox(R) NICs combinations 316 317 * CPU: 318 319 * Intel(R) Xeon(R) Gold 6154 CPU @ 3.00GHz 320 * Intel(R) Xeon(R) CPU E5-2697A v4 @ 2.60GHz 321 * Intel(R) Xeon(R) CPU E5-2697 v3 @ 2.60GHz 322 * Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz 323 * Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz 324 * Intel(R) Xeon(R) CPU E5-2640 @ 2.50GHz 325 * Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz 326 327 * OS: 328 329 * Red Hat Enterprise Linux Server release 7.5 (Maipo) 330 * Red Hat Enterprise Linux Server release 7.4 (Maipo) 331 * Red Hat Enterprise Linux Server release 7.3 (Maipo) 332 * Red Hat Enterprise Linux Server release 7.2 (Maipo) 333 * Ubuntu 18.04 334 * Ubuntu 17.10 335 * Ubuntu 16.04 336 * SUSE Linux Enterprise Server 15 337 338 * MLNX_OFED: 4.3-2.0.2.0 339 * MLNX_OFED: 4.4-2.0.1.0 340 341 * NICs: 342 343 * Mellanox(R) ConnectX(R)-3 Pro 40G MCX354A-FCC_Ax (2x40G) 344 345 * Host interface: PCI Express 3.0 x8 346 * Device ID: 15b3:1007 347 * Firmware version: 2.42.5000 348 349 * Mellanox(R) ConnectX(R)-4 10G MCX4111A-XCAT (1x10G) 350 351 * Host interface: PCI Express 3.0 x8 352 * Device ID: 15b3:1013 353 * Firmware version: 12.21.1000 and above 354 355 * Mellanox(R) ConnectX(R)-4 10G MCX4121A-XCAT (2x10G) 356 357 * Host interface: PCI Express 3.0 x8 358 * Device ID: 15b3:1013 359 * Firmware version: 12.21.1000 and above 360 361 * Mellanox(R) ConnectX(R)-4 25G MCX4111A-ACAT (1x25G) 362 363 * Host interface: PCI Express 3.0 x8 364 * Device ID: 15b3:1013 365 * Firmware version: 12.21.1000 and above 366 367 * Mellanox(R) ConnectX(R)-4 25G MCX4121A-ACAT (2x25G) 368 369 * Host interface: PCI Express 3.0 x8 370 * Device ID: 15b3:1013 371 * Firmware version: 12.21.1000 and above 372 373 * Mellanox(R) ConnectX(R)-4 40G MCX4131A-BCAT/MCX413A-BCAT (1x40G) 374 375 * Host interface: PCI Express 3.0 x8 376 * Device ID: 15b3:1013 377 * Firmware version: 12.21.1000 and above 378 379 * Mellanox(R) ConnectX(R)-4 40G MCX415A-BCAT (1x40G) 380 381 * Host interface: PCI Express 3.0 x16 382 * Device ID: 15b3:1013 383 * Firmware version: 12.21.1000 and above 384 385 * Mellanox(R) ConnectX(R)-4 50G MCX4131A-GCAT/MCX413A-GCAT (1x50G) 386 387 * Host interface: PCI Express 3.0 x8 388 * Device ID: 15b3:1013 389 * Firmware version: 12.21.1000 and above 390 391 * Mellanox(R) ConnectX(R)-4 50G MCX414A-BCAT (2x50G) 392 393 * Host interface: PCI Express 3.0 x8 394 * Device ID: 15b3:1013 395 * Firmware version: 12.21.1000 and above 396 397 * Mellanox(R) ConnectX(R)-4 50G MCX415A-GCAT/MCX416A-BCAT/MCX416A-GCAT (2x50G) 398 399 * Host interface: PCI Express 3.0 x16 400 * Device ID: 15b3:1013 401 * Firmware version: 12.21.1000 and above 402 * Firmware version: 12.21.1000 and above 403 404 * Mellanox(R) ConnectX(R)-4 50G MCX415A-CCAT (1x100G) 405 406 * Host interface: PCI Express 3.0 x16 407 * Device ID: 15b3:1013 408 * Firmware version: 12.21.1000 and above 409 410 * Mellanox(R) ConnectX(R)-4 100G MCX416A-CCAT (2x100G) 411 412 * Host interface: PCI Express 3.0 x16 413 * Device ID: 15b3:1013 414 * Firmware version: 12.21.1000 and above 415 416 * Mellanox(R) ConnectX(R)-4 Lx 10G MCX4121A-XCAT (2x10G) 417 418 * Host interface: PCI Express 3.0 x8 419 * Device ID: 15b3:1015 420 * Firmware version: 14.21.1000 and above 421 422 * Mellanox(R) ConnectX(R)-4 Lx 25G MCX4121A-ACAT (2x25G) 423 424 * Host interface: PCI Express 3.0 x8 425 * Device ID: 15b3:1015 426 * Firmware version: 14.21.1000 and above 427 428 * Mellanox(R) ConnectX(R)-5 100G MCX556A-ECAT (2x100G) 429 430 * Host interface: PCI Express 3.0 x16 431 * Device ID: 15b3:1017 432 * Firmware version: 16.21.1000 and above 433 434 * Mellanox(R) ConnectX-5 Ex EN 100G MCX516A-CDAT (2x100G) 435 436 * Host interface: PCI Express 4.0 x16 437 * Device ID: 15b3:1019 438 * Firmware version: 16.21.1000 and above 439 440* ARM platforms with Mellanox(R) NICs combinations 441 442 * CPU: 443 444 * Qualcomm ARM 1.1 2500MHz 445 446 * OS: 447 448 * Red Hat Enterprise Linux Server release 7.5 (Maipo) 449 450 * NICs: 451 452 * Mellanox(R) ConnectX(R)-4 Lx 25G MCX4121A-ACAT (2x25G) 453 454 * Host interface: PCI Express 3.0 x8 455 * Device ID: 15b3:1015 456 * Firmware version: 14.23.1000 457 458 * Mellanox(R) ConnectX(R)-5 100G MCX556A-ECAT (2x100G) 459 460 * Host interface: PCI Express 3.0 x16 461 * Device ID: 15b3:1017 462 * Firmware version: 16.23.1000 463 464* Mellanox BlueField SmartNIC 465 466 * Mellanox(R) BlueField SmartNIC MT416842 (2x25G) 467 * Host interface: PCI Express 3.0 x16 468 * Device ID: 15b3:a2d2 469 * Firmware version: 18.99.3950 470 471 * SoC ARM cores running OS: 472 * CentOS Linux release 7.4.1708 (AltArch) 473 * Mellanox MLNX_OFED 4.2-1.4.21.0 474 475 * DPDK application running on ARM cores inside SmartNIC 476 * BlueField representors support planned for next release. 477