176b9d9deSThomas Monjalon.. SPDX-License-Identifier: BSD-3-Clause 276b9d9deSThomas Monjalon Copyright 2018 The DPDK contributors 376b9d9deSThomas Monjalon 476b9d9deSThomas MonjalonDPDK Release 18.11 576b9d9deSThomas Monjalon================== 676b9d9deSThomas Monjalon 776b9d9deSThomas MonjalonNew Features 876b9d9deSThomas Monjalon------------ 976b9d9deSThomas Monjalon 1066498f0fSAnatoly Burakov* **Added support for using externally allocated memory in DPDK.** 1166498f0fSAnatoly Burakov 12d514a531SJohn McNamara DPDK has added support for creating new ``rte_malloc`` heaps referencing 1366498f0fSAnatoly Burakov memory that was created outside of DPDK's own page allocator, and using that 1466498f0fSAnatoly Burakov memory natively with any other DPDK library or data structure. 1566498f0fSAnatoly Burakov 16d514a531SJohn McNamara* **Added check for ensuring allocated memory is addressable by devices.** 17223b7f1dSAlejandro Lucero 18223b7f1dSAlejandro Lucero Some devices can have addressing limitations so a new function, 19d514a531SJohn McNamara ``rte_mem_check_dma_mask()``, has been added for checking that allocated 20d514a531SJohn McNamara memory is not out of the device range. Since memory can now be allocated 21d514a531SJohn McNamara dynamically after initialization, a DMA mask is stored and any new allocated 22d514a531SJohn McNamara memory will be checked against it and rejected if it is out of range. If 23d514a531SJohn McNamara more than one device has addressing limitations, the DMA mask is the more 24d514a531SJohn McNamara restrictive one. 25223b7f1dSAlejandro Lucero 26d514a531SJohn McNamara* **Updated the C11 memory model version of the ring library.** 27047adc17SGavin Hu 28d514a531SJohn McNamara Added changes to decrease latency for architectures using the C11 memory 29d514a531SJohn McNamara model version of the ring library. 30047adc17SGavin Hu 31d514a531SJohn McNamara On Cavium ThunderX2 platform, the changes decreased latency by 27-29% 32d514a531SJohn McNamara and 3-15% for MPMC and SPSC cases respectively (with 2 lcores). The 33047adc17SGavin Hu real improvements may vary with the number of contending lcores and 34d514a531SJohn McNamara the size of the ring. 35047adc17SGavin Hu 360fc54536SJeff Guo* **Added hot-unplug handle mechanism.** 370fc54536SJeff Guo 38d514a531SJohn McNamara Added ``rte_dev_hotplug_handle_enable()`` and 39d514a531SJohn McNamara ``rte_dev_hotplug_handle_disable()`` for enabling or disabling the hotplug 40d514a531SJohn McNamara handle mechanism. 410fc54536SJeff Guo 42d514a531SJohn McNamara* **Added support for device multi-process hotplug.** 43244d5130SQi Zhang 44d514a531SJohn McNamara Added support for hotplug and hot-unplug in a multiprocessing scenario. Any 45d514a531SJohn McNamara ethdev devices created in the primary process will be regarded as shared and 46d514a531SJohn McNamara will be available for all DPDK processes. Synchronization between processes 47d514a531SJohn McNamara will be done using DPDK IPC. 48244d5130SQi Zhang 490517eea7SRahul Lakkireddy* **Added new Flow API actions to rewrite fields in packet headers.** 500517eea7SRahul Lakkireddy 510517eea7SRahul Lakkireddy Added new Flow API actions to: 520517eea7SRahul Lakkireddy 530517eea7SRahul Lakkireddy * Modify source and destination IP addresses in the outermost IPv4/IPv6 540517eea7SRahul Lakkireddy headers. 559ccc9491SRahul Lakkireddy * Modify source and destination port numbers in the outermost TCP/UDP 569ccc9491SRahul Lakkireddy headers. 570517eea7SRahul Lakkireddy 5882875970SRahul Lakkireddy* **Added new Flow API action to swap MAC addresses in Ethernet header.** 5982875970SRahul Lakkireddy 6082875970SRahul Lakkireddy Added new Flow API action to swap the source and destination MAC 6182875970SRahul Lakkireddy addresses in the outermost Ethernet header. 6282875970SRahul Lakkireddy 63d514a531SJohn McNamara* **Add support to offload more flow match and actions for CXGBE PMD.** 641decc62bSShagun Agrawal 65d514a531SJohn McNamara The Flow API support has been enhanced for the CXGBE Poll Mode Driver to 66d514a531SJohn McNamara offload: 671decc62bSShagun Agrawal 68fefee7a6SShagun Agrawal * Match items: destination MAC address. 6948f523f6SRahul Lakkireddy * Action items: push/pop/rewrite vlan header, 7048f523f6SRahul Lakkireddy rewrite IP addresses in outermost IPv4/IPv6 header, 71f683a520SRahul Lakkireddy rewrite port numbers in outermost TCP/UDP header, 72f683a520SRahul Lakkireddy swap MAC addresses in outermost Ethernet header. 731decc62bSShagun Agrawal 74c11f6540SXiaoyun Li* **Added a devarg to use the latest supported vector path in i40e.** 75d514a531SJohn McNamara 76c11f6540SXiaoyun Li A new devarg ``use-latest-supported-vec`` was introduced to allow users to 77c11f6540SXiaoyun Li choose the latest vector path that the platform supported. For example, users 78c11f6540SXiaoyun Li can use AVX2 vector path on BDW/HSW to get better performance. 79c11f6540SXiaoyun Li 80dc7680e8SStephen Hemminger* **Added support for SR-IOV in netvsc PMD.** 81dc7680e8SStephen Hemminger 82dc7680e8SStephen Hemminger The ``netvsc`` poll mode driver now supports the Accelerated Networking 83dc7680e8SStephen Hemminger SR-IOV option in Hyper-V and Azure. This is an alternative to the previous 84dc7680e8SStephen Hemminger vdev_netvsc, tap, and failsafe drivers combination. 85dc7680e8SStephen Hemminger 864ccc8d77SZyta Szpak* **Added a new net driver for Marvell Armada 3k device.** 874ccc8d77SZyta Szpak 884ccc8d77SZyta Szpak Added the new ``mvneta`` net driver for Marvell Armada 3k device. See the 894ccc8d77SZyta Szpak :doc:`../nics/mvneta` NIC guide for more details on this new driver. 904ccc8d77SZyta Szpak 9165313f1aSGagandeep Singh* **Added NXP ENETC PMD.** 9265313f1aSGagandeep Singh 93d514a531SJohn McNamara Added the new enetc driver for the NXP enetc platform. See the 94d514a531SJohn McNamara :doc:`../nics/enetc` NIC driver guide for more details on this new driver. 9565313f1aSGagandeep Singh 960839bb69SIgor Russkikh* **Added Ethernet poll mode driver for Aquantia aQtion family of 10G devices.** 970839bb69SIgor Russkikh 980839bb69SIgor Russkikh Added the new ``atlantic`` ethernet poll mode driver for Aquantia XGBE devices. 99d514a531SJohn McNamara See the :doc:`../nics/atlantic` NIC driver guide for more details on this 1000839bb69SIgor Russkikh driver. 1010839bb69SIgor Russkikh 10294c11d43SShahaf Shuler* **Updated mlx5 driver.** 10394c11d43SShahaf Shuler 10494c11d43SShahaf Shuler Updated the mlx5 driver including the following changes: 10594c11d43SShahaf Shuler 10694c11d43SShahaf Shuler * Improved security of PMD to prevent the NIC from getting stuck when 107d514a531SJohn McNamara the application misbehaves. 108d514a531SJohn McNamara * Reworked flow engine to supported e-switch flow rules (transfer attribute). 109d514a531SJohn McNamara * Added support for header re-write(L2-L4), VXLAN encap/decap, count, match 11094c11d43SShahaf Shuler on TCP flags and multiple flow groups with e-switch flow rules. 111d514a531SJohn McNamara * Added support for match on metadata, VXLAN and MPLS encap/decap with flow 112d514a531SJohn McNamara rules. 113d514a531SJohn McNamara * Added support for ``RTE_ETH_DEV_CLOSE_REMOVE`` flag to provide better 114d514a531SJohn McNamara support for representors. 115d514a531SJohn McNamara * Added support for meson build. 11694c11d43SShahaf Shuler * Fixed build issue with PPC. 117d514a531SJohn McNamara * Added support for BlueField VF. 118d514a531SJohn McNamara * Added support for externally allocated static memory for DMA. 11994c11d43SShahaf Shuler 12052e10cb0SAndrew Rybchenko* **Updated Solarflare network PMD.** 12152e10cb0SAndrew Rybchenko 12252e10cb0SAndrew Rybchenko Updated the sfc_efx driver including the following changes: 12352e10cb0SAndrew Rybchenko 12452e10cb0SAndrew Rybchenko * Added support for Rx scatter in EF10 datapath implementation. 1251a9d944fSIgor Romanov * Added support for Rx descriptor status API in EF10 datapath implementation. 1266bc985e4SIgor Romanov * Added support for TSO in EF10 datapath implementation. 1272631dcedSIgor Romanov * Added support for Tx descriptor status API in EF10 (ef10 and ef10_simple) 1282631dcedSIgor Romanov datapaths implementation. 12952e10cb0SAndrew Rybchenko 13022aeda00SHyong Youb Kim* **Updated the enic driver.** 13122aeda00SHyong Youb Kim 13222aeda00SHyong Youb Kim * Added AVX2-based vectorized Rx handler. 13322aeda00SHyong Youb Kim * Added VLAN and checksum offloads to the simple Tx handler. 134d514a531SJohn McNamara * Added the "count" flow action. 13522aeda00SHyong Youb Kim * Enabled the virtual address IOVA mode. 13622aeda00SHyong Youb Kim 137d514a531SJohn McNamara* **Updated the failsafe driver.** 1383db7001eSIan Dolzhansky 1393db7001eSIan Dolzhansky Updated the failsafe driver including the following changes: 1403db7001eSIan Dolzhansky 141d514a531SJohn McNamara * Added support for Rx and Tx queues start and stop. 142d514a531SJohn McNamara * Added support for Rx and Tx queues deferred start. 143d514a531SJohn McNamara * Added support for runtime Rx and Tx queues setup. 144d514a531SJohn McNamara * Added support multicast MAC address set. 1453db7001eSIan Dolzhansky 146d514a531SJohn McNamara* **Added a devarg to use a PCAP interface physical MAC address.** 147d514a531SJohn McNamara 148d514a531SJohn McNamara A new devarg ``phy_mac`` was introduced to allow users to use the physical 149c9507cd0SJuhamatti Kuusisaari MAC address of the selected PCAP interface. 150c9507cd0SJuhamatti Kuusisaari 151c9aa56edSRaslan Darawsheh* **Added TAP Rx/Tx queues sharing with a secondary process.** 152c9aa56edSRaslan Darawsheh 153d514a531SJohn McNamara Added support to allow a secondary process to attach a TAP device created 154d514a531SJohn McNamara in the primary process, probe the queues, and process Rx/Tx in a secondary 155d514a531SJohn McNamara process. 156c9aa56edSRaslan Darawsheh 15713e23e63SReshma Pattan* **Added classification and metering support to SoftNIC PMD.** 15813e23e63SReshma Pattan 15913e23e63SReshma Pattan Added support for flow classification (rte_flow API), and metering and 16013e23e63SReshma Pattan policing (rte_mtr API) to the SoftNIC PMD. 16113e23e63SReshma Pattan 162d514a531SJohn McNamara* **Added Crypto support to the Softnic PMD.** 163babdea59SFan Zhang 164babdea59SFan Zhang The Softnic is now capable of processing symmetric crypto workloads such 165d514a531SJohn McNamara as cipher, cipher-authentication chaining, and AEAD encryption and 166babdea59SFan Zhang decryption. This is achieved by calling DPDK Cryptodev APIs. 167babdea59SFan Zhang 168efde55f4SFan Zhang* **Added cryptodev port to port library.** 169efde55f4SFan Zhang 170efde55f4SFan Zhang Cryptodev port is a shim layer in the port library that interacts with DPDK 171efde55f4SFan Zhang Cryptodev PMDs including burst enqueuing and dequeuing crypto operations. 172efde55f4SFan Zhang 173efde55f4SFan Zhang* **Added symmetric cryptographic actions to the pipeline library.** 174efde55f4SFan Zhang 175d514a531SJohn McNamara In the pipeline library support was added for symmetric crypto action 176d514a531SJohn McNamara parsing and an action handler was implemented. The action allows automatic 177d514a531SJohn McNamara preparation of the crypto operation with the rules specified such as 178d514a531SJohn McNamara algorithm, key, and IV, etc. for the cryptodev port to process. 179d514a531SJohn McNamara 180d514a531SJohn McNamara* **Updated the AESNI MB PMD.** 181d514a531SJohn McNamara 182d514a531SJohn McNamara The AESNI MB PMD has been updated with additional support for the AES-GCM 183d514a531SJohn McNamara algorithm. 184d514a531SJohn McNamara 185d514a531SJohn McNamara* **Added NXP CAAM JR PMD.** 186d514a531SJohn McNamara 187d514a531SJohn McNamara Added the new caam job ring driver for NXP platforms. See the 188d514a531SJohn McNamara :doc:`../cryptodevs/caam_jr` guide for more details on this new driver. 189efde55f4SFan Zhang 1901f5e4053SFiona Trahe* **Added support for GEN3 devices to Intel QAT driver.** 1911f5e4053SFiona Trahe 1921f5e4053SFiona Trahe Added support for the third generation of Intel QuickAssist devices. 1931f5e4053SFiona Trahe 19491c1daa4STomasz Cel* **Updated the QAT PMD.** 19591c1daa4STomasz Cel 19691c1daa4STomasz Cel The QAT PMD was updated with additional support for: 19791c1daa4STomasz Cel 198d514a531SJohn McNamara * The AES-CMAC algorithm. 199f4eed129SHemant Agrawal 200a124830aSFiona Trahe* **Added support for Dynamic Huffman Encoding to Intel QAT comp PMD.** 201a124830aSFiona Trahe 202a124830aSFiona Trahe The Intel QuickAssist (QAT) compression PMD has been updated with support 203a124830aSFiona Trahe for Dynamic Huffman Encoding for the Deflate algorithm. 204a124830aSFiona Trahe 20537d291c0SNikhil Rao* **Added Event Ethernet Tx Adapter.** 20637d291c0SNikhil Rao 20737d291c0SNikhil Rao Added event ethernet Tx adapter library that provides configuration and 20837d291c0SNikhil Rao data path APIs for the ethernet transmit stage of an event driven packet 20937d291c0SNikhil Rao processing application. These APIs abstract the implementation of the 21037d291c0SNikhil Rao transmit stage and allow the application to use eventdev PMD support or 21137d291c0SNikhil Rao a common implementation. 21237d291c0SNikhil Rao 21346ea5781SMattias Rönnblom* **Added Distributed Software Eventdev PMD.** 21446ea5781SMattias Rönnblom 21546ea5781SMattias Rönnblom Added the new Distributed Software Event Device (DSW), which is a 21646ea5781SMattias Rönnblom pure-software eventdev driver distributing the work of scheduling 21746ea5781SMattias Rönnblom among all eventdev ports and the lcores using them. DSW, compared to 21846ea5781SMattias Rönnblom the SW eventdev PMD, sacrifices load balancing performance to 21946ea5781SMattias Rönnblom gain better event scheduling throughput and scalability. 22046ea5781SMattias Rönnblom 22175706568SYipeng Wang* **Added extendable bucket feature to hash library (rte_hash).** 22275706568SYipeng Wang 223d514a531SJohn McNamara This new "extendable bucket" feature provides 100% insertion guarantee to 22475706568SYipeng Wang the capacity specified by the user by extending hash table with extra 22575706568SYipeng Wang buckets when needed to accommodate the unlikely event of intensive hash 226c7d93df5SYipeng Wang collisions. In addition, the internal hashing algorithm was changed to use 227c7d93df5SYipeng Wang partial-key hashing to improve memory efficiency and lookup performance. 22875706568SYipeng Wang 229e605a1d3SHonnappa Nagarahalli* **Added lock free reader/writer concurrency to hash library (rte_hash).** 230e605a1d3SHonnappa Nagarahalli 231e605a1d3SHonnappa Nagarahalli Lock free reader/writer concurrency prevents the readers from getting 232d514a531SJohn McNamara blocked due to a preempted writer thread. This allows the hash library 233d514a531SJohn McNamara to be used in scenarios where the writer thread runs on the control plane. 234e605a1d3SHonnappa Nagarahalli 235d514a531SJohn McNamara* **Added Traffic Pattern Aware Power Control Library.** 236450f0791SLiang Ma 237d514a531SJohn McNamara Added an experimental library that extends the Power Library and provides 238d514a531SJohn McNamara empty_poll APIs. This feature measures how many times empty_polls are 239d514a531SJohn McNamara executed per core and uses the number of empty polls as a hint for system 240450f0791SLiang Ma power management. 241450f0791SLiang Ma 242450f0791SLiang Ma See the :doc:`../prog_guide/power_man` section of the DPDK Programmers 243450f0791SLiang Ma Guide document for more information. 244450f0791SLiang Ma 245a63504a9SDavid Hunt* **Added JSON power policy interface for containers.** 246a63504a9SDavid Hunt 247a63504a9SDavid Hunt Extended the Power Library and vm_power_manager sample app to allow power 248a63504a9SDavid Hunt policies to be submitted via a FIFO using JSON formatted strings. Previously 249a63504a9SDavid Hunt limited to Virtual Machines, this feature extends power policy functionality 250a63504a9SDavid Hunt to containers and host applications that need to have their cores frequency 251a63504a9SDavid Hunt controlled based on the rules contained in the policy. 252a63504a9SDavid Hunt 2536e9270eaSCiara Power* **Added Telemetry API.** 2546e9270eaSCiara Power 255d514a531SJohn McNamara Added a new telemetry API which allows applications to transparently expose 256d514a531SJohn McNamara their telemetry in JSON via a UNIX socket. The JSON can be consumed by any 2576e9270eaSCiara Power Service Assurance agent, such as CollectD. 2586e9270eaSCiara Power 25945acbb1fSDan Gora* **Updated KNI kernel module, rte_kni library, and KNI sample application.** 26045acbb1fSDan Gora 26145acbb1fSDan Gora Updated the KNI kernel module with a new kernel module parameter, 26245acbb1fSDan Gora ``carrier=[on|off]`` to allow the user to control the default carrier 263d514a531SJohn McNamara state of the KNI kernel network interfaces. The default carrier state 26445acbb1fSDan Gora is now set to ``off``, so the interfaces cannot be used until the 26545acbb1fSDan Gora carrier state is set to ``on`` via ``rte_kni_update_link`` or 26645acbb1fSDan Gora by writing ``1`` to ``/sys/devices/virtual/net/<iface>/carrier``. 26745acbb1fSDan Gora In previous versions the default carrier state was left undefined. 268*3aaa4697SBruce Richardson See `Kernel NIC Interface <https://doc.dpdk.org/guides-18.11/sample_app_ug/kernel_nic_interface.html>`_ for more information. 26945acbb1fSDan Gora 270d514a531SJohn McNamara Also added the new API function ``rte_kni_update_link()`` to allow the user 27145acbb1fSDan Gora to set the carrier state of the KNI kernel network interface. 27245acbb1fSDan Gora 273d514a531SJohn McNamara Also added a new command line flag ``-m`` to the KNI sample application to 27445acbb1fSDan Gora monitor and automatically reflect the physical NIC carrier state to the 275d514a531SJohn McNamara KNI kernel network interface with the new ``rte_kni_update_link()`` API. 276*3aaa4697SBruce Richardson See `Kernel NIC Interface <https://doc.dpdk.org/guides-18.11/sample_app_ug/kernel_nic_interface.html>`_ for more information. 27745acbb1fSDan Gora 278d3a67720SIan Dolzhansky* **Added ability to switch queue deferred start flag on testpmd app.** 279d3a67720SIan Dolzhansky 280d3a67720SIan Dolzhansky Added a console command to testpmd app, giving ability to switch 281d3a67720SIan Dolzhansky ``rx_deferred_start`` or ``tx_deferred_start`` flag of the specified queue of 282d3a67720SIan Dolzhansky the specified port. The port must be stopped before the command call in order 283d3a67720SIan Dolzhansky to reconfigure queues. 284d3a67720SIan Dolzhansky 285d514a531SJohn McNamara* **Add a new sample application for vDPA.** 286edbed86dSXiaolong Ye 287edbed86dSXiaolong Ye The vdpa sample application creates vhost-user sockets by using the 288edbed86dSXiaolong Ye vDPA backend. vDPA stands for vhost Data Path Acceleration which utilizes 289edbed86dSXiaolong Ye virtio ring compatible devices to serve virtio driver directly to enable 290edbed86dSXiaolong Ye datapath acceleration. As vDPA driver can help to set up vhost datapath, 291edbed86dSXiaolong Ye this application doesn't need to launch dedicated worker threads for vhost 292edbed86dSXiaolong Ye enqueue/dequeue operations. 293edbed86dSXiaolong Ye 2943d0fad56SMarko Kovacevic* **Added cryptodev FIPS validation example application.** 2953d0fad56SMarko Kovacevic 2963d0fad56SMarko Kovacevic Added an example application to parse and perform symmetric cryptography 2973d0fad56SMarko Kovacevic computation to the NIST Cryptographic Algorithm Validation Program (CAVP) 2983d0fad56SMarko Kovacevic test vectors. 2993d0fad56SMarko Kovacevic 300d514a531SJohn McNamara* **Allow unit test binary to take parameters from the environment.** 301a5563b85SBruce Richardson 302a5563b85SBruce Richardson The unit test "test", or "dpdk-test", binary is often called from scripts, 303d514a531SJohn McNamara which can make passing additional parameters, such as a coremask, 304d514a531SJohn McNamara difficult. Support has been added to the application to allow it to take 305d514a531SJohn McNamara additional command-line parameter values from the ``DPDK_TEST_PARAMS`` 306a5563b85SBruce Richardson environment variable to make this application easier to use. 307a5563b85SBruce Richardson 30876b9d9deSThomas Monjalon 30976b9d9deSThomas MonjalonAPI Changes 31076b9d9deSThomas Monjalon----------- 31176b9d9deSThomas Monjalon 3125282bb1cSAnatoly Burakov* eal: ``rte_memseg_list`` structure now has an additional flag indicating 3135282bb1cSAnatoly Burakov whether the memseg list is externally allocated. This will have implications 3145282bb1cSAnatoly Burakov for any users of memseg-walk-related functions, as they will now have to skip 3155282bb1cSAnatoly Burakov externally allocated segments in most cases if the intent is to only iterate 3165282bb1cSAnatoly Burakov over internal DPDK memory. 317d514a531SJohn McNamara 318d514a531SJohn McNamara In addition the ``socket_id`` parameter across the entire DPDK has gained 319d514a531SJohn McNamara additional meaning, as some socket ID's will now be representing externally 320d514a531SJohn McNamara allocated memory. No changes will be required for existing code as backwards 321d514a531SJohn McNamara compatibility will be kept, and those who do not use this feature will not 322d514a531SJohn McNamara see these extra socket ID's. Any new API's must not check socket ID 323d514a531SJohn McNamara parameters themselves, and must instead leave it to the memory subsystem to 324d514a531SJohn McNamara decide whether socket ID is a valid one. 3255282bb1cSAnatoly Burakov 326e7ec4d2fSThomas Monjalon* eal: The following devargs functions, which were deprecated in 18.05, 327e7ec4d2fSThomas Monjalon were removed in 18.11: 328e7ec4d2fSThomas Monjalon ``rte_eal_parse_devargs_str()``, ``rte_eal_devargs_add()``, 329e7ec4d2fSThomas Monjalon ``rte_eal_devargs_type_count()``, and ``rte_eal_devargs_dump()``. 330e7ec4d2fSThomas Monjalon 3312effa126SThomas Monjalon* eal: The parameters of the function ``rte_devargs_remove()`` have changed 3322effa126SThomas Monjalon from bus and device names to ``struct rte_devargs``. 3332effa126SThomas Monjalon 33401e5b16cSThomas Monjalon* eal: The deprecated functions attach/detach were removed in 18.11. 33501e5b16cSThomas Monjalon ``rte_eal_dev_attach`` can be replaced by 33601e5b16cSThomas Monjalon ``rte_dev_probe`` or ``rte_eal_hotplug_add``. 33701e5b16cSThomas Monjalon ``rte_eal_dev_detach`` can be replaced by 33801e5b16cSThomas Monjalon ``rte_dev_remove`` or ``rte_eal_hotplug_remove``. 33901e5b16cSThomas Monjalon 340244d5130SQi Zhang* eal: The scope of ``rte_eal_hotplug_add()``/``rte_dev_probe()`` 341d514a531SJohn McNamara and ``rte_eal_hotplug_remove()``/``rte_dev_remove()`` has been extended. 342d514a531SJohn McNamara In the multi-process model, they will guarantee that the device is 343244d5130SQi Zhang attached or detached on all processes. 344244d5130SQi Zhang 345c4833b8eSDavid Marchand* mbuf: The ``__rte_mbuf_raw_free()`` and ``__rte_pktmbuf_prefree_seg()`` 346c4833b8eSDavid Marchand functions were deprecated since 17.05 and are replaced by 347c4833b8eSDavid Marchand ``rte_mbuf_raw_free()`` and ``rte_pktmbuf_prefree_seg()``. 348c4833b8eSDavid Marchand 349c9cce428SThomas Monjalon* ethdev: The deprecated functions attach/detach were removed in 18.11. 350d514a531SJohn McNamara ``rte_eth_dev_attach()`` can be replaced by ``RTE_ETH_FOREACH_MATCHING_DEV`` 351d514a531SJohn McNamara and ``rte_dev_probe()`` or ``rte_eal_hotplug_add()``. 352d514a531SJohn McNamara ``rte_eth_dev_detach()`` can be replaced by 353d514a531SJohn McNamara ``rte_dev_remove()`` or ``rte_eal_hotplug_remove()``. 354c9cce428SThomas Monjalon 35523ea57a2SThomas Monjalon* ethdev: A call to ``rte_eth_dev_release_port()`` has been added in 35623ea57a2SThomas Monjalon ``rte_eth_dev_close()``. As a consequence, a closed port is freed 35723ea57a2SThomas Monjalon and seen as invalid because of its state ``RTE_ETH_DEV_UNUSED``. 358d514a531SJohn McNamara This new behavior is enabled per driver for a migration period. 35923ea57a2SThomas Monjalon 360d514a531SJohn McNamara* A new device flag, ``RTE_ETH_DEV_NOLIVE_MAC_ADDR``, changes the order of 361d514a531SJohn McNamara actions inside ``rte_eth_dev_start()`` regarding MAC set. Some NICs do not 3621e5e3d2eSAlejandro Lucero support MAC changes once the port has started and with this new device 3631e5e3d2eSAlejandro Lucero flag the MAC can be properly configured in any case. This is particularly 3641e5e3d2eSAlejandro Lucero important for bonding. 3651e5e3d2eSAlejandro Lucero 366d514a531SJohn McNamara* The default behavior of CRC strip offload has changed in this 367d514a531SJohn McNamara release. Without any specific Rx offload flag, default behavior by a PMD is 368d514a531SJohn McNamara now to strip CRC. ``DEV_RX_OFFLOAD_CRC_STRIP`` offload flag has been removed. 369d514a531SJohn McNamara To request keeping CRC, application should set ``DEV_RX_OFFLOAD_KEEP_CRC`` 370d514a531SJohn McNamara Rx offload. 3715a62ed18SFerruh Yigit 372d514a531SJohn McNamara* eventdev: The type of the second parameter to 373d514a531SJohn McNamara ``rte_event_eth_rx_adapter_caps_get()`` has been changed from uint8_t to 374d514a531SJohn McNamara uint16_t. 37547542518SNikhil Rao 376a5e0c1edSFerruh Yigit* kni: By default, interface carrier status is ``off`` which means there won't 377d514a531SJohn McNamara be any traffic. It can be set to ``on`` via ``rte_kni_update_link()`` API or 378d514a531SJohn McNamara via ``sysfs`` interface: ``echo 1 > /sys/class/net/vEth0/carrier``. 379d514a531SJohn McNamara 380a5e0c1edSFerruh Yigit Note interface should be ``up`` to be able to read/write sysfs interface. 381a5e0c1edSFerruh Yigit When KNI sample application is used, ``-m`` parameter can be used to 382a5e0c1edSFerruh Yigit automatically update the carrier status for the interface. 383a5e0c1edSFerruh Yigit 384d514a531SJohn McNamara* kni: When ethtool support is enabled (``CONFIG_RTE_KNI_KMOD_ETHTOOL=y``) 385d514a531SJohn McNamara ethtool commands ``ETHTOOL_GSET & ETHTOOL_SSET`` are no longer supported for 386d514a531SJohn McNamara kernels that have ``ETHTOOL_GLINKSETTINGS & ETHTOOL_SLINKSETTINGS`` support. 387137f1a5cSFerruh Yigit This means ``ethtool "-a|--show-pause", "-s|--change"`` won't work, and 388137f1a5cSFerruh Yigit ``ethtool <iface>`` output will have less information. 389137f1a5cSFerruh Yigit 39076b9d9deSThomas Monjalon 39176b9d9deSThomas MonjalonABI Changes 39276b9d9deSThomas Monjalon----------- 39376b9d9deSThomas Monjalon 39464cdfc35SAnatoly Burakov* eal: added ``legacy_mem`` and ``single_file_segments`` values to 39564cdfc35SAnatoly Burakov ``rte_config`` structure on account of improving DPDK usability when 39664cdfc35SAnatoly Burakov using either ``--legacy-mem`` or ``--single-file-segments`` flags. 39764cdfc35SAnatoly Burakov 3984104b2a4SAnatoly Burakov* eal: EAL library ABI version was changed due to previously announced work on 3994104b2a4SAnatoly Burakov supporting external memory in DPDK: 400d514a531SJohn McNamara 401d514a531SJohn McNamara - Structure ``rte_memseg_list`` now has a new field indicating length 4024104b2a4SAnatoly Burakov of memory addressed by the segment list 403d514a531SJohn McNamara - Structure ``rte_memseg_list`` now has a new flag indicating whether 4045282bb1cSAnatoly Burakov the memseg list refers to external memory 405d514a531SJohn McNamara - Structure ``rte_malloc_heap`` now has a new field indicating socket 40672cf92b3SAnatoly Burakov ID the malloc heap belongs to 407d514a531SJohn McNamara - Structure ``rte_mem_config`` has had its ``malloc_heaps`` array 40872cf92b3SAnatoly Burakov resized from ``RTE_MAX_NUMA_NODES`` to ``RTE_MAX_HEAPS`` value 409d514a531SJohn McNamara - Structure ``rte_malloc_heap`` now has a ``heap_name`` member 410d514a531SJohn McNamara - Structure ``rte_eal_memconfig`` has been extended to contain next 41102e323a8SAnatoly Burakov socket ID for externally allocated segments 4124104b2a4SAnatoly Burakov 413d514a531SJohn McNamara* eal: Added ``dma_maskbits`` to ``rte_mem_config`` for keeping the most 414d514a531SJohn McNamara restrictive DMA mask based on the devices addressing limitations. 415223b7f1dSAlejandro Lucero 416d514a531SJohn McNamara* eal: The structure ``rte_device`` has a new field to reference a 417d514a531SJohn McNamara ``rte_bus``. It thus changes the size of the ``struct rte_device`` and the 418d514a531SJohn McNamara inherited device structures of all buses. 41976b9d9deSThomas Monjalon 42076b9d9deSThomas Monjalon 42176b9d9deSThomas MonjalonShared Library Versions 42276b9d9deSThomas Monjalon----------------------- 42376b9d9deSThomas Monjalon 42476b9d9deSThomas MonjalonThe libraries prepended with a plus sign were incremented in this version. 42576b9d9deSThomas Monjalon 42676b9d9deSThomas Monjalon.. code-block:: diff 42776b9d9deSThomas Monjalon 42876b9d9deSThomas Monjalon librte_acl.so.2 42976b9d9deSThomas Monjalon librte_bbdev.so.1 43076b9d9deSThomas Monjalon librte_bitratestats.so.2 43176b9d9deSThomas Monjalon librte_bpf.so.1 4326844d146SThomas Monjalon + librte_bus_dpaa.so.2 4336844d146SThomas Monjalon + librte_bus_fslmc.so.2 4346844d146SThomas Monjalon + librte_bus_ifpga.so.2 4356844d146SThomas Monjalon + librte_bus_pci.so.2 4366844d146SThomas Monjalon + librte_bus_vdev.so.2 4376844d146SThomas Monjalon + librte_bus_vmbus.so.2 43876b9d9deSThomas Monjalon librte_cfgfile.so.2 43976b9d9deSThomas Monjalon librte_cmdline.so.2 44076b9d9deSThomas Monjalon librte_compressdev.so.1 44176b9d9deSThomas Monjalon librte_cryptodev.so.5 44276b9d9deSThomas Monjalon librte_distributor.so.1 44364cdfc35SAnatoly Burakov + librte_eal.so.9 444335e57d3SFerruh Yigit librte_efd.so.1 445deb373fbSAlejandro Lucero + librte_ethdev.so.11 44647542518SNikhil Rao + librte_eventdev.so.6 44776b9d9deSThomas Monjalon librte_flow_classify.so.1 44876b9d9deSThomas Monjalon librte_gro.so.1 44976b9d9deSThomas Monjalon librte_gso.so.1 45076b9d9deSThomas Monjalon librte_hash.so.2 45176b9d9deSThomas Monjalon librte_ip_frag.so.1 45276b9d9deSThomas Monjalon librte_jobstats.so.1 45376b9d9deSThomas Monjalon librte_kni.so.2 45476b9d9deSThomas Monjalon librte_kvargs.so.1 45576b9d9deSThomas Monjalon librte_latencystats.so.1 45676b9d9deSThomas Monjalon librte_lpm.so.2 45776b9d9deSThomas Monjalon librte_mbuf.so.4 458335e57d3SFerruh Yigit librte_member.so.1 45976b9d9deSThomas Monjalon librte_mempool.so.5 46076b9d9deSThomas Monjalon librte_meter.so.2 46176b9d9deSThomas Monjalon librte_metrics.so.1 46276b9d9deSThomas Monjalon librte_net.so.1 46376b9d9deSThomas Monjalon librte_pci.so.1 46476b9d9deSThomas Monjalon librte_pdump.so.2 46576b9d9deSThomas Monjalon librte_pipeline.so.3 46676b9d9deSThomas Monjalon librte_pmd_bnxt.so.2 46776b9d9deSThomas Monjalon librte_pmd_bond.so.2 46876b9d9deSThomas Monjalon librte_pmd_i40e.so.2 46976b9d9deSThomas Monjalon librte_pmd_ixgbe.so.2 47076b9d9deSThomas Monjalon librte_pmd_dpaa2_qdma.so.1 47176b9d9deSThomas Monjalon librte_pmd_ring.so.2 47276b9d9deSThomas Monjalon librte_pmd_softnic.so.1 47376b9d9deSThomas Monjalon librte_pmd_vhost.so.2 47476b9d9deSThomas Monjalon librte_port.so.3 47576b9d9deSThomas Monjalon librte_power.so.1 47676b9d9deSThomas Monjalon librte_rawdev.so.1 47776b9d9deSThomas Monjalon librte_reorder.so.1 47876b9d9deSThomas Monjalon librte_ring.so.2 47976b9d9deSThomas Monjalon librte_sched.so.1 48076b9d9deSThomas Monjalon librte_security.so.1 48176b9d9deSThomas Monjalon librte_table.so.3 48276b9d9deSThomas Monjalon librte_timer.so.1 483a8b52dafSFerruh Yigit librte_vhost.so.4 48476b9d9deSThomas Monjalon 48576b9d9deSThomas Monjalon 48676b9d9deSThomas MonjalonKnown Issues 48776b9d9deSThomas Monjalon------------ 48876b9d9deSThomas Monjalon 489d514a531SJohn McNamara* When using SR-IOV (VF) support with netvsc PMD and the Mellanox mlx5 490d514a531SJohn McNamara bifurcated driver the Linux netvsc device must be brought up before the 491d514a531SJohn McNamara netvsc device is unbound and passed to the DPDK. 492dc7680e8SStephen Hemminger 493d514a531SJohn McNamara* IBM Power8 is not supported in this release of DPDK. IBM Power9 is 494d514a531SJohn McNamara supported. 4956b062d56SDavid Wilder 496d514a531SJohn McNamara* ``AVX-512`` support has been disabled for ``GCC`` builds [1] because of a 497d514a531SJohn McNamara crash [2]. This can affect ``native`` machine type build targets on the 498d514a531SJohn McNamara platforms that support ``AVX512F`` like ``Intel Skylake`` processors, and 499d514a531SJohn McNamara can cause a possible performance drop. The immediate workaround is to use 500d514a531SJohn McNamara ``clang`` compiler on these platforms. The issue has been identified as a 501d514a531SJohn McNamara GCC defect and reported to the GCC community [3]. Further actions will be 502d514a531SJohn McNamara taken based on the GCC defect result. 503aa47e0b7SFerruh Yigit 504d514a531SJohn McNamara - [1]: Commit 8d07c82b239f ("mk: disable gcc AVX512F support") 505d514a531SJohn McNamara - [2]: https://bugs.dpdk.org/show_bug.cgi?id=97 506d514a531SJohn McNamara - [3]: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88096 507aa47e0b7SFerruh Yigit 50876b9d9deSThomas Monjalon 50976b9d9deSThomas MonjalonTested Platforms 51076b9d9deSThomas Monjalon---------------- 51176b9d9deSThomas Monjalon 5121b6aa71bSLijuan Tu* Intel(R) platforms with Intel(R) NICs combinations 5131b6aa71bSLijuan Tu 5141b6aa71bSLijuan Tu * CPU 5151b6aa71bSLijuan Tu 5161b6aa71bSLijuan Tu * Intel(R) Atom(TM) CPU C3758 @ 2.20GHz 5171b6aa71bSLijuan Tu * Intel(R) Xeon(R) CPU D-1541 @ 2.10GHz 5181b6aa71bSLijuan Tu * Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz 5191b6aa71bSLijuan Tu * Intel(R) Xeon(R) CPU E5-2699 v3 @ 2.30GHz 5201b6aa71bSLijuan Tu * Intel(R) Xeon(R) CPU E5-2699 v4 @ 2.20GHz 5211b6aa71bSLijuan Tu * Intel(R) Xeon(R) Platinum 8180 CPU @ 2.50GHz 5221b6aa71bSLijuan Tu 5231b6aa71bSLijuan Tu * OS: 5241b6aa71bSLijuan Tu 5251b6aa71bSLijuan Tu * CentOS 7.5 5261b6aa71bSLijuan Tu * Fedora 25 5271b6aa71bSLijuan Tu * Fedora 28 5281b6aa71bSLijuan Tu * FreeBSD 11.2 5291b6aa71bSLijuan Tu * Red Hat Enterprise Linux Server release 7.5 5301b6aa71bSLijuan Tu * Open SUSE 15 5311b6aa71bSLijuan Tu * Wind River Linux 8 5321b6aa71bSLijuan Tu * Ubuntu 14.04 5331b6aa71bSLijuan Tu * Ubuntu 16.04 5341b6aa71bSLijuan Tu * Ubuntu 16.10 5351b6aa71bSLijuan Tu * Ubuntu 17.10 5361b6aa71bSLijuan Tu * Ubuntu 18.04 5371b6aa71bSLijuan Tu 5381b6aa71bSLijuan Tu * NICs: 5391b6aa71bSLijuan Tu 5401b6aa71bSLijuan Tu * Intel(R) 82599ES 10 Gigabit Ethernet Controller 5411b6aa71bSLijuan Tu 5421b6aa71bSLijuan Tu * Firmware version: 0x61bf0001 5431b6aa71bSLijuan Tu * Device id (pf/vf): 8086:10fb / 8086:10ed 5441b6aa71bSLijuan Tu * Driver version: 5.2.3 (ixgbe) 5451b6aa71bSLijuan Tu 5461b6aa71bSLijuan Tu * Intel(R) Corporation Ethernet Connection X552/X557-AT 10GBASE-T 5471b6aa71bSLijuan Tu 5481b6aa71bSLijuan Tu * Firmware version: 0x800003e7 5491b6aa71bSLijuan Tu * Device id (pf/vf): 8086:15ad / 8086:15a8 5501b6aa71bSLijuan Tu * Driver version: 4.4.6 (ixgbe) 5511b6aa71bSLijuan Tu 5521b6aa71bSLijuan Tu * Intel(R) Ethernet Converged Network Adapter X710-DA4 (4x10G) 5531b6aa71bSLijuan Tu 5541b6aa71bSLijuan Tu * Firmware version: 6.01 0x80003221 5551b6aa71bSLijuan Tu * Device id (pf/vf): 8086:1572 / 8086:154c 5561b6aa71bSLijuan Tu * Driver version: 2.4.6 (i40e) 5571b6aa71bSLijuan Tu 558d514a531SJohn McNamara * Intel(R) Corporation Ethernet Connection X722 for 10GbE SFP+ (4x10G) 5591b6aa71bSLijuan Tu 5601b6aa71bSLijuan Tu * Firmware version: 3.33 0x80000fd5 0.0.0 5611b6aa71bSLijuan Tu * Device id (pf/vf): 8086:37d0 / 8086:37cd 5621b6aa71bSLijuan Tu * Driver version: 2.4.6 (i40e) 5631b6aa71bSLijuan Tu 5641b6aa71bSLijuan Tu * Intel(R) Ethernet Converged Network Adapter XXV710-DA2 (2x25G) 5651b6aa71bSLijuan Tu 5661b6aa71bSLijuan Tu * Firmware version: 6.01 0x80003221 5671b6aa71bSLijuan Tu * Device id (pf/vf): 8086:158b / 8086:154c 5681b6aa71bSLijuan Tu * Driver version: 2.4.6 (i40e) 5691b6aa71bSLijuan Tu 5701b6aa71bSLijuan Tu * Intel(R) Ethernet Converged Network Adapter XL710-QDA2 (2X40G) 5711b6aa71bSLijuan Tu 5721b6aa71bSLijuan Tu * Firmware version: 6.01 0x8000321c 5731b6aa71bSLijuan Tu * Device id (pf/vf): 8086:1583 / 8086:154c 5741b6aa71bSLijuan Tu * Driver version: 2.4.6 (i40e) 5751b6aa71bSLijuan Tu 5761b6aa71bSLijuan Tu * Intel(R) Corporation I350 Gigabit Network Connection 5771b6aa71bSLijuan Tu 5781b6aa71bSLijuan Tu * Firmware version: 1.63, 0x80000dda 5791b6aa71bSLijuan Tu * Device id (pf/vf): 8086:1521 / 8086:1520 5801b6aa71bSLijuan Tu * Driver version: 5.4.0-k (igb) 581b319e173SRaslan Darawsheh 582b319e173SRaslan Darawsheh* Intel(R) platforms with Mellanox(R) NICs combinations 583b319e173SRaslan Darawsheh 584b319e173SRaslan Darawsheh * CPU: 585b319e173SRaslan Darawsheh 586b319e173SRaslan Darawsheh * Intel(R) Xeon(R) Gold 6154 CPU @ 3.00GHz 587b319e173SRaslan Darawsheh * Intel(R) Xeon(R) CPU E5-2697A v4 @ 2.60GHz 588b319e173SRaslan Darawsheh * Intel(R) Xeon(R) CPU E5-2697 v3 @ 2.60GHz 589b319e173SRaslan Darawsheh * Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz 590b319e173SRaslan Darawsheh * Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz 591b319e173SRaslan Darawsheh * Intel(R) Xeon(R) CPU E5-2640 @ 2.50GHz 592b319e173SRaslan Darawsheh * Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz 593b319e173SRaslan Darawsheh 594b319e173SRaslan Darawsheh * OS: 595b319e173SRaslan Darawsheh 596b319e173SRaslan Darawsheh * Red Hat Enterprise Linux Server release 7.6 (Maipo) 597b319e173SRaslan Darawsheh * Red Hat Enterprise Linux Server release 7.5 (Maipo) 598b319e173SRaslan Darawsheh * Red Hat Enterprise Linux Server release 7.4 (Maipo) 599b319e173SRaslan Darawsheh * Red Hat Enterprise Linux Server release 7.3 (Maipo) 600b319e173SRaslan Darawsheh * Red Hat Enterprise Linux Server release 7.2 (Maipo) 601b319e173SRaslan Darawsheh * Ubuntu 18.10 602b319e173SRaslan Darawsheh * Ubuntu 18.04 603b319e173SRaslan Darawsheh * Ubuntu 17.10 604b319e173SRaslan Darawsheh * Ubuntu 16.04 605b319e173SRaslan Darawsheh * SUSE Linux Enterprise Server 15 606b319e173SRaslan Darawsheh 607b319e173SRaslan Darawsheh * MLNX_OFED: 4.4-2.0.1.0 608b319e173SRaslan Darawsheh * MLNX_OFED: 4.5-0.3.1.0 609b319e173SRaslan Darawsheh 610b319e173SRaslan Darawsheh * NICs: 611b319e173SRaslan Darawsheh 612b319e173SRaslan Darawsheh * Mellanox(R) ConnectX(R)-3 Pro 40G MCX354A-FCC_Ax (2x40G) 613b319e173SRaslan Darawsheh 614b319e173SRaslan Darawsheh * Host interface: PCI Express 3.0 x8 615b319e173SRaslan Darawsheh * Device ID: 15b3:1007 616b319e173SRaslan Darawsheh * Firmware version: 2.42.5000 617b319e173SRaslan Darawsheh 618b319e173SRaslan Darawsheh * Mellanox(R) ConnectX(R)-4 10G MCX4111A-XCAT (1x10G) 619b319e173SRaslan Darawsheh 620b319e173SRaslan Darawsheh * Host interface: PCI Express 3.0 x8 621b319e173SRaslan Darawsheh * Device ID: 15b3:1013 622b319e173SRaslan Darawsheh * Firmware version: 12.23.8022 and above 623b319e173SRaslan Darawsheh 624b319e173SRaslan Darawsheh * Mellanox(R) ConnectX(R)-4 10G MCX4121A-XCAT (2x10G) 625b319e173SRaslan Darawsheh 626b319e173SRaslan Darawsheh * Host interface: PCI Express 3.0 x8 627b319e173SRaslan Darawsheh * Device ID: 15b3:1013 628b319e173SRaslan Darawsheh * Firmware version: 12.23.8022 and above 629b319e173SRaslan Darawsheh 630b319e173SRaslan Darawsheh * Mellanox(R) ConnectX(R)-4 25G MCX4111A-ACAT (1x25G) 631b319e173SRaslan Darawsheh 632b319e173SRaslan Darawsheh * Host interface: PCI Express 3.0 x8 633b319e173SRaslan Darawsheh * Device ID: 15b3:1013 634b319e173SRaslan Darawsheh * Firmware version: 12.23.8022 and above 635b319e173SRaslan Darawsheh 636b319e173SRaslan Darawsheh * Mellanox(R) ConnectX(R)-4 25G MCX4121A-ACAT (2x25G) 637b319e173SRaslan Darawsheh 638b319e173SRaslan Darawsheh * Host interface: PCI Express 3.0 x8 639b319e173SRaslan Darawsheh * Device ID: 15b3:1013 640b319e173SRaslan Darawsheh * Firmware version: 12.23.8022 and above 641b319e173SRaslan Darawsheh 642b319e173SRaslan Darawsheh * Mellanox(R) ConnectX(R)-4 40G MCX4131A-BCAT/MCX413A-BCAT (1x40G) 643b319e173SRaslan Darawsheh 644b319e173SRaslan Darawsheh * Host interface: PCI Express 3.0 x8 645b319e173SRaslan Darawsheh * Device ID: 15b3:1013 646b319e173SRaslan Darawsheh * Firmware version: 12.23.8022 and above 647b319e173SRaslan Darawsheh 648b319e173SRaslan Darawsheh * Mellanox(R) ConnectX(R)-4 40G MCX415A-BCAT (1x40G) 649b319e173SRaslan Darawsheh 650b319e173SRaslan Darawsheh * Host interface: PCI Express 3.0 x16 651b319e173SRaslan Darawsheh * Device ID: 15b3:1013 652b319e173SRaslan Darawsheh * Firmware version: 12.23.8022 and above 653b319e173SRaslan Darawsheh 654b319e173SRaslan Darawsheh * Mellanox(R) ConnectX(R)-4 50G MCX4131A-GCAT/MCX413A-GCAT (1x50G) 655b319e173SRaslan Darawsheh 656b319e173SRaslan Darawsheh * Host interface: PCI Express 3.0 x8 657b319e173SRaslan Darawsheh * Device ID: 15b3:1013 658b319e173SRaslan Darawsheh * Firmware version: 12.23.8022 and above 659b319e173SRaslan Darawsheh 660b319e173SRaslan Darawsheh * Mellanox(R) ConnectX(R)-4 50G MCX414A-BCAT (2x50G) 661b319e173SRaslan Darawsheh 662b319e173SRaslan Darawsheh * Host interface: PCI Express 3.0 x8 663b319e173SRaslan Darawsheh * Device ID: 15b3:1013 664b319e173SRaslan Darawsheh * Firmware version: 12.23.8022 and above 665b319e173SRaslan Darawsheh 666b319e173SRaslan Darawsheh * Mellanox(R) ConnectX(R)-4 50G MCX415A-GCAT/MCX416A-BCAT/MCX416A-GCAT (2x50G) 667b319e173SRaslan Darawsheh 668b319e173SRaslan Darawsheh * Host interface: PCI Express 3.0 x16 669b319e173SRaslan Darawsheh * Device ID: 15b3:1013 670b319e173SRaslan Darawsheh * Firmware version: 12.23.8022 and above 671b319e173SRaslan Darawsheh * Firmware version: 12.23.8022 and above 672b319e173SRaslan Darawsheh 673b319e173SRaslan Darawsheh * Mellanox(R) ConnectX(R)-4 50G MCX415A-CCAT (1x100G) 674b319e173SRaslan Darawsheh 675b319e173SRaslan Darawsheh * Host interface: PCI Express 3.0 x16 676b319e173SRaslan Darawsheh * Device ID: 15b3:1013 677b319e173SRaslan Darawsheh * Firmware version: 12.23.8022 and above 678b319e173SRaslan Darawsheh 679b319e173SRaslan Darawsheh * Mellanox(R) ConnectX(R)-4 100G MCX416A-CCAT (2x100G) 680b319e173SRaslan Darawsheh 681b319e173SRaslan Darawsheh * Host interface: PCI Express 3.0 x16 682b319e173SRaslan Darawsheh * Device ID: 15b3:1013 683b319e173SRaslan Darawsheh * Firmware version: 12.23.8022 and above 684b319e173SRaslan Darawsheh 685b319e173SRaslan Darawsheh * Mellanox(R) ConnectX(R)-4 Lx 10G MCX4121A-XCAT (2x10G) 686b319e173SRaslan Darawsheh 687b319e173SRaslan Darawsheh * Host interface: PCI Express 3.0 x8 688b319e173SRaslan Darawsheh * Device ID: 15b3:1015 689b319e173SRaslan Darawsheh * Firmware version: 14.23.8022 and above 690b319e173SRaslan Darawsheh 691b319e173SRaslan Darawsheh * Mellanox(R) ConnectX(R)-4 Lx 25G MCX4121A-ACAT (2x25G) 692b319e173SRaslan Darawsheh 693b319e173SRaslan Darawsheh * Host interface: PCI Express 3.0 x8 694b319e173SRaslan Darawsheh * Device ID: 15b3:1015 695b319e173SRaslan Darawsheh * Firmware version: 14.23.8022 and above 696b319e173SRaslan Darawsheh 697b319e173SRaslan Darawsheh * Mellanox(R) ConnectX(R)-5 100G MCX556A-ECAT (2x100G) 698b319e173SRaslan Darawsheh 699b319e173SRaslan Darawsheh * Host interface: PCI Express 3.0 x16 700b319e173SRaslan Darawsheh * Device ID: 15b3:1017 701b319e173SRaslan Darawsheh * Firmware version: 16.23.8022 and above 702b319e173SRaslan Darawsheh 703b319e173SRaslan Darawsheh * Mellanox(R) ConnectX(R)-5 Ex EN 100G MCX516A-CDAT (2x100G) 704b319e173SRaslan Darawsheh 705b319e173SRaslan Darawsheh * Host interface: PCI Express 4.0 x16 706b319e173SRaslan Darawsheh * Device ID: 15b3:1019 707b319e173SRaslan Darawsheh * Firmware version: 16.23.8022 and above 708b319e173SRaslan Darawsheh 709b319e173SRaslan Darawsheh* ARM platforms with Mellanox(R) NICs combinations 710b319e173SRaslan Darawsheh 711b319e173SRaslan Darawsheh * CPU: 712b319e173SRaslan Darawsheh 713b319e173SRaslan Darawsheh * Qualcomm ARM 1.1 2500MHz 714b319e173SRaslan Darawsheh 715b319e173SRaslan Darawsheh * OS: 716b319e173SRaslan Darawsheh 717b319e173SRaslan Darawsheh * Red Hat Enterprise Linux Server release 7.5 (Maipo) 718b319e173SRaslan Darawsheh 719b319e173SRaslan Darawsheh * NICs: 720b319e173SRaslan Darawsheh 721b319e173SRaslan Darawsheh * Mellanox(R) ConnectX(R)-4 Lx 25G MCX4121A-ACAT (2x25G) 722b319e173SRaslan Darawsheh 723b319e173SRaslan Darawsheh * Host interface: PCI Express 3.0 x8 724b319e173SRaslan Darawsheh * Device ID: 15b3:1015 725b319e173SRaslan Darawsheh * Firmware version: 14.24.0220 726b319e173SRaslan Darawsheh 727b319e173SRaslan Darawsheh * Mellanox(R) ConnectX(R)-5 100G MCX556A-ECAT (2x100G) 728b319e173SRaslan Darawsheh 729b319e173SRaslan Darawsheh * Host interface: PCI Express 3.0 x16 730b319e173SRaslan Darawsheh * Device ID: 15b3:1017 731b319e173SRaslan Darawsheh * Firmware version: 16.24.0220 732b319e173SRaslan Darawsheh 733b319e173SRaslan Darawsheh* Mellanox(R) BlueField SmartNIC 734b319e173SRaslan Darawsheh 735b319e173SRaslan Darawsheh * Mellanox(R) BlueField SmartNIC MT416842 (2x25G) 736d514a531SJohn McNamara 737b319e173SRaslan Darawsheh * Host interface: PCI Express 3.0 x16 738b319e173SRaslan Darawsheh * Device ID: 15b3:a2d2 739b319e173SRaslan Darawsheh * Firmware version: 18.24.0246 740b319e173SRaslan Darawsheh 741b319e173SRaslan Darawsheh * SoC ARM cores running OS: 742d514a531SJohn McNamara 743b319e173SRaslan Darawsheh * CentOS Linux release 7.4.1708 (AltArch) 744b319e173SRaslan Darawsheh * MLNX_OFED 4.4-2.5.3.0 745b319e173SRaslan Darawsheh 746b319e173SRaslan Darawsheh * DPDK application running on ARM cores inside SmartNIC 747fdb65026SShreyansh Jain 748fdb65026SShreyansh Jain* ARM SoC combinations from NXP (with integrated NICs) 749fdb65026SShreyansh Jain 750fdb65026SShreyansh Jain * SoC: 751fdb65026SShreyansh Jain 752fdb65026SShreyansh Jain * NXP/Freescale QorIQ LS1046A with ARM Cortex A72 753fdb65026SShreyansh Jain * NXP/Freescale QorIQ LS2088A with ARM Cortex A72 754fdb65026SShreyansh Jain 755fdb65026SShreyansh Jain * OS: 756fdb65026SShreyansh Jain 757fdb65026SShreyansh Jain * Ubuntu 18.04.1 LTS with NXP QorIQ LSDK 1809 support packages 758fdb65026SShreyansh Jain * Ubuntu 16.04.3 LTS with NXP QorIQ LSDK 1803 support packages 759