4 .. **Read this first.**
6 The text in the sections below explains how to update the release notes.
8 Use proper spelling, capitalization and punctuation in all sections.
10 Variable and config names should be quoted as fixed width text:
13 Build the docs and view the output file to ensure the changes are correct::
17 xdg-open build/doc/html/guides/rel_notes/release_17_11.html
23 .. This section should contain new features added in this release. Sample
26 * **Add a title in the past tense with a full stop.**
28 Add a short 1-2 sentence description in the past tense. The description
29 should be enough to allow someone scanning the release notes to
30 understand the new feature.
32 If the feature adds a lot of sub-features you can use a bullet list like
35 * Added feature foo to do something.
36 * Enhanced feature bar to do something else.
38 Refer to the previous release notes for examples.
40 This section is a comment. do not overwrite or remove it.
41 Also, make sure to start the actual text at the margin.
42 =========================================================
44 * **Extended port_id range from uint8_t to uint16_t.**
46 Increased the ``port_id`` range from 8 bits to 16 bits in order to support
47 more than 256 ports in DPDK. All ethdev APIs which have ``port_id`` as
48 parameter have been changed.
50 * **Modified the return type of rte_eth_stats_reset.**
52 Changed return type of ``rte_eth_stats_reset`` from ``void`` to ``int`` so
53 that the caller can determine whether a device supports the operation or not
54 and if the operation was carried out.
56 * **Added a new driver for Marvell Armada 7k/8k devices.**
58 Added the new ``mrvl`` net driver for Marvell Armada 7k/8k devices. See the
59 :doc:`../nics/mrvl` NIC guide for more details on this new driver.
61 * **Updated mlx4 driver.**
63 Updated the mlx4 driver including the following changes:
65 * Isolated mode (rte_flow) can now be enabled anytime, not only during
66 initial device configuration.
67 * Flow rules now support up to 4096 priority levels usable at will by
69 * Enhanced error message to help debugging invalid/unsupported flow rules.
70 * Flow rules matching all multicast and promiscuous traffic are now allowed.
71 * No more software restrictions on flow rules with the RSS action, their
72 configuration is much more flexible.
73 * Significantly reduced memory footprint for Rx and Tx queue objects.
74 * While supported, UDP RSS is temporarily disabled due to a remaining issue
75 with its support in the Linux kernel.
76 * The new RSS implementation does not automatically spread traffic according
77 to the inner packet of VXLAN frames anymore, only the outer one (like
79 * Partial (Tx only) support for secondary processes was broken and had to be
81 * Refactored driver to get rid of dependency on the components provided by
82 Mellanox OFED and instead rely on the current and public rdma-core
83 package and Linux version from now on.
84 * Removed compile-time limitation on number of device instances the PMD
87 * **Updated mlx5 driver.**
89 Updated the mlx5 driver including the following changes:
91 * Enabled the PMD to run on top of upstream Linux kernel and rdma-core
92 libs, removing the dependency on specific Mellanox OFED libraries.
93 * Improved PMD latency performance.
94 * Improved PMD memory footprint.
95 * Added support for vectorized Rx/Tx burst for ARMv8.
96 * Added support for secondary process.
97 * Added support for flow counters.
98 * Added support for Rx hardware timestamp offload.
99 * Added support for device removal event.
101 * **Added SoftNIC PMD.**
103 Added a new SoftNIC PMD. This virtual device provides applications with
104 software fallback support for traffic management.
106 * **Added support for NXP DPAA Devices.**
108 Added support for NXP's DPAA devices - LS104x series. This includes:
111 * DPAA Mempool driver for supporting offloaded packet memory pool
112 * DPAA PMD for DPAA devices
114 See the :doc:`../nics/dpaa` document for more details of this new driver.
116 * **Updated support for Cavium OCTEONTX Device.**
118 Updated support for Cavium's OCTEONTX device (CN83xx). This includes:
120 * OCTEONTX Mempool driver for supporting offloaded packet memory pool
121 * OCTEONTX Ethdev PMD
122 * OCTEONTX Eventdev-Ethdev Rx adapter
124 See the :doc:`../nics/octeontx` document for more details of this new driver.
126 * **Added PF support to the Netronome NFP PMD.**
128 Added PF support to the Netronome NFP PMD. Previously the NFP PMD only
129 supported VFs. PF support is just as a basic DPDK port and has no VF
132 PF support comes with firmware upload support which allows the PMD to
133 independently work from kernel netdev NFP drivers.
135 NFP 4000 devices are also now supported along with previous 6000 devices.
137 * **Updated bnxt PMD.**
139 Major enhancements include:
141 * Support for Flow API
142 * Support for Tx and Rx descriptor status functions
144 * **Added bus agnostic functions to cryptodev for PMD initialization**
146 Added new PMD assist, bus independent, functions
147 ``rte_cryptodev_pmd_parse_input_args()``, ``rte_cryptodev_pmd_create()`` and
148 ``rte_cryptodev_pmd_destroy()`` for drivers to manage creation and
149 destruction of new device instances.
151 * **Updated QAT crypto PMD.**
153 Added several performance enhancements:
155 * Removed atomics from the internal queue pair structure.
156 * Added coalesce writes to HEAD CSR on response processing.
157 * Added coalesce writes to TAIL CSR on request processing.
159 In addition support was added for the AES CCM algorithm.
161 * **Updated the AESNI MB PMD.**
163 The AESNI MB PMD has been updated with additional support for:
165 * The DES CBC algorithm.
166 * The DES DOCSIS BPI algorithm.
168 This change requires version 0.47 of the IPSec Multi-buffer library. For
169 more details see the :doc:`../cryptodevs/aesni_mb` documentation.
171 * **Updated the OpenSSL PMD.**
173 The OpenSSL PMD has been updated with additional support for:
175 * The DES CBC algorithm.
176 * The AES CCM algorithm.
178 * **Added NXP DPAA SEC crypto PMD.**
180 A new ``dpaa_sec`` hardware based crypto PMD for NXP DPAA devices has been
181 added. See the :doc:`../cryptodevs/dpaa_sec` document for more details.
183 * **Added MRVL crypto PMD.**
185 A new crypto PMD has been added, which provides several ciphering and hashing
186 algorithms. All cryptography operations use the MUSDK library crypto API.
187 See the :doc:`../cryptodevs/mrvl` document for more details.
189 * **Add new benchmarking mode to dpdk-test-crypto-perf application.**
191 Added a new "PMD cyclecount" benchmark mode to the ``dpdk-test-crypto-perf``
192 application to display a detailed breakdown of CPU cycles used by hardware
195 * **Added the Security Offload Library.**
197 Added an experimental library - ``rte_security``. This provide security APIs
198 for protocols like IPSec using inline ipsec offload to ethernet devices or
199 full protocol offload with lookaside crypto devices.
201 See the :doc:`../prog_guide/rte_security` section of the DPDK Programmers
202 Guide document for more information.
204 * **Updated the DPAA2_SEC crypto driver to support rte_security.**
206 Updated the ``dpaa2_sec`` crypto PMD to support ``rte_security`` lookaside
207 protocol offload for IPSec.
209 * **Updated the IXGBE ethernet driver to support rte_security.**
211 Updated ixgbe ethernet PMD to support ``rte_security`` inline IPSec offload.
213 * **Updated i40e driver to support GTP-C/GTP-U.**
215 Updated i40e PMD to support GTP-C/GTP-U with GTP-C/GTP-U supporting
216 profiles which can be programmed by dynamic device personalization (DDP)
219 * **Updated ipsec-secgw application to support rte_security.**
221 Updated the ``ipsec-secgw`` sample application to support ``rte_security``
222 actions for ipsec inline and full protocol offload using lookaside crypto
225 * **Added IOMMU support to libvhost-user**
227 Implemented device IOTLB in the Vhost-user backend, and enabled Virtio's
228 IOMMU feature. The feature is disabled by default, and can be enabled by
229 setting ``RTE_VHOST_USER_IOMMU_SUPPORT`` flag at vhost device registration
232 * **Added the Event Ethernet Adapter Library.**
234 Added the Event Ethernet Adapter library. This library provides APIs for
235 eventdev applications to configure the ethdev for eventdev packet flow.
237 * **Updated DPAA2 Event PMD for the Event Ethernet Adapter.**
239 Added support for the eventdev ethernet adapter for DPAA2.
241 * **Added Membership library (rte_member).**
243 Added a new data structure library called the Membership Library.
245 The Membership Library is an extension and generalization of a traditional
246 filter (for example Bloom Filter) structure that has multiple usages in a
247 wide variety of workloads and applications. In general, the Membership
248 Library is a data structure that provides a "set-summary" and responds to
249 set-membership queries whether a certain member belongs to a set(s).
251 The library provides APIs for DPDK applications to insert a new member,
252 delete an existing member, and query the existence of a member in a given
253 set, or a group of sets. For the case of a group of sets the library will
254 return not only whether the element has been inserted in one of the sets but
255 also which set it belongs to.
257 See the :doc:`../prog_guide/member_lib` documentation in the Programmers
258 Guide, for more information.
260 * **Added the Generic Segmentation Offload Library.**
262 Added the Generic Segmentation Offload (GSO) library to enable
263 applications to split large packets (e.g. MTU is 64KB) into small
264 ones (e.g. MTU is 1500B). Supported packet types are:
267 * VxLAN packets, which must have an outer IPv4 header, and contain
268 an inner TCP/IPv4 packet.
269 * GRE packets, which must contain an outer IPv4 header, and inner
272 The GSO library doesn't check if the input packets have correct
273 checksums, and doesn't update checksums for output packets.
274 Additionally, the GSO library doesn't process IP fragmented packets.
276 * **Added the Flow Classification Library.**
278 Added an experimental Flow Classification library to provide APIs for DPDK
279 applications to classify an input packet by matching it against a set of
280 flow rules. It uses the ``librte_table`` API to manage the flow rules.
286 .. This section should contain bug fixes added to the relevant
287 sections. Sample format:
289 * **code/section Fixed issue in the past tense with a full stop.**
291 Add a short 1-2 sentence description of the resolved issue in the past
294 The title should contain the code/lib section like a commit message.
296 Add the entries in alphabetic order in the relevant sections below.
298 This section is a comment. do not overwrite or remove it.
299 Also, make sure to start the actual text at the margin.
300 =========================================================
303 * **Service core fails to call service callback due to atomic lock**
305 In a specific configuration of multi-thread unsafe services and service
306 cores, a service core previously did not correctly release the atomic lock
307 on the service. This would result in the cores polling the service, but it
308 looked like another thread was executing the service callback. The logic for
309 atomic locking of the services has been fixed and refactored for readability.
315 .. This section should contain API changes. Sample format:
317 * Add a short 1-2 sentence description of the API change. Use fixed width
318 quotes for ``rte_function_names`` or ``rte_struct_names``. Use the past
321 This section is a comment. do not overwrite or remove it.
322 Also, make sure to start the actual text at the margin.
323 =========================================================
325 * **Ethdev device name length increased.**
327 The size of internal device name has been increased to 64 characters
328 to allow for storing longer bus specific names.
330 * **Removed the Ethdev RTE_ETH_DEV_DETACHABLE flag.**
332 Removed the Ethdev ``RTE_ETH_DEV_DETACHABLE`` flag. This flag is not
333 required anymore, with the new hotplug implementation. It has been removed
334 from the ether library. Its semantics are now expressed at the bus and PMD
337 * **Service cores API updated for usability**
339 The service cores API has been changed, removing pointers from the API where
340 possible, and instead using integer IDs to identify each service. This
341 simplifies application code, aids debugging, and provides better
342 encapsulation. A summary of the main changes made is as follows:
344 * Services identified by ID not by ``rte_service_spec`` pointer
345 * Reduced API surface by using ``set`` functions instead of enable/disable
346 * Reworked ``rte_service_register`` to provide the service ID to registrar
347 * Reworked start and stop APIs into ``rte_service_runstate_set``
348 * Added API to set runstate of service implementation to indicate readiness
350 * **The following changes have been made in the mempool library**
352 * Moved ``flags`` datatype from ``int`` to ``unsigned int`` for
354 * Removed ``__rte_unused int flag`` param from ``rte_mempool_generic_put``
355 and ``rte_mempool_generic_get`` API.
356 * Added ``flags`` param in ``rte_mempool_xmem_size`` and
357 ``rte_mempool_xmem_usage``.
358 * ``rte_mem_phy2mch`` was used in Xen dom0 to obtain the physical address;
359 remove this API as Xen dom0 support was removed.
361 * **Added IOVA aliases related to physical address handling.**
363 Some data types, structure members and functions related to physical address
364 handling are deprecated and have new aliases with IOVA wording. For example:
366 * ``phys_addr_t`` can be often replaced by ``rte_iova_t`` of same size.
367 * ``RTE_BAD_PHYS_ADDR`` is often replaced by ``RTE_BAD_IOVA`` of same value.
368 * ``rte_memseg.phys_addr`` is aliased with ``rte_memseg.iova_addr``.
369 * ``rte_mem_virt2phy()`` can often be replaced by ``rte_mem_virt2iova``.
370 * ``rte_malloc_virt2phy`` is aliased with ``rte_malloc_virt2iova``.
371 * ``rte_memzone.phys_addr`` is aliased with ``rte_memzone.iova``.
372 * ``rte_mempool_objhdr.physaddr`` is aliased with
373 ``rte_mempool_objhdr.iova``.
374 * ``rte_mempool_memhdr.phys_addr`` is aliased with
375 ``rte_mempool_memhdr.iova``.
376 * ``rte_mempool_virt2phy()`` can be replaced by ``rte_mempool_virt2iova()``.
377 * ``rte_mempool_populate_phys*()`` are aliased with
378 ``rte_mempool_populate_iova*()``
379 * ``rte_mbuf.buf_physaddr`` is aliased with ``rte_mbuf.buf_iova``.
380 * ``rte_mbuf_data_dma_addr*()`` are aliased with ``rte_mbuf_data_iova*()``.
381 * ``rte_pktmbuf_mtophys*`` are aliased with ``rte_pktmbuf_iova*()``.
383 * **PCI bus API moved outside of the EAL**
385 The PCI bus previously implemented within the EAL has been moved.
386 A first part has been added as an RTE library providing PCI helpers to
387 parse device locations or other such utilities.
388 A second part consisting of the actual bus driver has been moved to its
389 proper subdirectory, without changing its functionalities.
391 As such, several PCI-related functions are not exposed by the EAL anymore:
395 * ``rte_pci_ioport_map``
396 * ``rte_pci_ioport_read``
397 * ``rte_pci_ioport_unmap``
398 * ``rte_pci_ioport_write``
399 * ``rte_pci_map_device``
401 * ``rte_pci_probe_one``
402 * ``rte_pci_read_config``
403 * ``rte_pci_register``
405 * ``rte_pci_unmap_device``
406 * ``rte_pci_unregister``
407 * ``rte_pci_write_config``
409 These functions are made available either as part of ``librte_pci`` or
412 * **Moved vdev bus APIs outside of the EAL**
414 Moved the following APIs from ``librte_eal`` to ``librte_bus_vdev``:
417 * ``rte_vdev_register``
418 * ``rte_vdev_uninit``
419 * ``rte_vdev_unregister``
421 * **Add return value to stats_get dev op API**
423 The ``stats_get`` dev op API return value has been changed to be int.
424 In this way PMDs can return an error value in case of failure at stats
425 getting process time.
427 * **Modified the rte_cryptodev_allocate_driver function.**
429 Modified the ``rte_cryptodev_allocate_driver()`` function in the cryptodev
430 library. An extra parameter ``struct cryptodev_driver *crypto_drv`` has been
433 * **Removed virtual device bus specific functions from librte_cryptodev.**
435 The functions ``rte_cryptodev_vdev_parse_init_params()`` and
436 ``rte_cryptodev_vdev_pmd_init()`` have been removed from librte_cryptodev
437 and have been replaced by non bus specific functions
438 ``rte_cryptodev_pmd_parse_input_args()`` and ``rte_cryptodev_pmd_create()``.
440 The ``rte_cryptodev_create_vdev()`` function was removed to avoid the
441 dependency on vdev in librte_cryptodev; instead, users can call
442 ``rte_vdev_init()`` directly.
444 * **Removed PCI device bus specific functions from librte_cryptodev.**
446 The functions ``rte_cryptodev_pci_generic_probe()`` and
447 ``rte_cryptodev_pci_generic_remove()`` have been removed from librte_cryptodev
448 and have been replaced by non bus specific functions
449 ``rte_cryptodev_pmd_create()`` and ``rte_cryptodev_pmd_destroy()``.
451 * **Removed deprecated functions to manage log level or type.**
453 The functions ``rte_set_log_level()``, ``rte_get_log_level()``,
454 ``rte_set_log_type()`` and ``rte_get_log_type()`` have been removed.
456 They are respectively replaced by ``rte_log_set_global_level()``,
457 ``rte_log_get_global_level()``, ``rte_log_set_level()`` and
458 ``rte_log_get_level()``.
460 * **Removed mbuf flags PKT_RX_VLAN_PKT and PKT_RX_QINQ_PKT.**
462 The ``mbuf`` flags ``PKT_RX_VLAN_PKT`` and ``PKT_RX_QINQ_PKT`` have
463 been removed since their behavior was not properly described.
465 * **Added mbuf flags PKT_RX_VLAN and PKT_RX_QINQ.**
467 Two ``mbuf`` flags have been added to indicate that the VLAN
468 identifier has been saved in in the ``mbuf`` structure. For instance:
470 - If VLAN is not stripped and TCI is saved: ``PKT_RX_VLAN``
471 - If VLAN is stripped and TCI is saved: ``PKT_RX_VLAN | PKT_RX_VLAN_STRIPPED``
473 * **Modified the vlan_offload_set_t function prototype in the ethdev library.**
475 Modified the ``vlan_offload_set_t`` function prototype in the ethdev
476 library. The return value has been changed from ``void`` to ``int`` so the
477 caller can determine whether the backing device supports the operation or if
478 the operation was successfully performed.
484 .. This section should contain ABI changes. Sample format:
486 * Add a short 1-2 sentence description of the ABI change that was announced
487 in the previous releases and made in this release. Use fixed width quotes
488 for ``rte_function_names`` or ``rte_struct_names``. Use the past tense.
490 This section is a comment. do not overwrite or remove it.
491 Also, make sure to start the actual text at the margin.
492 =========================================================
494 * **Extended port_id range.**
496 The size of the field ``port_id`` in the ``rte_eth_dev_data`` structure
497 has changed, as described in the `New Features` section above.
499 * **New parameter added to rte_eth_dev.**
501 A new parameter ``security_ctx`` has been added to ``rte_eth_dev`` to
502 support security operations like IPSec inline.
504 * **New parameter added to rte_cryptodev.**
506 A new parameter ``security_ctx`` has been added to ``rte_cryptodev`` to
507 support security operations like lookaside crypto.
513 .. This section should contain removed items in this release. Sample format:
515 * Add a short 1-2 sentence description of the removed item in the past
518 This section is a comment. do not overwrite or remove it.
519 Also, make sure to start the actual text at the margin.
520 =========================================================
522 * Xen dom0 in EAL has been removed, as well as the xenvirt PMD and vhost_xen.
524 * The crypto performance unit tests have been removed,
525 replaced by the ``dpdk-test-crypto-perf`` application.
528 Shared Library Versions
529 -----------------------
531 .. Update any library version updated in this release and prepend with a ``+``
535 + librte_cfgfile.so.2
538 This section is a comment. do not overwrite or remove it.
539 =========================================================
542 The libraries prepended with a plus sign were incremented in this version.
547 + librte_bitratestats.so.2
548 + librte_bus_dpaa.so.1
549 + librte_bus_fslmc.so.1
550 + librte_bus_pci.so.1
551 + librte_bus_vdev.so.1
554 + librte_cryptodev.so.4
555 librte_distributor.so.1
558 + librte_eventdev.so.3
559 + librte_flow_classify.so.1
567 librte_latencystats.so.1
570 + librte_mempool.so.3
577 + librte_pmd_bnxt.so.2
578 + librte_pmd_bond.so.2
579 + librte_pmd_i40e.so.2
580 + librte_pmd_ixgbe.so.2
582 + librte_pmd_softnic.so.1
583 + librte_pmd_vhost.so.2
589 + librte_security.so.1
598 .. This section should contain a list of platforms that were tested with this
603 * <vendor> platform with <vendor> <type of devices> combinations
608 * Other relevant details...
610 This section is a comment. do not overwrite or remove it.
611 Also, make sure to start the actual text at the margin.
612 =========================================================
614 * Intel(R) platforms with Intel(R) NICs combinations
618 * Intel(R) Atom(TM) CPU C2758 @ 2.40GHz
619 * Intel(R) Xeon(R) CPU D-1540 @ 2.00GHz
620 * Intel(R) Xeon(R) CPU D-1541 @ 2.10GHz
621 * Intel(R) Xeon(R) CPU E5-4667 v3 @ 2.00GHz
622 * Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
623 * Intel(R) Xeon(R) CPU E5-2699 v3 @ 2.30GHz
624 * Intel(R) Xeon(R) CPU E5-2695 v4 @ 2.10GHz
625 * Intel(R) Xeon(R) CPU E5-2658 v2 @ 2.40GHz
626 * Intel(R) Xeon(R) CPU E5-2658 v3 @ 2.20GHz
634 * Red Hat Enterprise Linux Server release 7.3
635 * SUSE Enterprise Linux 12
642 * Intel(R) 82599ES 10 Gigabit Ethernet Controller
644 * Firmware version: 0x61bf0001
645 * Device id (pf/vf): 8086:10fb / 8086:10ed
646 * Driver version: 5.2.3 (ixgbe)
648 * Intel(R) Corporation Ethernet Connection X552/X557-AT 10GBASE-T
650 * Firmware version: 0x800003e7
651 * Device id (pf/vf): 8086:15ad / 8086:15a8
652 * Driver version: 4.4.6 (ixgbe)
654 * Intel(R) Ethernet Converged Network Adapter X710-DA4 (4x10G)
656 * Firmware version: 6.01 0x80003205
657 * Device id (pf/vf): 8086:1572 / 8086:154c
658 * Driver version: 2.1.26 (i40e)
660 * Intel(R) Ethernet Converged Network Adapter X710-DA2 (2x10G)
662 * Firmware version: 6.01 0x80003204
663 * Device id (pf/vf): 8086:1572 / 8086:154c
664 * Driver version: 2.1.26 (i40e)
666 * Intel(R) Ethernet Converged Network Adapter XXV710-DA2 (2x25G)
668 * Firmware version: 6.01 0x80003221
669 * Device id (pf/vf): 8086:158b
670 * Driver version: 2.1.26 (i40e)
672 * Intel(R) Ethernet Converged Network Adapter XL710-QDA2 (2X40G)
674 * Firmware version: 6.01 0x8000321c
675 * Device id (pf/vf): 8086:1583 / 8086:154c
676 * Driver version: 2.1.26 (i40e)
678 * Intel(R) Corporation I350 Gigabit Network Connection
680 * Firmware version: 1.63, 0x80000dda
681 * Device id (pf/vf): 8086:1521 / 8086:1520
682 * Driver version: 5.3.0-k (igb)
684 * Intel(R) platforms with Mellanox(R) NICs combinations
688 * Intel(R) Xeon(R) CPU E5-2697A v4 @ 2.60GHz
689 * Intel(R) Xeon(R) CPU E5-2697 v3 @ 2.60GHz
690 * Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
691 * Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz
692 * Intel(R) Xeon(R) CPU E5-2640 @ 2.50GHz
693 * Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
697 * Red Hat Enterprise Linux Server release 7.3 (Maipo)
698 * Red Hat Enterprise Linux Server release 7.2 (Maipo)
703 * MLNX_OFED: 4.2-1.0.0.0
707 * Mellanox(R) ConnectX(R)-3 Pro 40G MCX354A-FCC_Ax (2x40G)
709 * Host interface: PCI Express 3.0 x8
710 * Device ID: 15b3:1007
711 * Firmware version: 2.42.5000
713 * Mellanox(R) ConnectX(R)-4 10G MCX4111A-XCAT (1x10G)
715 * Host interface: PCI Express 3.0 x8
716 * Device ID: 15b3:1013
717 * Firmware version: 12.21.1000
719 * Mellanox(R) ConnectX(R)-4 10G MCX4121A-XCAT (2x10G)
721 * Host interface: PCI Express 3.0 x8
722 * Device ID: 15b3:1013
723 * Firmware version: 12.21.1000
725 * Mellanox(R) ConnectX(R)-4 25G MCX4111A-ACAT (1x25G)
727 * Host interface: PCI Express 3.0 x8
728 * Device ID: 15b3:1013
729 * Firmware version: 12.21.1000
731 * Mellanox(R) ConnectX(R)-4 25G MCX4121A-ACAT (2x25G)
733 * Host interface: PCI Express 3.0 x8
734 * Device ID: 15b3:1013
735 * Firmware version: 12.21.1000
737 * Mellanox(R) ConnectX(R)-4 40G MCX4131A-BCAT/MCX413A-BCAT (1x40G)
739 * Host interface: PCI Express 3.0 x8
740 * Device ID: 15b3:1013
741 * Firmware version: 12.21.1000
743 * Mellanox(R) ConnectX(R)-4 40G MCX415A-BCAT (1x40G)
745 * Host interface: PCI Express 3.0 x16
746 * Device ID: 15b3:1013
747 * Firmware version: 12.21.1000
749 * Mellanox(R) ConnectX(R)-4 50G MCX4131A-GCAT/MCX413A-GCAT (1x50G)
751 * Host interface: PCI Express 3.0 x8
752 * Device ID: 15b3:1013
753 * Firmware version: 12.21.1000
755 * Mellanox(R) ConnectX(R)-4 50G MCX414A-BCAT (2x50G)
757 * Host interface: PCI Express 3.0 x8
758 * Device ID: 15b3:1013
759 * Firmware version: 12.21.1000
761 * Mellanox(R) ConnectX(R)-4 50G MCX415A-GCAT/MCX416A-BCAT/MCX416A-GCAT
764 * Host interface: PCI Express 3.0 x16
765 * Device ID: 15b3:1013
766 * Firmware version: 12.21.1000
768 * Mellanox(R) ConnectX(R)-4 50G MCX415A-CCAT (1x100G)
770 * Host interface: PCI Express 3.0 x16
771 * Device ID: 15b3:1013
772 * Firmware version: 12.21.1000
774 * Mellanox(R) ConnectX(R)-4 100G MCX416A-CCAT (2x100G)
776 * Host interface: PCI Express 3.0 x16
777 * Device ID: 15b3:1013
778 * Firmware version: 12.21.1000
780 * Mellanox(R) ConnectX(R)-4 Lx 10G MCX4121A-XCAT (2x10G)
782 * Host interface: PCI Express 3.0 x8
783 * Device ID: 15b3:1015
784 * Firmware version: 14.21.1000
786 * Mellanox(R) ConnectX(R)-4 Lx 25G MCX4121A-ACAT (2x25G)
788 * Host interface: PCI Express 3.0 x8
789 * Device ID: 15b3:1015
790 * Firmware version: 14.21.1000
792 * Mellanox(R) ConnectX(R)-5 100G MCX556A-ECAT (2x100G)
794 * Host interface: PCI Express 3.0 x16
795 * Device ID: 15b3:1017
796 * Firmware version: 16.21.1000
798 * Mellanox(R) ConnectX-5 Ex EN 100G MCX516A-CDAT (2x100G)
800 * Host interface: PCI Express 4.0 x16
801 * Device ID: 15b3:1019
802 * Firmware version: 16.21.1000
804 * ARM platforms with Mellanox(R) NICs combinations
808 * Qualcomm ARM 1.1 2500MHz
814 * MLNX_OFED: 4.2-1.0.0.0
818 * Mellanox(R) ConnectX(R)-4 Lx 25G MCX4121A-ACAT (2x25G)
820 * Host interface: PCI Express 3.0 x8
821 * Device ID: 15b3:1015
822 * Firmware version: 14.21.1000
824 * Mellanox(R) ConnectX(R)-5 100G MCX556A-ECAT (2x100G)
826 * Host interface: PCI Express 3.0 x16
827 * Device ID: 15b3:1017
828 * Firmware version: 16.21.1000