xref: /dpdk/doc/guides/rel_notes/release_18_11.rst (revision 3aaa46977de3066d862296429378f92a1fa2961d)
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