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