net/ena: proxy AQ calls to primary process
[dpdk.git] / doc / guides / rel_notes / release_19_11.rst
1 ..  SPDX-License-Identifier: BSD-3-Clause
2     Copyright 2019 The DPDK contributors
3
4 .. include:: <isonum.txt>
5
6 DPDK Release 19.11
7 ==================
8
9 New Features
10 ------------
11
12 * **Added support for --base-virtaddr EAL option to FreeBSD.**
13
14   The FreeBSD version of DPDK now also supports setting base virtual address
15   for mapping pages and resources into its address space.
16
17 * **Added Lock-free Stack for aarch64.**
18
19   Enabled the lock-free stack implementation for aarch64 platforms.
20
21 * **Extended pktmbuf mempool private structure.**
22
23   rte_pktmbuf_pool_private structure was extended to include flags field
24   for future compatibility.
25   As per 19.11 release this field is reserved and should be set to 0
26   by the user.
27
28 +* **Changed mempool allocation behavior.**
29
30   Changed the mempool allocation behaviour so that objects no longer cross
31   pages by default. Note, this may consume more memory when using small memory
32   pages.
33
34 * **Added support for dynamic fields and flags in mbuf.**
35
36   This new feature adds the ability to dynamically register some room
37   for a field or a flag in the mbuf structure. This is typically used
38   for specific offload features, where adding a static field or flag
39   in the mbuf is not justified.
40
41 * **Added support for hairpin queues.**
42
43   On supported NICs, we can now setup hairpin queues which will offload packets
44   from the wire, back to the wire.
45
46 * **Added flow tag in rte_flow.**
47
48   The ``SET_TAG`` action and ``TAG`` item have been added to support transient
49   flow tag.
50
51 * **Extended metadata support in rte_flow.**
52
53   Flow metadata has been extended to both Rx and Tx.
54
55   * Tx metadata can also be set by SET_META action of rte_flow.
56   * Rx metadata is delivered to the host via a dynamic field of ``rte_mbuf``
57     with ``PKT_RX_DYNF_METADATA``.
58
59 * **Added ethdev API to set supported packet types.**
60
61   * Added new API ``rte_eth_dev_set_ptypes`` which allows an application to
62     inform a PMD about a reduced range of packet types to handle.
63   * This scheme will allow PMDs to avoid lookup of internal ptype table on Rx
64     and thereby improve Rx performance if the application wishes to do so.
65
66 * **Added Rx offload flag to enable or disable RSS update.**
67
68   * Added new Rx offload flag ``DEV_RX_OFFLOAD_RSS_HASH`` which can be used to
69     enable/disable PMDs write to ``rte_mbuf::hash::rss``.
70   * PMDs notify the validity of ``rte_mbuf::hash:rss`` to the application
71     by enabling ``PKT_RX_RSS_HASH`` flag in ``rte_mbuf::ol_flags``.
72
73 * **Added Rx/Tx packet burst mode "get" API.**
74
75   Added two new functions ``rte_eth_rx_burst_mode_get`` and
76   ``rte_eth_tx_burst_mode_get`` that allow an application
77   to retrieve the mode information about Rx/Tx packet burst
78   such as Scalar or Vector, and Vector technology like AVX2.
79
80 * **Added Hisilicon hns3 PMD.**
81
82   Added the new ``hns3`` net driver for the inbuilt Hisilicon Network
83   Subsystem 3 (HNS3) network engine found in the Hisilicon Kunpeng 920 SoC.
84   See the :doc:`../nics/hns3` guide for more details on this new driver.
85
86 * **Added NXP PFE PMD.**
87
88   Added the new PFE driver for the NXP LS1012A platform. See the
89   :doc:`../nics/pfe` NIC driver guide for more details on this new driver.
90
91 * **Updated Broadcom bnxt driver.**
92
93   Updated Broadcom bnxt driver with new features and improvements, including:
94
95   * Added support for hot firmware upgrade.
96   * Added support for error recovery.
97   * Added support for querying and using COS classification in hardware.
98   * Added LRO support Thor devices.
99   * Update HWRM API to version 1.10.1.6
100
101 * **Updated the enic driver.**
102
103   * Added support for Geneve with options offload.
104   * Added flow API implementation based on VIC Flow Manager API.
105
106 * **Updated iavf PMD.**
107
108   Enable AVX2 data path for iavf PMD.
109
110 * **Updated the Intel e1000 driver.**
111
112   Added support for the ``RTE_ETH_DEV_CLOSE_REMOVE`` flag.
113
114 * **Updated the Intel ixgbe driver.**
115
116   Added support for the ``RTE_ETH_DEV_CLOSE_REMOVE`` flag.
117
118 * **Updated the Intel i40e driver.**
119
120   Added support for the ``RTE_ETH_DEV_CLOSE_REMOVE`` flag.
121
122 * **Updated the Intel fm10k driver.**
123
124   Added support for the ``RTE_ETH_DEV_CLOSE_REMOVE`` flag.
125
126 * **Updated the Intel ice driver.**
127
128   Updated the Intel ice driver with new features and improvements, including:
129
130   * Added support for device-specific DDP package loading.
131   * Added support for handling Receive Flex Descriptor.
132   * Added support for protocol extraction on per Rx queue.
133   * Added support for Flow Director filter based on generic filter framework.
134   * Added support for the ``RTE_ETH_DEV_CLOSE_REMOVE`` flag.
135   * Generic filter enhancement
136     - Supported pipeline mode.
137     - Supported new packet type like PPPoE for switch filter.
138   * Supported input set change and symmetric hash by rte_flow RSS action.
139   * Added support for GTP Tx checksum offload.
140   * Added new device IDs to support E810_XXV devices.
141
142 * **Updated the Huawei hinic driver.**
143
144   Updated the Huawei hinic driver with new features and improvements, including:
145
146   * Enabled SR-IOV - Partially supported at this point, VFIO only.
147   * Supported VLAN filter and VLAN offload.
148   * Supported Unicast MAC filter and Multicast MAC filter.
149   * Supported Flow API for LACP, VRRP, BGP and so on.
150   * Supported FW version get.
151
152 * **Updated Mellanox mlx5 driver.**
153
154   Updated Mellanox mlx5 driver with new features and improvements, including:
155
156   * Added support for VLAN pop flow offload command.
157   * Added support for VLAN push flow offload command.
158   * Added support for VLAN set PCP offload command.
159   * Added support for VLAN set VID offload command.
160   * Added support for matching on packets withe Geneve tunnel header.
161   * Added hairpin support.
162   * Added ConnectX-6 Dx support.
163   * Flow engine selected based on RDMA Core library version.
164     DV flow engine selected if version is rdma-core-24.0 or higher.
165     Verbs flow engine selected otherwise.
166
167 * **Updated the AF_XDP PMD.**
168
169   Updated the AF_XDP PMD. The new features include:
170
171   * Enabled zero copy between application mempools and UMEM by enabling the
172     ``XDP_UMEM_UNALIGNED_CHUNKS UMEM`` flag.
173
174 * **Added cryptodev asymmetric session-less operation.**
175
176   Added a session-less option to the cryptodev asymmetric structure. It works
177   the same way as symmetric crypto, and the corresponding transform is used
178   directly by the crypto operation.
179
180 * **Added Marvell NITROX symmetric crypto PMD.**
181
182   Added a symmetric crypto PMD for Marvell NITROX V security processor.
183   See the :doc:`../cryptodevs/nitrox` guide for more details on this new PMD.
184
185 * **Added asymmetric support to Marvell OCTEON TX crypto PMD.**
186
187   Added support for asymmetric operations to Marvell OCTEON TX crypto PMD.
188   Supports RSA and modexp operations.
189
190 * **Added Marvell OCTEON TX2 crypto PMD.**
191
192   Added a new PMD for hardware crypto offload block on ``OCTEON TX2``
193   SoC.
194
195   See ``cryptodevs/octeontx2`` for more details
196
197 * **Updated NXP crypto PMDs for PDCP support.**
198
199   Added PDCP support to the DPAA_SEC and DPAA2_SEC PMDs using rte_security
200   APIs.  Support has been added for all sequence number sizes for control and
201   user plane.  Test and test-crypto-perf applications have been updated for
202   unit testing.
203
204 * **Updated the AESNI-MB PMD.**
205
206   * Added support for intel-ipsec-mb version 0.53.
207
208 * **Updated the AESNI-GCM PMD.**
209
210   * Added support for intel-ipsec-mb version 0.53.
211   * Added support for in-place chained mbufs with AES-GCM algorithm.
212
213 * **Enabled Single Pass GCM acceleration on QAT GEN3.**
214
215   Added support for Single Pass GCM, available on QAT GEN3 only (Intel
216   QuickAssist Technology P5xxx). It is automatically chosen instead of the
217   classic 2-pass mode when running on QAT GEN3, significantly improving
218   the performance of AES GCM operations.
219
220 * **Updated the Intel QuickAssist Technology (QAT) asymmetric crypto PMD.**
221
222   * Added support for asymmetric session-less operations.
223   * Added support for RSA algorithm with pair ``(n, d)`` private key
224     representation.
225   * Added support for RSA algorithm with quintuple private key representation.
226
227 * **Updated the Intel QuickAssist Technology (QAT) compression PMD.**
228
229   Added stateful decompression support in the Intel QuickAssist Technology PMD.
230   Please note that stateful compression is not supported.
231
232 * **Added external buffers support for dpdk-test-compress-perf tool.**
233
234   Added a command line option to the ``dpdk-test-compress-perf`` tool to
235   allocate and use memory zones as external buffers instead of keeping the
236   data directly in mbuf areas.
237
238 * **Updated the IPSec library.**
239
240   * Added Security Associations (SA) Database API to ``librte_ipsec``. A new
241     test-sad application has also been introduced to evaluate and perform
242     custom functional and performance tests for an IPsec SAD implementation.
243
244   * Support fragmented packets in inline crypto processing mode with fallback
245     ``lookaside-none`` session. Corresponding changes are also added in the
246     IPsec Security Gateway application.
247
248 * **Introduced FIFO for NTB PMD.**
249
250   Introduced FIFO for NTB (Non-transparent Bridge) PMD to support
251   packet based processing.
252
253 * **Added eBPF JIT support for arm64.**
254
255   Added eBPF JIT support for arm64 architecture to improve the eBPF program
256   performance.
257
258 * **Added RIB and FIB (Routing/Forwarding Information Base) libraries.**
259
260   Added Routing and Forwarding Information Base (RIB/FIB) libraries. RIB and
261   FIB can replace the LPM (Longest Prefix Match) library with better control
262   plane (RIB) performance. The data plane (FIB) can be extended with new
263   algorithms.
264
265 * **Updated testpmd with a command for ptypes.**
266
267   * Added a console command to testpmd app, ``show port (port_id) ptypes`` which
268     gives ability to print port supported ptypes in different protocol layers.
269   * Packet type detection disabled by default for the supported PMDs.
270
271 * **Added new l2fwd-event sample application.**
272
273   Added an example application ``l2fwd-event`` that adds event device support to
274   the traditional l2fwd example. It demonstrates usage of poll and event mode IO
275   mechanism under a single application.
276
277 * **Added build support for Link Time Optimization.**
278
279   LTO is an optimization technique used by the compiler to perform whole
280   program analysis and optimization at link time.  In order to do that
281   compilers store their internal representation of the source code that
282   the linker uses at the final stage of the compilation process.
283
284   See :doc:`../prog_guide/lto` for more information:
285
286 * **Added IOVA as VA support for KNI.**
287
288   * Added IOVA = VA support for KNI. KNI can operate in IOVA = VA mode when
289     ``iova-mode=va`` EAL option is passed to the application or when bus IOVA
290     scheme is selected as RTE_IOVA_VA. This mode only works on Linux Kernel
291     versions 4.10.0 and above.
292
293   * Due to IOVA to KVA address translations, based on the KNI use case there
294     can be a performance impact. For mitigation, forcing IOVA to PA via EAL
295     ``--iova-mode=pa`` option can be used, IOVA_DC bus iommu scheme can also
296     result in IOVA as PA.
297
298
299 Removed Items
300 -------------
301
302 * Removed library-level ABI versions. These have been replaced with a single
303   project-level ABI version for non-experimental libraries and an ABI version of
304   ``0`` for experimental libraries. Review the :doc:`../contributing/abi_policy`
305   and :doc:`../contributing/abi_versioning` guides for more information.
306
307 * Removed duplicated set of commands for Rx offload configuration from testpmd::
308
309     port config all crc-strip|scatter|rx-cksum|rx-timestamp|
310                     hw-vlan|hw-vlan-filter|hw-vlan-strip|hw-vlan-extend on|off
311
312   The testpmd command set that can be used instead in order to enable or
313   disable Rx offloading on all Rx queues of a port is::
314
315     port config <port_id> rx_offload crc_strip|scatter|
316                                      ipv4_cksum|udp_cksum|tcp_cksum|timestamp|
317                                      vlan_strip|vlan_filter|vlan_extend on|off
318
319 * Removed AF_XDP pmd_zero copy vdev argument. Support is now auto-detected.
320
321 * The following sample applications have been removed in this release:
322
323   * Exception Path
324   * L3 Forwarding in a Virtualization Environment
325   * Load Balancer
326   * Netmap Compatibility
327   * Quota and Watermark
328   * vhost-scsi
329
330 * Removed arm64-dpaa2-* build config. arm64-dpaa-* can now build for both
331   dpaa and dpaa2 platforms.
332
333
334 API Changes
335 -----------
336
337 * eal: made the ``lcore_config`` struct and global symbol private.
338
339 * eal: removed the ``rte_cpu_check_supported`` function, replaced by
340   ``rte_cpu_is_supported`` since dpdk v17.08.
341
342 * eal: removed the ``rte_malloc_virt2phy`` function, replaced by
343   ``rte_malloc_virt2iova`` since v17.11.
344
345 * eal: made the ``rte_config`` struct and ``rte_eal_get_configuration``
346   function private.
347
348 * mem: hid the internal ``malloc_heap`` structure and the
349   ``rte_malloc_heap.h`` header.
350
351 * vfio: removed ``rte_vfio_dma_map`` and ``rte_vfio_dma_unmap`` that have
352   been marked as deprecated in release 19.05.
353   ``rte_vfio_container_dma_map`` and ``rte_vfio_container_dma_unmap`` can
354   be used as substitutes.
355
356 * pci: removed the following functions deprecated since dpdk v17.11:
357
358   - ``eal_parse_pci_BDF`` replaced by ``rte_pci_addr_parse``
359   - ``eal_parse_pci_DomBDF`` replaced by ``rte_pci_addr_parse``
360   - ``rte_eal_compare_pci_addr`` replaced by ``rte_pci_addr_cmp``
361
362 * The network structure ``esp_tail`` has been prefixed by ``rte_``.
363
364 * The network definitions of PPPoE ethertypes have been prefixed by ``RTE_``.
365
366 * The network structure for MPLS has been prefixed by ``rte_``.
367
368 * ethdev: changed ``rte_eth_dev_infos_get`` return value from ``void`` to
369   ``int`` to provide a way to report various error conditions.
370
371 * ethdev: changed ``rte_eth_promiscuous_enable`` and
372   ``rte_eth_promiscuous_disable`` return value from ``void`` to ``int`` to
373   provide a way to report various error conditions.
374
375 * ethdev: changed ``rte_eth_allmulticast_enable`` and
376   ``rte_eth_allmulticast_disable`` return value from ``void`` to ``int`` to
377   provide a way to report various error conditions.
378
379 * ethdev: changed ``rte_eth_dev_xstats_reset`` return value from ``void`` to
380   ``int`` to provide a way to report various error conditions.
381
382 * ethdev: changed ``rte_eth_link_get`` and ``rte_eth_link_get_nowait``
383   return value from ``void`` to ``int`` to provide a way to report various
384   error conditions.
385
386 * ethdev: changed ``rte_eth_macaddr_get`` return value from ``void`` to
387   ``int`` to provide a way to report various error conditions.
388
389 * ethdev: changed ``rte_eth_dev_owner_delete`` return value from ``void`` to
390   ``int`` to provide a way to report various error conditions.
391
392 * ethdev: The deprecated function ``rte_eth_dev_count`` was removed.
393   The function ``rte_eth_dev_count_avail`` is a drop-in replacement.
394   If the intent is to iterate over ports, ``RTE_ETH_FOREACH_*`` macros
395   are better port iterators.
396
397 * ethdev: ``RTE_FLOW_ITEM_TYPE_META`` data endianness altered to host one.
398   Due to the new dynamic metadata field in mbuf is host-endian either, there
399   is a minor compatibility issue for applications in case of 32-bit values
400   supported.
401
402 * ethdev: the tx_metadata mbuf field is moved to dynamic one.
403   ``PKT_TX_METADATA`` flag is replaced with ``PKT_TX_DYNF_METADATA``.
404   ``DEV_TX_OFFLOAD_MATCH_METADATA`` offload flag is removed, now metadata
405   support in PMD is engaged on dynamic field registration.
406
407 * event: The function ``rte_event_eth_tx_adapter_enqueue`` takes an additional
408   input as ``flags``. Flag ``RTE_EVENT_ETH_TX_ADAPTER_ENQUEUE_SAME_DEST`` which
409   has been introduced in this release is used when all the packets enqueued in
410   the Tx adapter are destined for the same Ethernet port and Tx queue.
411
412 * sched: The pipe nodes configuration parameters such as number of pipes,
413   pipe queue sizes, pipe profiles, etc., are moved from port level structure
414   to subport level. This allows different subports of the same port to
415   have different configuration for the pipe nodes.
416
417
418 ABI Changes
419 -----------
420
421 * policy: Please note the revisions to the :doc:`../contributing/abi_policy`
422   introducing major ABI versions, with DPDK 19.11 becoming the first major
423   version ``v20``. ABI changes to add new features continue to be permitted in
424   subsequent releases, with the condition that ABI compatibility with the major
425   ABI version is maintained.
426
427 * net: The Ethernet address and other header definitions have changed
428   attributes. They have been modified to be aligned on 2-byte boundaries.
429   These changes should not impact normal usage because drivers naturally
430   align the Ethernet header on receive and all known encapsulations
431   preserve the alignment of the header.
432
433 * security: The field ``replay_win_sz`` has been moved from the ipsec library
434   based ``rte_ipsec_sa_prm`` structure to security library based structure
435   ``rte_security_ipsec_xform``, which specify the anti-replay window size
436   to enable sequence replay attack handling.
437
438 * ipsec: The field ``replay_win_sz`` has been removed from the structure
439   ``rte_ipsec_sa_prm`` as it has been added to the security library.
440
441 * ethdev: Added 32-bit fields for maximum LRO aggregated packet size, in
442   struct ``rte_eth_dev_info`` for the port capability and in struct
443   ``rte_eth_rxmode`` for the port configuration.
444   Application should use the new field in struct ``rte_eth_rxmode`` to configure
445   the requested size.
446   PMD should use the new field in struct ``rte_eth_dev_info`` to report the
447   supported port capability.
448
449
450 Shared Library Versions
451 -----------------------
452
453 The libraries prepended with a plus sign were incremented in this version.
454
455 .. code-block:: diff
456
457      librte_acl.so.2
458      librte_bbdev.so.1
459      librte_bitratestats.so.2
460      librte_bpf.so.1
461      librte_bus_dpaa.so.2
462      librte_bus_fslmc.so.2
463      librte_bus_ifpga.so.2
464      librte_bus_pci.so.2
465      librte_bus_vdev.so.2
466      librte_bus_vmbus.so.2
467      librte_cfgfile.so.2
468      librte_cmdline.so.2
469      librte_compressdev.so.1
470      librte_cryptodev.so.8
471      librte_distributor.so.1
472    + librte_eal.so.12
473      librte_efd.so.1
474    + librte_ethdev.so.13
475    + librte_eventdev.so.8
476    + librte_fib.so.1
477      librte_flow_classify.so.1
478      librte_gro.so.1
479      librte_gso.so.1
480      librte_hash.so.2
481      librte_ip_frag.so.1
482    + librte_ipsec.so.2
483      librte_jobstats.so.1
484      librte_kni.so.2
485      librte_kvargs.so.1
486      librte_latencystats.so.1
487      librte_lpm.so.2
488      librte_mbuf.so.5
489      librte_member.so.1
490      librte_mempool.so.5
491      librte_meter.so.3
492      librte_metrics.so.1
493      librte_net.so.1
494    + librte_pci.so.2
495      librte_pdump.so.3
496      librte_pipeline.so.3
497      librte_pmd_bnxt.so.2
498      librte_pmd_bond.so.2
499      librte_pmd_i40e.so.2
500      librte_pmd_ixgbe.so.2
501      librte_pmd_dpaa2_qdma.so.1
502      librte_pmd_ring.so.2
503      librte_pmd_softnic.so.1
504      librte_pmd_vhost.so.2
505      librte_port.so.3
506      librte_power.so.1
507      librte_rawdev.so.1
508    + librte_rib.so.1
509      librte_rcu.so.1
510      librte_reorder.so.1
511      librte_ring.so.2
512    + librte_sched.so.4
513    + librte_security.so.3
514      librte_stack.so.1
515      librte_table.so.3
516      librte_timer.so.1
517      librte_vhost.so.4
518
519
520 Tested Platforms
521 ----------------
522
523 * Intel\ |reg| platforms with Intel\ |reg| NICs combinations
524
525   * CPU
526
527     * Intel\ |reg| Atom\ |trade| CPU C3758 @ 2.20GHz
528     * Intel\ |reg| Atom\ |trade| CPU C3858 @ 2.00GHz
529     * Intel\ |reg| Atom\ |trade| CPU C3958 @ 2.00GHz
530     * Intel\ |reg| Xeon\ |reg| CPU D-1541 @ 2.10GHz
531     * Intel\ |reg| Xeon\ |reg| CPU D-1553N @ 2.30GHz
532     * Intel\ |reg| Xeon\ |reg| CPU E5-2680 0 @ 2.70GHz
533     * Intel\ |reg| Xeon\ |reg| CPU E5-2680 v2 @ 2.80GHz
534     * Intel\ |reg| Xeon\ |reg| CPU E5-2699 v3 @ 2.30GHz
535     * Intel\ |reg| Xeon\ |reg| CPU E5-2699 v4 @ 2.20GHz
536     * Intel\ |reg| Xeon\ |reg| Gold 6139 CPU @ 2.30GHz
537     * Intel\ |reg| Xeon\ |reg| Gold 6252N CPU @ 2.30GHz
538     * Intel\ |reg| Xeon\ |reg| Platinum 8180 CPU @ 2.50GHz
539     * Intel\ |reg| Xeon\ |reg| Platinum 8280M CPU @ 2.70GHz
540
541   * OS:
542
543     * CentOS 7.6
544     * Fedora 30
545     * FreeBSD 12.0
546     * Red Hat Enterprise Linux Server release 8.0
547     * Red Hat Enterprise Linux Server release 7.6
548     * Suse12SP3
549     * Ubuntu 14.04
550     * Ubuntu 16.04
551     * Ubuntu 16.10
552     * Ubuntu 18.04
553     * Ubuntu 19.04
554
555   * NICs:
556
557     * Intel\ |reg| Corporation Ethernet Controller E810-C for SFP (2x25G)
558
559       * Firmware version: 1.02 0x80002084 1.2538.0/1.02 0x80002082 1.2538.0
560       * Device id (pf): 8086:1593
561       * Driver version: 0.12.25 (ice)
562
563     * Intel\ |reg| Corporation Ethernet Controller E810-C for SFP (2x100G)
564
565       * Firmware version: 1.02 0x80002081 1.2538.0
566       * Device id (pf): 8086:1592
567       * Driver version: 0.12.25 (ice)
568
569     * Intel\ |reg| 82599ES 10 Gigabit Ethernet Controller
570
571       * Firmware version: 0x61bf0001
572       * Device id (pf/vf): 8086:10fb / 8086:10ed
573       * Driver version: 5.6.1 (ixgbe)
574
575     * Intel\ |reg| Corporation Ethernet Connection X552/X557-AT 10GBASE-T
576
577       * Firmware version: 0x800003e7
578       * Device id (pf/vf): 8086:15ad / 8086:15a8
579       * Driver version: 5.1.0 (ixgbe)
580
581     * Intel\ |reg| Corporation Ethernet Controller 10G X550T
582
583       * Firmware version: 0x80000482
584       * Device id (pf): 8086:1563
585       * Driver version: 5.6.1 (ixgbe)
586
587     * Intel\ |reg| Ethernet Converged Network Adapter X710-DA4 (4x10G)
588
589       * Firmware version: 7.00 0x80004cdb
590       * Device id (pf/vf): 8086:1572 / 8086:154c
591       * Driver version: 2.9.21 (i40e)
592
593     * Intel\ |reg| Corporation Ethernet Connection X722 for 10GbE SFP+ (4x10G)
594
595       * Firmware version: 4.10 0x80001a3c
596       * Device id (pf/vf): 8086:37d0 / 8086:37cd
597       * Driver version: 2.9.21 (i40e)
598
599     * Intel\ |reg| Ethernet Converged Network Adapter XXV710-DA2 (2x25G)
600
601       * Firmware version: 7.00 0x80004cf8
602       * Device id (pf/vf): 8086:158b / 8086:154c
603       * Driver version: 2.9.21 (i40e)
604
605     * Intel\ |reg| Ethernet Converged Network Adapter XL710-QDA2 (2X40G)
606
607       * Firmware version: 7.00 0x80004c97
608       * Device id (pf/vf): 8086:1583 / 8086:154c
609       * Driver version: 2.9.21 (i40e)
610
611     * Intel\ |reg| Corporation I350 Gigabit Network Connection
612
613       * Firmware version: 1.63, 0x80000cbc
614       * Device id (pf/vf): 8086:1521 / 8086:1520
615       * Driver version: 5.4.0-k (igb)
616
617     * Intel\ |reg| Corporation I210 Gigabit Network Connection
618
619       * Firmware version: 3.25, 0x800006eb
620       * Device id (pf): 8086:1533
621       * Driver version: 5.4.0-k(igb)
622
623 * ARMv8 SoC combinations from Marvell (with integrated NICs)
624
625   * SoC:
626
627     * CN83xx, CN96xx, CN93xx
628
629   * OS (Based on Marvell OCTEON TX SDK-10.1.2.0):
630
631     * Arch Linux
632     * Buildroot 2018.11
633     * Ubuntu 16.04.1 LTS
634     * Ubuntu 16.10
635     * Ubuntu 18.04.1
636     * Ubuntu 19.04
637
638 * Intel\ |reg| platforms with Mellanox\ |reg| NICs combinations
639
640   * CPU:
641
642     * Intel\ |reg| Xeon\ |reg| Gold 6154 CPU @ 3.00GHz
643     * Intel\ |reg| Xeon\ |reg| CPU E5-2697A v4 @ 2.60GHz
644     * Intel\ |reg| Xeon\ |reg| CPU E5-2697 v3 @ 2.60GHz
645     * Intel\ |reg| Xeon\ |reg| CPU E5-2680 v2 @ 2.80GHz
646     * Intel\ |reg| Xeon\ |reg| CPU E5-2650 v4 @ 2.20GHz
647     * Intel\ |reg| Xeon\ |reg| CPU E5-2640 @ 2.50GHz
648     * Intel\ |reg| Xeon\ |reg| CPU E5-2620 v4 @ 2.10GHz
649
650   * OS:
651
652     * Red Hat Enterprise Linux Server release 8.0 (Maipo)
653     * Red Hat Enterprise Linux Server release 7.7 (Maipo)
654     * Red Hat Enterprise Linux Server release 7.6 (Maipo)
655     * Red Hat Enterprise Linux Server release 7.5 (Maipo)
656     * Red Hat Enterprise Linux Server release 7.4 (Maipo)
657     * Red Hat Enterprise Linux Server release 7.3 (Maipo)
658     * Red Hat Enterprise Linux Server release 7.2 (Maipo)
659     * Ubuntu 19.04
660     * Ubuntu 18.10
661     * Ubuntu 18.04
662     * Ubuntu 16.04
663     * SUSE Linux Enterprise Server 15
664
665   * OFED:
666
667     * MLNX_OFED 4.6-1.0.1.1
668     * MLNX_OFED 4.7-1.0.0.1
669     * MLNX_OFED 4.7-3.1.9.0 and above
670
671   * upstream kernel:
672
673     * Linux 5.3 and above
674
675   * rdma-core:
676
677     * rdma-core-24.1-1 and above
678
679   * NICs:
680
681     * Mellanox\ |reg| ConnectX\ |reg|-3 Pro 40G MCX354A-FCC_Ax (2x40G)
682
683       * Host interface: PCI Express 3.0 x8
684       * Device ID: 15b3:1007
685       * Firmware version: 2.42.5000
686
687     * Mellanox\ |reg| ConnectX\ |reg|-4 10G MCX4111A-XCAT (1x10G)
688
689       * Host interface: PCI Express 3.0 x8
690       * Device ID: 15b3:1013
691       * Firmware version: 12.26.2032 and above
692
693     * Mellanox\ |reg| ConnectX\ |reg|-4 10G MCX4121A-XCAT (2x10G)
694
695       * Host interface: PCI Express 3.0 x8
696       * Device ID: 15b3:1013
697       * Firmware version: 12.26.2032 and above
698
699     * Mellanox\ |reg| ConnectX\ |reg|-4 25G MCX4111A-ACAT (1x25G)
700
701       * Host interface: PCI Express 3.0 x8
702       * Device ID: 15b3:1013
703       * Firmware version: 12.26.2032 and above
704
705     * Mellanox\ |reg| ConnectX\ |reg|-4 25G MCX4121A-ACAT (2x25G)
706
707       * Host interface: PCI Express 3.0 x8
708       * Device ID: 15b3:1013
709       * Firmware version: 12.26.2032 and above
710
711     * Mellanox\ |reg| ConnectX\ |reg|-4 40G MCX4131A-BCAT/MCX413A-BCAT (1x40G)
712
713       * Host interface: PCI Express 3.0 x8
714       * Device ID: 15b3:1013
715       * Firmware version: 12.26.2032 and above
716
717     * Mellanox\ |reg| ConnectX\ |reg|-4 40G MCX415A-BCAT (1x40G)
718
719       * Host interface: PCI Express 3.0 x16
720       * Device ID: 15b3:1013
721       * Firmware version: 12.26.2032 and above
722
723     * Mellanox\ |reg| ConnectX\ |reg|-4 50G MCX4131A-GCAT/MCX413A-GCAT (1x50G)
724
725       * Host interface: PCI Express 3.0 x8
726       * Device ID: 15b3:1013
727       * Firmware version: 12.26.2032 and above
728
729     * Mellanox\ |reg| ConnectX\ |reg|-4 50G MCX414A-BCAT (2x50G)
730
731       * Host interface: PCI Express 3.0 x8
732       * Device ID: 15b3:1013
733       * Firmware version: 12.26.2032 and above
734
735     * Mellanox\ |reg| ConnectX\ |reg|-4 50G MCX415A-GCAT/MCX416A-BCAT/MCX416A-GCAT (2x50G)
736
737       * Host interface: PCI Express 3.0 x16
738       * Device ID: 15b3:1013
739       * Firmware version: 12.26.2032 and above
740       * Firmware version: 12.26.2032 and above
741
742     * Mellanox\ |reg| ConnectX\ |reg|-4 50G MCX415A-CCAT (1x100G)
743
744       * Host interface: PCI Express 3.0 x16
745       * Device ID: 15b3:1013
746       * Firmware version: 12.26.2032 and above
747
748     * Mellanox\ |reg| ConnectX\ |reg|-4 100G MCX416A-CCAT (2x100G)
749
750       * Host interface: PCI Express 3.0 x16
751       * Device ID: 15b3:1013
752       * Firmware version: 12.26.2032 and above
753
754     * Mellanox\ |reg| ConnectX\ |reg|-4 Lx 10G MCX4121A-XCAT (2x10G)
755
756       * Host interface: PCI Express 3.0 x8
757       * Device ID: 15b3:1015
758       * Firmware version: 14.26.2032 and above
759
760     * Mellanox\ |reg| ConnectX\ |reg|-4 Lx 25G MCX4121A-ACAT (2x25G)
761
762       * Host interface: PCI Express 3.0 x8
763       * Device ID: 15b3:1015
764       * Firmware version: 14.26.2032 and above
765
766     * Mellanox\ |reg| ConnectX\ |reg|-5 100G MCX556A-ECAT (2x100G)
767
768       * Host interface: PCI Express 3.0 x16
769       * Device ID: 15b3:1017
770       * Firmware version: 16.26.2032 and above
771
772     * Mellanox\ |reg| ConnectX\ |reg|-5 Ex EN 100G MCX516A-CDAT (2x100G)
773
774       * Host interface: PCI Express 4.0 x16
775       * Device ID: 15b3:1019
776       * Firmware version: 16.26.2032 and above
777
778 * IBM Power 9 platforms with Mellanox\ |reg| NICs combinations
779
780   * CPU:
781
782     * POWER9 2.2 (pvr 004e 1202) 2300MHz
783
784   * OS:
785
786     * Ubuntu 18.04.1 LTS (Bionic Beaver)
787
788   * NICs:
789
790     * Mellanox\ |reg| ConnectX\ |reg|-5 100G MCX556A-ECAT (2x100G)
791
792       * Host interface: PCI Express 3.0 x16
793       * Device ID: 15b3:1017
794       * Firmware version: 16.26.1040
795
796   * OFED:
797
798     * MLNX_OFED 4.7-1.0.0.2