1.. SPDX-License-Identifier: BSD-3-Clause 2 Copyright 2018 The DPDK contributors 3 4DPDK Release 18.11 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_11.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 Suggested order in release notes items: 44 * Core libs (EAL, mempool, ring, mbuf, buses) 45 * Device abstraction libs and PMDs 46 - ethdev (lib, PMDs) 47 - cryptodev (lib, PMDs) 48 - eventdev (lib, PMDs) 49 - etc 50 * Other libs 51 * Apps, Examples, Tools (if significant) 52 53 This section is a comment. Do not overwrite or remove it. 54 Also, make sure to start the actual text at the margin. 55 ========================================================= 56 57* **Added support for using externally allocated memory in DPDK.** 58 59 DPDK has added support for creating new ``rte_malloc`` heaps referencing 60 memory that was created outside of DPDK's own page allocator, and using that 61 memory natively with any other DPDK library or data structure. 62 63* **Added check for ensuring allocated memory is addressable by devices.** 64 65 Some devices can have addressing limitations so a new function, 66 ``rte_mem_check_dma_mask()``, has been added for checking that allocated 67 memory is not out of the device range. Since memory can now be allocated 68 dynamically after initialization, a DMA mask is stored and any new allocated 69 memory will be checked against it and rejected if it is out of range. If 70 more than one device has addressing limitations, the DMA mask is the more 71 restrictive one. 72 73* **Updated the C11 memory model version of the ring library.** 74 75 Added changes to decrease latency for architectures using the C11 memory 76 model version of the ring library. 77 78 On Cavium ThunderX2 platform, the changes decreased latency by 27-29% 79 and 3-15% for MPMC and SPSC cases respectively (with 2 lcores). The 80 real improvements may vary with the number of contending lcores and 81 the size of the ring. 82 83* **Added hot-unplug handle mechanism.** 84 85 Added ``rte_dev_hotplug_handle_enable()`` and 86 ``rte_dev_hotplug_handle_disable()`` for enabling or disabling the hotplug 87 handle mechanism. 88 89* **Added support for device multi-process hotplug.** 90 91 Added support for hotplug and hot-unplug in a multiprocessing scenario. Any 92 ethdev devices created in the primary process will be regarded as shared and 93 will be available for all DPDK processes. Synchronization between processes 94 will be done using DPDK IPC. 95 96* **Added new Flow API actions to rewrite fields in packet headers.** 97 98 Added new Flow API actions to: 99 100 * Modify source and destination IP addresses in the outermost IPv4/IPv6 101 headers. 102 * Modify source and destination port numbers in the outermost TCP/UDP 103 headers. 104 105* **Added new Flow API action to swap MAC addresses in Ethernet header.** 106 107 Added new Flow API action to swap the source and destination MAC 108 addresses in the outermost Ethernet header. 109 110* **Add support to offload more flow match and actions for CXGBE PMD.** 111 112 The Flow API support has been enhanced for the CXGBE Poll Mode Driver to 113 offload: 114 115 * Match items: destination MAC address. 116 * Action items: push/pop/rewrite vlan header, 117 rewrite IP addresses in outermost IPv4/IPv6 header, 118 rewrite port numbers in outermost TCP/UDP header, 119 swap MAC addresses in outermost Ethernet header. 120 121* **Added a devarg to use the latest supported vector path in i40e.** 122 123 A new devarg ``use-latest-supported-vec`` was introduced to allow users to 124 choose the latest vector path that the platform supported. For example, users 125 can use AVX2 vector path on BDW/HSW to get better performance. 126 127* **Added support for SR-IOV in netvsc PMD.** 128 129 The ``netvsc`` poll mode driver now supports the Accelerated Networking 130 SR-IOV option in Hyper-V and Azure. This is an alternative to the previous 131 vdev_netvsc, tap, and failsafe drivers combination. 132 133* **Added a new net driver for Marvell Armada 3k device.** 134 135 Added the new ``mvneta`` net driver for Marvell Armada 3k device. See the 136 :doc:`../nics/mvneta` NIC guide for more details on this new driver. 137 138* **Added NXP ENETC PMD.** 139 140 Added the new enetc driver for the NXP enetc platform. See the 141 :doc:`../nics/enetc` NIC driver guide for more details on this new driver. 142 143* **Added Ethernet poll mode driver for Aquantia aQtion family of 10G devices.** 144 145 Added the new ``atlantic`` ethernet poll mode driver for Aquantia XGBE devices. 146 See the :doc:`../nics/atlantic` NIC driver guide for more details on this 147 driver. 148 149* **Updated mlx5 driver.** 150 151 Updated the mlx5 driver including the following changes: 152 153 * Improved security of PMD to prevent the NIC from getting stuck when 154 the application misbehaves. 155 * Reworked flow engine to supported e-switch flow rules (transfer attribute). 156 * Added support for header re-write(L2-L4), VXLAN encap/decap, count, match 157 on TCP flags and multiple flow groups with e-switch flow rules. 158 * Added support for match on metadata, VXLAN and MPLS encap/decap with flow 159 rules. 160 * Added support for ``RTE_ETH_DEV_CLOSE_REMOVE`` flag to provide better 161 support for representors. 162 * Added support for meson build. 163 * Fixed build issue with PPC. 164 * Added support for BlueField VF. 165 * Added support for externally allocated static memory for DMA. 166 167* **Updated Solarflare network PMD.** 168 169 Updated the sfc_efx driver including the following changes: 170 171 * Added support for Rx scatter in EF10 datapath implementation. 172 * Added support for Rx descriptor status API in EF10 datapath implementation. 173 * Added support for TSO in EF10 datapath implementation. 174 * Added support for Tx descriptor status API in EF10 (ef10 and ef10_simple) 175 datapaths implementation. 176 177* **Updated the enic driver.** 178 179 * Added AVX2-based vectorized Rx handler. 180 * Added VLAN and checksum offloads to the simple Tx handler. 181 * Added the "count" flow action. 182 * Enabled the virtual address IOVA mode. 183 184* **Updated the failsafe driver.** 185 186 Updated the failsafe driver including the following changes: 187 188 * Added support for Rx and Tx queues start and stop. 189 * Added support for Rx and Tx queues deferred start. 190 * Added support for runtime Rx and Tx queues setup. 191 * Added support multicast MAC address set. 192 193* **Added a devarg to use a PCAP interface physical MAC address.** 194 195 A new devarg ``phy_mac`` was introduced to allow users to use the physical 196 MAC address of the selected PCAP interface. 197 198* **Added TAP Rx/Tx queues sharing with a secondary process.** 199 200 Added support to allow a secondary process to attach a TAP device created 201 in the primary process, probe the queues, and process Rx/Tx in a secondary 202 process. 203 204* **Added classification and metering support to SoftNIC PMD.** 205 206 Added support for flow classification (rte_flow API), and metering and 207 policing (rte_mtr API) to the SoftNIC PMD. 208 209* **Added Crypto support to the Softnic PMD.** 210 211 The Softnic is now capable of processing symmetric crypto workloads such 212 as cipher, cipher-authentication chaining, and AEAD encryption and 213 decryption. This is achieved by calling DPDK Cryptodev APIs. 214 215* **Added cryptodev port to port library.** 216 217 Cryptodev port is a shim layer in the port library that interacts with DPDK 218 Cryptodev PMDs including burst enqueuing and dequeuing crypto operations. 219 220* **Added symmetric cryptographic actions to the pipeline library.** 221 222 In the pipeline library support was added for symmetric crypto action 223 parsing and an action handler was implemented. The action allows automatic 224 preparation of the crypto operation with the rules specified such as 225 algorithm, key, and IV, etc. for the cryptodev port to process. 226 227* **Updated the AESNI MB PMD.** 228 229 The AESNI MB PMD has been updated with additional support for the AES-GCM 230 algorithm. 231 232* **Added NXP CAAM JR PMD.** 233 234 Added the new caam job ring driver for NXP platforms. See the 235 :doc:`../cryptodevs/caam_jr` guide for more details on this new driver. 236 237* **Added support for GEN3 devices to Intel QAT driver.** 238 239 Added support for the third generation of Intel QuickAssist devices. 240 241* **Updated the QAT PMD.** 242 243 The QAT PMD was updated with additional support for: 244 245 * The AES-CMAC algorithm. 246 247* **Added support for Dynamic Huffman Encoding to Intel QAT comp PMD.** 248 249 The Intel QuickAssist (QAT) compression PMD has been updated with support 250 for Dynamic Huffman Encoding for the Deflate algorithm. 251 252* **Added Event Ethernet Tx Adapter.** 253 254 Added event ethernet Tx adapter library that provides configuration and 255 data path APIs for the ethernet transmit stage of an event driven packet 256 processing application. These APIs abstract the implementation of the 257 transmit stage and allow the application to use eventdev PMD support or 258 a common implementation. 259 260* **Added Distributed Software Eventdev PMD.** 261 262 Added the new Distributed Software Event Device (DSW), which is a 263 pure-software eventdev driver distributing the work of scheduling 264 among all eventdev ports and the lcores using them. DSW, compared to 265 the SW eventdev PMD, sacrifices load balancing performance to 266 gain better event scheduling throughput and scalability. 267 268* **Added extendable bucket feature to hash library (rte_hash).** 269 270 This new "extendable bucket" feature provides 100% insertion guarantee to 271 the capacity specified by the user by extending hash table with extra 272 buckets when needed to accommodate the unlikely event of intensive hash 273 collisions. In addition, the internal hashing algorithm was changed to use 274 partial-key hashing to improve memory efficiency and lookup performance. 275 276* **Added lock free reader/writer concurrency to hash library (rte_hash).** 277 278 Lock free reader/writer concurrency prevents the readers from getting 279 blocked due to a preempted writer thread. This allows the hash library 280 to be used in scenarios where the writer thread runs on the control plane. 281 282* **Added Traffic Pattern Aware Power Control Library.** 283 284 Added an experimental library that extends the Power Library and provides 285 empty_poll APIs. This feature measures how many times empty_polls are 286 executed per core and uses the number of empty polls as a hint for system 287 power management. 288 289 See the :doc:`../prog_guide/power_man` section of the DPDK Programmers 290 Guide document for more information. 291 292* **Added JSON power policy interface for containers.** 293 294 Extended the Power Library and vm_power_manager sample app to allow power 295 policies to be submitted via a FIFO using JSON formatted strings. Previously 296 limited to Virtual Machines, this feature extends power policy functionality 297 to containers and host applications that need to have their cores frequency 298 controlled based on the rules contained in the policy. 299 300* **Added Telemetry API.** 301 302 Added a new telemetry API which allows applications to transparently expose 303 their telemetry in JSON via a UNIX socket. The JSON can be consumed by any 304 Service Assurance agent, such as CollectD. 305 306* **Updated KNI kernel module, rte_kni library, and KNI sample application.** 307 308 Updated the KNI kernel module with a new kernel module parameter, 309 ``carrier=[on|off]`` to allow the user to control the default carrier 310 state of the KNI kernel network interfaces. The default carrier state 311 is now set to ``off``, so the interfaces cannot be used until the 312 carrier state is set to ``on`` via ``rte_kni_update_link`` or 313 by writing ``1`` to ``/sys/devices/virtual/net/<iface>/carrier``. 314 In previous versions the default carrier state was left undefined. 315 See :doc:`../prog_guide/kernel_nic_interface` for more information. 316 317 Also added the new API function ``rte_kni_update_link()`` to allow the user 318 to set the carrier state of the KNI kernel network interface. 319 320 Also added a new command line flag ``-m`` to the KNI sample application to 321 monitor and automatically reflect the physical NIC carrier state to the 322 KNI kernel network interface with the new ``rte_kni_update_link()`` API. 323 See :doc:`../sample_app_ug/kernel_nic_interface` for more information. 324 325* **Added ability to switch queue deferred start flag on testpmd app.** 326 327 Added a console command to testpmd app, giving ability to switch 328 ``rx_deferred_start`` or ``tx_deferred_start`` flag of the specified queue of 329 the specified port. The port must be stopped before the command call in order 330 to reconfigure queues. 331 332* **Add a new sample application for vDPA.** 333 334 The vdpa sample application creates vhost-user sockets by using the 335 vDPA backend. vDPA stands for vhost Data Path Acceleration which utilizes 336 virtio ring compatible devices to serve virtio driver directly to enable 337 datapath acceleration. As vDPA driver can help to set up vhost datapath, 338 this application doesn't need to launch dedicated worker threads for vhost 339 enqueue/dequeue operations. 340 341* **Added cryptodev FIPS validation example application.** 342 343 Added an example application to parse and perform symmetric cryptography 344 computation to the NIST Cryptographic Algorithm Validation Program (CAVP) 345 test vectors. 346 347* **Allow unit test binary to take parameters from the environment.** 348 349 The unit test "test", or "dpdk-test", binary is often called from scripts, 350 which can make passing additional parameters, such as a coremask, 351 difficult. Support has been added to the application to allow it to take 352 additional command-line parameter values from the ``DPDK_TEST_PARAMS`` 353 environment variable to make this application easier to use. 354 355 356API Changes 357----------- 358 359.. This section should contain API changes. Sample format: 360 361 * Add a short 1-2 sentence description of the API change. 362 Use fixed width quotes for ``function_names`` or ``struct_names``. 363 Use the past tense. 364 365 This section is a comment. Do not overwrite or remove it. 366 Also, make sure to start the actual text at the margin. 367 ========================================================= 368 369* eal: ``rte_memseg_list`` structure now has an additional flag indicating 370 whether the memseg list is externally allocated. This will have implications 371 for any users of memseg-walk-related functions, as they will now have to skip 372 externally allocated segments in most cases if the intent is to only iterate 373 over internal DPDK memory. 374 375 In addition the ``socket_id`` parameter across the entire DPDK has gained 376 additional meaning, as some socket ID's will now be representing externally 377 allocated memory. No changes will be required for existing code as backwards 378 compatibility will be kept, and those who do not use this feature will not 379 see these extra socket ID's. Any new API's must not check socket ID 380 parameters themselves, and must instead leave it to the memory subsystem to 381 decide whether socket ID is a valid one. 382 383* eal: The following devargs functions, which were deprecated in 18.05, 384 were removed in 18.11: 385 ``rte_eal_parse_devargs_str()``, ``rte_eal_devargs_add()``, 386 ``rte_eal_devargs_type_count()``, and ``rte_eal_devargs_dump()``. 387 388* eal: The parameters of the function ``rte_devargs_remove()`` have changed 389 from bus and device names to ``struct rte_devargs``. 390 391* eal: The deprecated functions attach/detach were removed in 18.11. 392 ``rte_eal_dev_attach`` can be replaced by 393 ``rte_dev_probe`` or ``rte_eal_hotplug_add``. 394 ``rte_eal_dev_detach`` can be replaced by 395 ``rte_dev_remove`` or ``rte_eal_hotplug_remove``. 396 397* eal: The scope of ``rte_eal_hotplug_add()``/``rte_dev_probe()`` 398 and ``rte_eal_hotplug_remove()``/``rte_dev_remove()`` has been extended. 399 In the multi-process model, they will guarantee that the device is 400 attached or detached on all processes. 401 402* mbuf: The ``__rte_mbuf_raw_free()`` and ``__rte_pktmbuf_prefree_seg()`` 403 functions were deprecated since 17.05 and are replaced by 404 ``rte_mbuf_raw_free()`` and ``rte_pktmbuf_prefree_seg()``. 405 406* ethdev: The deprecated functions attach/detach were removed in 18.11. 407 ``rte_eth_dev_attach()`` can be replaced by ``RTE_ETH_FOREACH_MATCHING_DEV`` 408 and ``rte_dev_probe()`` or ``rte_eal_hotplug_add()``. 409 ``rte_eth_dev_detach()`` can be replaced by 410 ``rte_dev_remove()`` or ``rte_eal_hotplug_remove()``. 411 412* ethdev: A call to ``rte_eth_dev_release_port()`` has been added in 413 ``rte_eth_dev_close()``. As a consequence, a closed port is freed 414 and seen as invalid because of its state ``RTE_ETH_DEV_UNUSED``. 415 This new behavior is enabled per driver for a migration period. 416 417* A new device flag, ``RTE_ETH_DEV_NOLIVE_MAC_ADDR``, changes the order of 418 actions inside ``rte_eth_dev_start()`` regarding MAC set. Some NICs do not 419 support MAC changes once the port has started and with this new device 420 flag the MAC can be properly configured in any case. This is particularly 421 important for bonding. 422 423* The default behavior of CRC strip offload has changed in this 424 release. Without any specific Rx offload flag, default behavior by a PMD is 425 now to strip CRC. ``DEV_RX_OFFLOAD_CRC_STRIP`` offload flag has been removed. 426 To request keeping CRC, application should set ``DEV_RX_OFFLOAD_KEEP_CRC`` 427 Rx offload. 428 429* eventdev: The type of the second parameter to 430 ``rte_event_eth_rx_adapter_caps_get()`` has been changed from uint8_t to 431 uint16_t. 432 433* kni: By default, interface carrier status is ``off`` which means there won't 434 be any traffic. It can be set to ``on`` via ``rte_kni_update_link()`` API or 435 via ``sysfs`` interface: ``echo 1 > /sys/class/net/vEth0/carrier``. 436 437 Note interface should be ``up`` to be able to read/write sysfs interface. 438 When KNI sample application is used, ``-m`` parameter can be used to 439 automatically update the carrier status for the interface. 440 441* kni: When ethtool support is enabled (``CONFIG_RTE_KNI_KMOD_ETHTOOL=y``) 442 ethtool commands ``ETHTOOL_GSET & ETHTOOL_SSET`` are no longer supported for 443 kernels that have ``ETHTOOL_GLINKSETTINGS & ETHTOOL_SLINKSETTINGS`` support. 444 This means ``ethtool "-a|--show-pause", "-s|--change"`` won't work, and 445 ``ethtool <iface>`` output will have less information. 446 447 448ABI Changes 449----------- 450 451.. This section should contain ABI changes. Sample format: 452 453 * Add a short 1-2 sentence description of the ABI change 454 that was announced in the previous releases and made in this release. 455 Use fixed width quotes for ``function_names`` or ``struct_names``. 456 Use the past tense. 457 458 This section is a comment. Do not overwrite or remove it. 459 Also, make sure to start the actual text at the margin. 460 ========================================================= 461 462* eal: added ``legacy_mem`` and ``single_file_segments`` values to 463 ``rte_config`` structure on account of improving DPDK usability when 464 using either ``--legacy-mem`` or ``--single-file-segments`` flags. 465 466* eal: EAL library ABI version was changed due to previously announced work on 467 supporting external memory in DPDK: 468 469 - Structure ``rte_memseg_list`` now has a new field indicating length 470 of memory addressed by the segment list 471 - Structure ``rte_memseg_list`` now has a new flag indicating whether 472 the memseg list refers to external memory 473 - Structure ``rte_malloc_heap`` now has a new field indicating socket 474 ID the malloc heap belongs to 475 - Structure ``rte_mem_config`` has had its ``malloc_heaps`` array 476 resized from ``RTE_MAX_NUMA_NODES`` to ``RTE_MAX_HEAPS`` value 477 - Structure ``rte_malloc_heap`` now has a ``heap_name`` member 478 - Structure ``rte_eal_memconfig`` has been extended to contain next 479 socket ID for externally allocated segments 480 481* eal: Added ``dma_maskbits`` to ``rte_mem_config`` for keeping the most 482 restrictive DMA mask based on the devices addressing limitations. 483 484* eal: The structure ``rte_device`` has a new field to reference a 485 ``rte_bus``. It thus changes the size of the ``struct rte_device`` and the 486 inherited device structures of all buses. 487 488 489Shared Library Versions 490----------------------- 491 492.. Update any library version updated in this release 493 and prepend with a ``+`` sign, like this: 494 495 librte_acl.so.2 496 + librte_cfgfile.so.2 497 librte_cmdline.so.2 498 499 This section is a comment. Do not overwrite or remove it. 500 ========================================================= 501 502The libraries prepended with a plus sign were incremented in this version. 503 504.. code-block:: diff 505 506 librte_acl.so.2 507 librte_bbdev.so.1 508 librte_bitratestats.so.2 509 librte_bpf.so.1 510 + librte_bus_dpaa.so.2 511 + librte_bus_fslmc.so.2 512 + librte_bus_ifpga.so.2 513 + librte_bus_pci.so.2 514 + librte_bus_vdev.so.2 515 + librte_bus_vmbus.so.2 516 librte_cfgfile.so.2 517 librte_cmdline.so.2 518 librte_compressdev.so.1 519 librte_cryptodev.so.5 520 librte_distributor.so.1 521 + librte_eal.so.9 522 librte_efd.so.1 523 + librte_ethdev.so.11 524 + librte_eventdev.so.6 525 librte_flow_classify.so.1 526 librte_gro.so.1 527 librte_gso.so.1 528 librte_hash.so.2 529 librte_ip_frag.so.1 530 librte_jobstats.so.1 531 librte_kni.so.2 532 librte_kvargs.so.1 533 librte_latencystats.so.1 534 librte_lpm.so.2 535 librte_mbuf.so.4 536 librte_member.so.1 537 librte_mempool.so.5 538 librte_meter.so.2 539 librte_metrics.so.1 540 librte_net.so.1 541 librte_pci.so.1 542 librte_pdump.so.2 543 librte_pipeline.so.3 544 librte_pmd_bnxt.so.2 545 librte_pmd_bond.so.2 546 librte_pmd_i40e.so.2 547 librte_pmd_ixgbe.so.2 548 librte_pmd_dpaa2_qdma.so.1 549 librte_pmd_ring.so.2 550 librte_pmd_softnic.so.1 551 librte_pmd_vhost.so.2 552 librte_port.so.3 553 librte_power.so.1 554 librte_rawdev.so.1 555 librte_reorder.so.1 556 librte_ring.so.2 557 librte_sched.so.1 558 librte_security.so.1 559 librte_table.so.3 560 librte_timer.so.1 561 librte_vhost.so.4 562 563 564Known Issues 565------------ 566 567.. This section should contain new known issues in this release. Sample format: 568 569 * **Add title in present tense with full stop.** 570 571 Add a short 1-2 sentence description of the known issue 572 in the present tense. Add information on any known workarounds. 573 574 This section is a comment. Do not overwrite or remove it. 575 Also, make sure to start the actual text at the margin. 576 ========================================================= 577 578* When using SR-IOV (VF) support with netvsc PMD and the Mellanox mlx5 579 bifurcated driver the Linux netvsc device must be brought up before the 580 netvsc device is unbound and passed to the DPDK. 581 582* IBM Power8 is not supported in this release of DPDK. IBM Power9 is 583 supported. 584 585* ``AVX-512`` support has been disabled for ``GCC`` builds [1] because of a 586 crash [2]. This can affect ``native`` machine type build targets on the 587 platforms that support ``AVX512F`` like ``Intel Skylake`` processors, and 588 can cause a possible performance drop. The immediate workaround is to use 589 ``clang`` compiler on these platforms. The issue has been identified as a 590 GCC defect and reported to the GCC community [3]. Further actions will be 591 taken based on the GCC defect result. 592 593 - [1]: Commit 8d07c82b239f ("mk: disable gcc AVX512F support") 594 - [2]: https://bugs.dpdk.org/show_bug.cgi?id=97 595 - [3]: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88096 596 597 598Tested Platforms 599---------------- 600 601.. This section should contain a list of platforms that were tested 602 with this release. 603 604 The format is: 605 606 * <vendor> platform with <vendor> <type of devices> combinations 607 608 * List of CPU 609 * List of OS 610 * List of devices 611 * Other relevant details... 612 613 This section is a comment. Do not overwrite or remove it. 614 Also, make sure to start the actual text at the margin. 615 ========================================================= 616 617* Intel(R) platforms with Intel(R) NICs combinations 618 619 * CPU 620 621 * Intel(R) Atom(TM) CPU C3758 @ 2.20GHz 622 * Intel(R) Xeon(R) CPU D-1541 @ 2.10GHz 623 * Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz 624 * Intel(R) Xeon(R) CPU E5-2699 v3 @ 2.30GHz 625 * Intel(R) Xeon(R) CPU E5-2699 v4 @ 2.20GHz 626 * Intel(R) Xeon(R) Platinum 8180 CPU @ 2.50GHz 627 628 * OS: 629 630 * CentOS 7.5 631 * Fedora 25 632 * Fedora 28 633 * FreeBSD 11.2 634 * Red Hat Enterprise Linux Server release 7.5 635 * Open SUSE 15 636 * Wind River Linux 8 637 * Ubuntu 14.04 638 * Ubuntu 16.04 639 * Ubuntu 16.10 640 * Ubuntu 17.10 641 * Ubuntu 18.04 642 643 * NICs: 644 645 * Intel(R) 82599ES 10 Gigabit Ethernet Controller 646 647 * Firmware version: 0x61bf0001 648 * Device id (pf/vf): 8086:10fb / 8086:10ed 649 * Driver version: 5.2.3 (ixgbe) 650 651 * Intel(R) Corporation Ethernet Connection X552/X557-AT 10GBASE-T 652 653 * Firmware version: 0x800003e7 654 * Device id (pf/vf): 8086:15ad / 8086:15a8 655 * Driver version: 4.4.6 (ixgbe) 656 657 * Intel(R) Ethernet Converged Network Adapter X710-DA4 (4x10G) 658 659 * Firmware version: 6.01 0x80003221 660 * Device id (pf/vf): 8086:1572 / 8086:154c 661 * Driver version: 2.4.6 (i40e) 662 663 * Intel(R) Corporation Ethernet Connection X722 for 10GbE SFP+ (4x10G) 664 665 * Firmware version: 3.33 0x80000fd5 0.0.0 666 * Device id (pf/vf): 8086:37d0 / 8086:37cd 667 * Driver version: 2.4.6 (i40e) 668 669 * Intel(R) Ethernet Converged Network Adapter XXV710-DA2 (2x25G) 670 671 * Firmware version: 6.01 0x80003221 672 * Device id (pf/vf): 8086:158b / 8086:154c 673 * Driver version: 2.4.6 (i40e) 674 675 * Intel(R) Ethernet Converged Network Adapter XL710-QDA2 (2X40G) 676 677 * Firmware version: 6.01 0x8000321c 678 * Device id (pf/vf): 8086:1583 / 8086:154c 679 * Driver version: 2.4.6 (i40e) 680 681 * Intel(R) Corporation I350 Gigabit Network Connection 682 683 * Firmware version: 1.63, 0x80000dda 684 * Device id (pf/vf): 8086:1521 / 8086:1520 685 * Driver version: 5.4.0-k (igb) 686 687* Intel(R) platforms with Mellanox(R) NICs combinations 688 689 * CPU: 690 691 * Intel(R) Xeon(R) Gold 6154 CPU @ 3.00GHz 692 * Intel(R) Xeon(R) CPU E5-2697A v4 @ 2.60GHz 693 * Intel(R) Xeon(R) CPU E5-2697 v3 @ 2.60GHz 694 * Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz 695 * Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz 696 * Intel(R) Xeon(R) CPU E5-2640 @ 2.50GHz 697 * Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz 698 699 * OS: 700 701 * Red Hat Enterprise Linux Server release 7.6 (Maipo) 702 * Red Hat Enterprise Linux Server release 7.5 (Maipo) 703 * Red Hat Enterprise Linux Server release 7.4 (Maipo) 704 * Red Hat Enterprise Linux Server release 7.3 (Maipo) 705 * Red Hat Enterprise Linux Server release 7.2 (Maipo) 706 * Ubuntu 18.10 707 * Ubuntu 18.04 708 * Ubuntu 17.10 709 * Ubuntu 16.04 710 * SUSE Linux Enterprise Server 15 711 712 * MLNX_OFED: 4.4-2.0.1.0 713 * MLNX_OFED: 4.5-0.3.1.0 714 715 * NICs: 716 717 * Mellanox(R) ConnectX(R)-3 Pro 40G MCX354A-FCC_Ax (2x40G) 718 719 * Host interface: PCI Express 3.0 x8 720 * Device ID: 15b3:1007 721 * Firmware version: 2.42.5000 722 723 * Mellanox(R) ConnectX(R)-4 10G MCX4111A-XCAT (1x10G) 724 725 * Host interface: PCI Express 3.0 x8 726 * Device ID: 15b3:1013 727 * Firmware version: 12.23.8022 and above 728 729 * Mellanox(R) ConnectX(R)-4 10G MCX4121A-XCAT (2x10G) 730 731 * Host interface: PCI Express 3.0 x8 732 * Device ID: 15b3:1013 733 * Firmware version: 12.23.8022 and above 734 735 * Mellanox(R) ConnectX(R)-4 25G MCX4111A-ACAT (1x25G) 736 737 * Host interface: PCI Express 3.0 x8 738 * Device ID: 15b3:1013 739 * Firmware version: 12.23.8022 and above 740 741 * Mellanox(R) ConnectX(R)-4 25G MCX4121A-ACAT (2x25G) 742 743 * Host interface: PCI Express 3.0 x8 744 * Device ID: 15b3:1013 745 * Firmware version: 12.23.8022 and above 746 747 * Mellanox(R) ConnectX(R)-4 40G MCX4131A-BCAT/MCX413A-BCAT (1x40G) 748 749 * Host interface: PCI Express 3.0 x8 750 * Device ID: 15b3:1013 751 * Firmware version: 12.23.8022 and above 752 753 * Mellanox(R) ConnectX(R)-4 40G MCX415A-BCAT (1x40G) 754 755 * Host interface: PCI Express 3.0 x16 756 * Device ID: 15b3:1013 757 * Firmware version: 12.23.8022 and above 758 759 * Mellanox(R) ConnectX(R)-4 50G MCX4131A-GCAT/MCX413A-GCAT (1x50G) 760 761 * Host interface: PCI Express 3.0 x8 762 * Device ID: 15b3:1013 763 * Firmware version: 12.23.8022 and above 764 765 * Mellanox(R) ConnectX(R)-4 50G MCX414A-BCAT (2x50G) 766 767 * Host interface: PCI Express 3.0 x8 768 * Device ID: 15b3:1013 769 * Firmware version: 12.23.8022 and above 770 771 * Mellanox(R) ConnectX(R)-4 50G MCX415A-GCAT/MCX416A-BCAT/MCX416A-GCAT (2x50G) 772 773 * Host interface: PCI Express 3.0 x16 774 * Device ID: 15b3:1013 775 * Firmware version: 12.23.8022 and above 776 * Firmware version: 12.23.8022 and above 777 778 * Mellanox(R) ConnectX(R)-4 50G MCX415A-CCAT (1x100G) 779 780 * Host interface: PCI Express 3.0 x16 781 * Device ID: 15b3:1013 782 * Firmware version: 12.23.8022 and above 783 784 * Mellanox(R) ConnectX(R)-4 100G MCX416A-CCAT (2x100G) 785 786 * Host interface: PCI Express 3.0 x16 787 * Device ID: 15b3:1013 788 * Firmware version: 12.23.8022 and above 789 790 * Mellanox(R) ConnectX(R)-4 Lx 10G MCX4121A-XCAT (2x10G) 791 792 * Host interface: PCI Express 3.0 x8 793 * Device ID: 15b3:1015 794 * Firmware version: 14.23.8022 and above 795 796 * Mellanox(R) ConnectX(R)-4 Lx 25G MCX4121A-ACAT (2x25G) 797 798 * Host interface: PCI Express 3.0 x8 799 * Device ID: 15b3:1015 800 * Firmware version: 14.23.8022 and above 801 802 * Mellanox(R) ConnectX(R)-5 100G MCX556A-ECAT (2x100G) 803 804 * Host interface: PCI Express 3.0 x16 805 * Device ID: 15b3:1017 806 * Firmware version: 16.23.8022 and above 807 808 * Mellanox(R) ConnectX(R)-5 Ex EN 100G MCX516A-CDAT (2x100G) 809 810 * Host interface: PCI Express 4.0 x16 811 * Device ID: 15b3:1019 812 * Firmware version: 16.23.8022 and above 813 814* ARM platforms with Mellanox(R) NICs combinations 815 816 * CPU: 817 818 * Qualcomm ARM 1.1 2500MHz 819 820 * OS: 821 822 * Red Hat Enterprise Linux Server release 7.5 (Maipo) 823 824 * NICs: 825 826 * Mellanox(R) ConnectX(R)-4 Lx 25G MCX4121A-ACAT (2x25G) 827 828 * Host interface: PCI Express 3.0 x8 829 * Device ID: 15b3:1015 830 * Firmware version: 14.24.0220 831 832 * Mellanox(R) ConnectX(R)-5 100G MCX556A-ECAT (2x100G) 833 834 * Host interface: PCI Express 3.0 x16 835 * Device ID: 15b3:1017 836 * Firmware version: 16.24.0220 837 838* Mellanox(R) BlueField SmartNIC 839 840 * Mellanox(R) BlueField SmartNIC MT416842 (2x25G) 841 842 * Host interface: PCI Express 3.0 x16 843 * Device ID: 15b3:a2d2 844 * Firmware version: 18.24.0246 845 846 * SoC ARM cores running OS: 847 848 * CentOS Linux release 7.4.1708 (AltArch) 849 * MLNX_OFED 4.4-2.5.3.0 850 851 * DPDK application running on ARM cores inside SmartNIC 852 853* ARM SoC combinations from NXP (with integrated NICs) 854 855 * SoC: 856 857 * NXP/Freescale QorIQ LS1046A with ARM Cortex A72 858 * NXP/Freescale QorIQ LS2088A with ARM Cortex A72 859 860 * OS: 861 862 * Ubuntu 18.04.1 LTS with NXP QorIQ LSDK 1809 support packages 863 * Ubuntu 16.04.3 LTS with NXP QorIQ LSDK 1803 support packages 864