xref: /dpdk/doc/guides/rel_notes/release_19_11.rst (revision 33e71acf3d446ced520f07e4d75769323e0ec22c)
1..  SPDX-License-Identifier: BSD-3-Clause
2    Copyright 2019 The DPDK contributors
3
4.. include:: <isonum.txt>
5
6DPDK Release 19.11
7==================
8
9New 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
299Removed 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
334API 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
418ABI 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
450Shared Library Versions
451-----------------------
452
453The 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
520Tested 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
799