xref: /dpdk/doc/guides/rel_notes/release_19_08.rst (revision 089e5ed727a15da2729cfee9b63533dd120bd04c)
1..  SPDX-License-Identifier: BSD-3-Clause
2    Copyright 2019 The DPDK contributors
3
4.. include:: <isonum.txt>
5
6DPDK Release 19.08
7==================
8
9.. **Read this first.**
10
11   The text in the sections below explains how to update the release notes.
12
13   Use proper spelling, capitalization and punctuation in all sections.
14
15   Variable and config names should be quoted as fixed width text:
16   ``LIKE_THIS``.
17
18   Build the docs and view the output file to ensure the changes are correct::
19
20      make doc-guides-html
21
22      xdg-open build/doc/html/guides/rel_notes/release_19_08.html
23
24
25New Features
26------------
27
28.. This section should contain new features added in this release.
29   Sample format:
30
31   * **Add a title in the past tense with a full stop.**
32
33     Add a short 1-2 sentence description in the past tense.
34     The description should be enough to allow someone scanning
35     the release notes to understand the new feature.
36
37     If the feature adds a lot of sub-features you can use a bullet list
38     like this:
39
40     * Added feature foo to do something.
41     * Enhanced feature bar to do something else.
42
43     Refer to the previous release notes for examples.
44
45     Suggested order in release notes items:
46     * Core libs (EAL, mempool, ring, mbuf, buses)
47     * Device abstraction libs and PMDs
48       - ethdev (lib, PMDs)
49       - cryptodev (lib, PMDs)
50       - eventdev (lib, PMDs)
51       - etc
52     * Other libs
53     * Apps, Examples, Tools (if significant)
54
55     This section is a comment. Do not overwrite or remove it.
56     Also, make sure to start the actual text at the margin.
57     =========================================================
58
59* **EAL will now pick IOVA as VA mode as the default in most cases.**
60
61  Previously, the preferred default IOVA mode was selected to be IOVA as PA. The
62  behavior has now been changed to handle IOVA mode detection in a more complex
63  manner, and will default to IOVA as VA in most cases.
64
65* **Added MCS lock.**
66
67  MCS lock provides scalability by spinning on a CPU/thread local variable
68  which avoids expensive cache bouncing.
69  It provides fairness by maintaining a list of acquirers and passing
70  the lock to each CPU/thread in the order they acquired the lock.
71
72* **Updated the EAL Pseudo-random Number Generator.**
73
74  The ``lrand48()`` based ``rte_rand()`` function is replaced with a
75  DPDK-native combined Linear Feedback Shift Register (LFSR)
76  pseudo-random number generator (PRNG).
77
78  This new PRNG implementation is multi-thread safe, provides
79  higher-quality pseudo-random numbers (including full 64 bit
80  support) and improved performance.
81
82  In addition, ``<rte_random.h>`` is extended with a new function
83  ``rte_rand_max()`` which supplies unbiased, bounded pseudo-random
84  numbers.
85
86* **Updated the Broadcom bnxt PMD.**
87
88  Updated the Broadcom bnxt PMD. The major enhancements include:
89
90  * Performance optimizations in non-vector Tx path.
91  * Added support for SSE vector mode.
92  * Updated HWRM API to version 1.10.0.91.
93
94* **Added support for Broadcom NetXtreme-E BCM57500 Ethernet controllers.**
95
96  Added support to the Broadcom bnxt PMD for the BCM57500 (a.k.a. "Thor") family
97  of Ethernet controllers. These controllers support link speeds up to
98  200Gbps, 50G PAM-4, and PCIe 4.0.
99
100* **Added Huawei hinic PMD.**
101
102  Added the new ``hinic`` net driver for Huawei Intelligent PCIE Network
103  Adapters based on the Huawei Ethernet Controller Hi1822.
104  See the :doc:`../nics/hinic` guide for more details on this new driver.
105
106* **Updated the Intel ice driver.**
107
108  Updated the Intel ice driver with new features and improvements, including:
109
110  * Enabled Tx outer/inner L3/L4 checksum offload.
111  * Enabled generic filter framework and supported switch filter.
112  * Supported UDP tunnel port add.
113
114* **Updated the Intel i40e driver.**
115
116  Updated tje Intel i40e driver with new features and improvements, including:
117
118  * Added support for MARK + RSS action in rte_flow (non-vector RX path only)
119
120* **Updated Mellanox mlx5 driver.**
121
122  Updated Mellanox mlx5 driver with new features and improvements, including:
123
124  * Updated the packet header modification feature. Added support of TCP header
125    sequence number and acknowledgment number modification.
126  * Added support for match on ICMP/ICMP6 code and type.
127  * Added support for matching on GRE's key and C,K,S present bits.
128  * Added support for IP-in-IP tunnel.
129  * Accelerated flows with count action creation and destroy.
130  * Accelerated flows counter query.
131  * Improved Tx datapath performance with enabled HW offloads.
132  * Added support for LRO.
133
134* **Updated Solarflare network PMD.**
135
136  Updated the Solarflare ``sfc_efx`` driver with changes including:
137
138  * Added support for Rx interrupts.
139
140* **Added memif PMD.**
141
142  Added a new Shared Memory Packet Interface (``memif``) PMD.
143  See the :doc:`../nics/memif` guide for more details on this new driver.
144
145* **Updated the AF_XDP PMD.**
146
147  Updated the AF_XDP PMD. The new features include:
148
149  * Enabled zero copy through mbuf's external memory mechanism to achieve
150    higher performance.
151  * Added multi-queue support to allow one af_xdp vdev with multiple netdev
152    queues.
153  * Enabled "need_wakeup" feature which can provide efficient support for the
154    usecase where the application and driver executing on the same core.
155
156* **Enabled infinite Rx in the PCAP PMD.**
157
158  Added an infinite Rx feature to the PCAP PMD which allows packets in the Rx
159  PCAP to be received repeatedly at a high rate. This can be useful for quick
160  performance testing of DPDK apps.
161
162* **Enabled receiving no packet in the PCAP PMD.**
163
164  Added function to allow users to run the PCAP PMD without receiving any
165  packets on PCAP Rx. When the function is called, a dummy queue is created
166  for each Tx queue argument passed.
167
168* **Added a FPGA_LTE_FEC bbdev PMD.**
169
170  Added a new ``fpga_lte_fec`` bbdev driver for the Intel\ |reg| FPGA PAC
171  (Programmable  Acceleration Card) N3000.  See the
172  :doc:`../bbdevs/fpga_lte_fec` BBDEV guide for more details on this new driver.
173
174* **Updated the TURBO_SW bbdev PMD.**
175
176  Updated the ``turbo_sw`` bbdev driver with changes including:
177
178  * Added option to build the driver with or without dependency of external
179    SDK libraries.
180  * Added support for 5GNR encode/decode operations.
181
182* **Updated the Intel QuickAssist Technology (QAT) symmetric crypto PMD.**
183
184  Added support for digest-encrypted cases where digest is appended
185  to the data.
186
187* **Added the Intel QuickData Technology PMD.**
188
189  Added a PMD for the Intel\ |reg|  QuickData Technology, part of
190  Intel\ |reg|  I/O Acceleration Technology `(Intel I/OAT)
191  <https://www.intel.com/content/www/us/en/wireless-network/accel-technology.html>`_,
192  which allows data copies to be done by hardware instead
193  of via software, reducing cycles spent copying large blocks of data in
194  applications.
195
196* **Added Marvell OCTEON TX2 drivers.**
197
198  Added the new ``ethdev``, ``eventdev``, ``mempool``, ``eventdev Rx adapter``,
199  ``eventdev Tx adapter``, ``eventdev Timer adapter`` and ``rawdev DMA``
200  drivers for various HW co-processors available in ``OCTEON TX2`` SoC.
201
202  See :doc:`../platform/octeontx2` and driver information:
203
204  * :doc:`../nics/octeontx2`
205  * :doc:`../mempool/octeontx2`
206  * :doc:`../eventdevs/octeontx2`
207  * :doc:`../rawdevs/octeontx2_dma`
208
209* **Introduced the Intel NTB PMD.**
210
211  Added a PMD for Intel NTB (Non-transparent Bridge). This PMD implements
212  a handshake between two separate hosts and can share local memory for peer
213  host to directly access.
214
215* **Updated the IPSec library and IPsec Security Gateway application.**
216
217  Added the following features to ``librte_ipsec``. Corresponding changes are
218  also added in the ``ipsec-secgw`` sample application.
219
220  * ECN and DSCP field header reconstruction as per RFC4301.
221  * Transport mode with IPv6 extension headers.
222  * Support packets with multiple segments.
223
224* **Updated telemetry library for global metrics support.**
225
226  Updated ``librte_telemetry`` to fetch the global metrics from the
227  ``librte_metrics`` library.
228
229* **Added new telemetry mode for l3fwd-power application.**
230
231  Added a telemetry mode to the ``l3fwd-power`` application to report
232  application level busyness, empty and full polls of ``rte_eth_rx_burst()``.
233
234* **Updated the pdump application.**
235
236  Add support for pdump to exit with primary process.
237
238* **Updated test-compress-perf tool application.**
239
240  Added a multiple cores feature to the compression perf tool application.
241
242
243Removed Items
244-------------
245
246.. This section should contain removed items in this release. Sample format:
247
248   * Add a short 1-2 sentence description of the removed item
249     in the past tense.
250
251   This section is a comment. Do not overwrite or remove it.
252   Also, make sure to start the actual text at the margin.
253   =========================================================
254
255* Removed KNI ethtool, ``CONFIG_RTE_KNI_KMOD_ETHTOOL``, support.
256
257* build: armv8 crypto extension is disabled.
258
259
260API Changes
261-----------
262
263.. This section should contain API changes. Sample format:
264
265   * sample: Add a short 1-2 sentence description of the API change
266     which was announced in the previous releases and made in this release.
267     Start with a scope label like "ethdev:".
268     Use fixed width quotes for ``function_names`` or ``struct_names``.
269     Use the past tense.
270
271   This section is a comment. Do not overwrite or remove it.
272   Also, make sure to start the actual text at the margin.
273   =========================================================
274
275* The ``rte_mem_config`` structure has been made private. New accessor
276  ``rte_mcfg_*`` functions were introduced to provide replacement for direct
277  access to the shared mem config.
278
279* The network structures, definitions and functions have
280  been prefixed by ``rte_`` to resolve conflicts with libc headers.
281
282* malloc: The function ``rte_malloc_set_limit()`` was never implemented.
283  It is deprecated and will be removed in a future release.
284
285* cryptodev: the ``uint8_t *data`` member of the ``key`` structure in the xforms
286  structure (``rte_crypto_cipher_xform``, ``rte_crypto_auth_xform``, and
287  ``rte_crypto_aead_xform``) have been changed to ``const uint8_t *data``.
288
289* eventdev: No longer marked as experimental.
290
291  The eventdev functions are no longer marked as experimental, and have
292  become part of the normal DPDK API and ABI. Any future ABI changes will be
293  announced at least one release before the ABI change is made. There are no
294  ABI breaking changes planned.
295
296* ip_frag: The IP fragmentation library converts input mbuf into fragments
297  using input MTU size via the ``rte_ipv4_fragment_packet()`` interface.
298  Once fragmentation is done, each ``mbuf->ol_flags`` are set to enable IP
299  checksum H/W offload irrespective of the platform capability.
300  Cleared IP checksum H/W offload flag from the library. The application must
301  set this flag if it is supported by the platform and application wishes to
302  use it.
303
304* ip_frag: IP reassembly library converts the list of fragments into a
305  reassembled packet via ``rte_ipv4_frag_reassemble_packet()`` interface.
306  Once reassembly is done, ``mbuf->ol_flags`` are set to enable IP checksum H/W
307  offload irrespective of the platform capability. Cleared IP checksum H/W
308  offload flag from the library. The application must set this flag if it is
309  supported by the platform and application wishes to use it.
310
311* sched: Macros ``RTE_SCHED_QUEUES_PER_TRAFFIC_CLASS`` and
312  ``RTE_SCHED_PIPE_PROFILES_PER_PORT`` are removed for flexible configuration
313  of pipe traffic classes and their queues size, and for runtime configuration
314  of the maximum number of pipe profiles, respectively. In addition, the
315  ``wrr_weights`` field of struct ``rte_sched_pipe_params`` is modified to be
316  used only for best-effort tc, and the ``qsize`` field of struct
317  ``rte_sched_port_params`` is changed to allow different sizes for each
318  queue.
319
320
321ABI Changes
322-----------
323
324.. This section should contain ABI changes. Sample format:
325
326   * sample: Add a short 1-2 sentence description of the ABI change
327     which was announced in the previous releases and made in this release.
328     Start with a scope label like "ethdev:".
329     Use fixed width quotes for ``function_names`` or ``struct_names``.
330     Use the past tense.
331
332   This section is a comment. Do not overwrite or remove it.
333   Also, make sure to start the actual text at the margin.
334   =========================================================
335
336* eventdev: Event based Rx adapter callback
337
338  The mbuf pointer array in the event eth Rx adapter callback
339  has been replaced with an event array. Using
340  an event array allows the application to change attributes
341  of the events enqueued by the SW adapter.
342
343  The callback can drop packets and populate
344  a callback argument with the number of dropped packets.
345  Add a Rx adapter stats field to keep track of the total
346  number of dropped packets.
347
348* cryptodev: New member in ``rte_cryptodev_config`` to allow applications to
349  disable features supported by the crypto device. Only the following features
350  would be allowed to be disabled this way,
351
352  - ``RTE_CRYPTODEV_FF_SYMMETRIC_CRYPTO``.
353  - ``RTE_CRYPTODEV_FF_ASYMMETRIC_CRYPTO``.
354  - ``RTE_CRYPTODEV_FF_SECURITY``.
355
356  Disabling unused features would facilitate efficient usage of HW/SW offload.
357
358* bbdev: New operations and parameters have been added to support new 5GNR
359  operations. The bbdev ABI is still kept experimental.
360
361* rawdev: The driver names have been changed to ``librte_rawdev_*``.
362  Now they all have the same prefix, and same name with make and meson builds.
363
364
365Shared Library Versions
366-----------------------
367
368.. Update any library version updated in this release
369   and prepend with a ``+`` sign, like this:
370
371     libfoo.so.1
372   + libupdated.so.2
373     libbar.so.1
374
375   This section is a comment. Do not overwrite or remove it.
376   =========================================================
377
378The libraries prepended with a plus sign were incremented in this version.
379
380.. code-block:: diff
381
382     librte_acl.so.2
383     librte_bbdev.so.1
384     librte_bitratestats.so.2
385     librte_bpf.so.1
386     librte_bus_dpaa.so.2
387     librte_bus_fslmc.so.2
388     librte_bus_ifpga.so.2
389     librte_bus_pci.so.2
390     librte_bus_vdev.so.2
391     librte_bus_vmbus.so.2
392     librte_cfgfile.so.2
393     librte_cmdline.so.2
394     librte_compressdev.so.1
395   + librte_cryptodev.so.8
396     librte_distributor.so.1
397   + librte_eal.so.11
398     librte_efd.so.1
399     librte_ethdev.so.12
400   + librte_eventdev.so.7
401     librte_flow_classify.so.1
402     librte_gro.so.1
403     librte_gso.so.1
404     librte_hash.so.2
405     librte_ip_frag.so.1
406     librte_ipsec.so.1
407     librte_jobstats.so.1
408     librte_kni.so.2
409     librte_kvargs.so.1
410     librte_latencystats.so.1
411     librte_lpm.so.2
412     librte_mbuf.so.5
413     librte_member.so.1
414     librte_mempool.so.5
415     librte_meter.so.3
416     librte_metrics.so.1
417     librte_net.so.1
418     librte_pci.so.1
419     librte_pdump.so.3
420     librte_pipeline.so.3
421     librte_pmd_bnxt.so.2
422     librte_pmd_bond.so.2
423     librte_pmd_i40e.so.2
424     librte_pmd_ixgbe.so.2
425     librte_pmd_dpaa2_qdma.so.1
426     librte_pmd_ring.so.2
427     librte_pmd_softnic.so.1
428     librte_pmd_vhost.so.2
429     librte_port.so.3
430     librte_power.so.1
431     librte_rawdev.so.1
432     librte_rcu.so.1
433     librte_reorder.so.1
434     librte_ring.so.2
435   + librte_sched.so.3
436     librte_security.so.2
437     librte_stack.so.1
438     librte_table.so.3
439     librte_timer.so.1
440     librte_vhost.so.4
441
442
443Known Issues
444------------
445
446.. This section should contain new known issues in this release. Sample format:
447
448   * **Add title in present tense with full stop.**
449
450     Add a short 1-2 sentence description of the known issue
451     in the present tense. Add information on any known workarounds.
452
453   This section is a comment. Do not overwrite or remove it.
454   Also, make sure to start the actual text at the margin.
455   =========================================================
456
457* **Unsuitable IOVA mode may be picked as the default.**
458
459  Not all kernel drivers and not all devices support all IOVA modes. EAL will
460  attempt to pick a reasonable default based on a number of factors, but
461  there may be cases where the default is unsuitable.
462
463  It is recommended to use the `--iova-mode` command-line parameter if the
464  default is not suitable.
465
466
467Tested Platforms
468----------------
469
470.. This section should contain a list of platforms that were tested
471   with this release.
472
473   The format is:
474
475   * <vendor> platform with <vendor> <type of devices> combinations
476
477     * List of CPU
478     * List of OS
479     * List of devices
480     * Other relevant details...
481
482   This section is a comment. Do not overwrite or remove it.
483   Also, make sure to start the actual text at the margin.
484   =========================================================
485
486* Intel(R) platforms with Intel(R) NICs combinations
487
488   * CPU
489
490     * Intel(R) Atom(TM) CPU C3758 @ 2.20GHz
491     * Intel(R) Xeon(R) CPU D-1541 @ 2.10GHz
492     * Intel(R) Xeon(R) CPU D-1553N @ 2.30GHz
493     * Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
494     * Intel(R) Xeon(R) CPU E5-2699 v3 @ 2.30GHz
495     * Intel(R) Xeon(R) CPU E5-2699 v4 @ 2.20GHz
496     * Intel(R) Xeon(R) Gold 6139 CPU @ 2.30GHz
497     * Intel(R) Xeon(R) Platinum 8180 CPU @ 2.50GHz
498     * Intel(R) Xeon(R) Platinum 8280M CPU @ 2.70GHz
499
500   * OS:
501
502     * CentOS 7.6
503     * Fedora 30
504     * FreeBSD 12.0
505     * Red Hat Enterprise Linux Server release 8.0
506     * Red Hat Enterprise Linux Server release 7.6
507     * Suse12SP3
508     * Ubuntu 16.04
509     * Ubuntu 16.10
510     * Ubuntu 18.04
511     * Ubuntu 19.04
512
513   * NICs:
514
515     * Intel(R) 82599ES 10 Gigabit Ethernet Controller
516
517       * Firmware version: 0x61bf0001
518       * Device id (pf/vf): 8086:10fb / 8086:10ed
519       * Driver version: 5.6.1 (ixgbe)
520
521     * Intel(R) Corporation Ethernet Connection X552/X557-AT 10GBASE-T
522
523       * Firmware version: 0x800003e7
524       * Device id (pf/vf): 8086:15ad / 8086:15a8
525       * Driver version: 5.1.0 (ixgbe)
526
527     * Intel Corporation Ethernet Controller 10G X550T
528
529       * Firmware version: 0x80000482
530       * Device id (pf): 8086:1563
531       * Driver version: 5.6.1 (ixgbe)
532
533     * Intel(R) Ethernet Converged Network Adapter X710-DA4 (4x10G)
534
535       * Firmware version: 7.00 0x80004cdb
536       * Device id (pf/vf): 8086:1572 / 8086:154c
537       * Driver version: 2.9.21 (i40e)
538
539     * Intel(R) Corporation Ethernet Connection X722 for 10GbE SFP+ (4x10G)
540
541       * Firmware version: 4.10 0x80001a3c
542       * Device id (pf/vf): 8086:37d0 / 8086:37cd
543       * Driver version: 2.9.21 (i40e)
544
545     * Intel(R) Ethernet Converged Network Adapter XXV710-DA2 (2x25G)
546
547       * Firmware version: 7.00 0x80004cf8
548       * Device id (pf/vf): 8086:158b / 8086:154c
549       * Driver version: 2.9.21 (i40e)
550
551     * Intel(R) Ethernet Converged Network Adapter XL710-QDA2 (2X40G)
552
553       * Firmware version: 7.00 0x80004c97
554       * Device id (pf/vf): 8086:1583 / 8086:154c
555       * Driver version: 2.9.21 (i40e)
556
557     * Intel(R) Corporation I350 Gigabit Network Connection
558
559       * Firmware version: 1.63, 0x80000cbc
560       * Device id (pf/vf): 8086:1521 / 8086:1520
561       * Driver version: 5.4.0-k (igb)
562
563     * Intel Corporation I210 Gigabit Network Connection
564
565       * Firmware version: 3.25, 0x800006eb
566       * Device id (pf): 8086:1533
567       * Driver version: 5.4.0-k(igb)
568
569* Intel(R) platforms with Mellanox(R) NICs combinations
570
571  * CPU:
572
573    * Intel(R) Xeon(R) Gold 6154 CPU @ 3.00GHz
574    * Intel(R) Xeon(R) CPU E5-2697A v4 @ 2.60GHz
575    * Intel(R) Xeon(R) CPU E5-2697 v3 @ 2.60GHz
576    * Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
577    * Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz
578    * Intel(R) Xeon(R) CPU E5-2640 @ 2.50GHz
579    * Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
580
581  * OS:
582
583    * Red Hat Enterprise Linux Server release 7.6 (Maipo)
584    * Red Hat Enterprise Linux Server release 7.5 (Maipo)
585    * Red Hat Enterprise Linux Server release 7.4 (Maipo)
586    * Red Hat Enterprise Linux Server release 7.3 (Maipo)
587    * Red Hat Enterprise Linux Server release 7.2 (Maipo)
588    * Ubuntu 19.04
589    * Ubuntu 18.10
590    * Ubuntu 18.04
591    * Ubuntu 16.04
592    * SUSE Linux Enterprise Server 15
593
594  * OFED:
595
596    * MLNX_OFED 4.6-1.0.1.1
597    * MLNX_OFED 4.6-4.1.2.0
598
599  * NICs:
600
601    * Mellanox(R) ConnectX(R)-3 Pro 40G MCX354A-FCC_Ax (2x40G)
602
603      * Host interface: PCI Express 3.0 x8
604      * Device ID: 15b3:1007
605      * Firmware version: 2.42.5000
606
607    * Mellanox(R) ConnectX(R)-4 10G MCX4111A-XCAT (1x10G)
608
609      * Host interface: PCI Express 3.0 x8
610      * Device ID: 15b3:1013
611      * Firmware version: 12.25.6406 and above
612
613    * Mellanox(R) ConnectX(R)-4 10G MCX4121A-XCAT (2x10G)
614
615      * Host interface: PCI Express 3.0 x8
616      * Device ID: 15b3:1013
617      * Firmware version: 12.25.6406 and above
618
619    * Mellanox(R) ConnectX(R)-4 25G MCX4111A-ACAT (1x25G)
620
621      * Host interface: PCI Express 3.0 x8
622      * Device ID: 15b3:1013
623      * Firmware version: 12.25.6406 and above
624
625    * Mellanox(R) ConnectX(R)-4 25G MCX4121A-ACAT (2x25G)
626
627      * Host interface: PCI Express 3.0 x8
628      * Device ID: 15b3:1013
629      * Firmware version: 12.25.6406 and above
630
631    * Mellanox(R) ConnectX(R)-4 40G MCX4131A-BCAT/MCX413A-BCAT (1x40G)
632
633      * Host interface: PCI Express 3.0 x8
634      * Device ID: 15b3:1013
635      * Firmware version: 12.25.6406 and above
636
637    * Mellanox(R) ConnectX(R)-4 40G MCX415A-BCAT (1x40G)
638
639      * Host interface: PCI Express 3.0 x16
640      * Device ID: 15b3:1013
641      * Firmware version: 12.25.6406 and above
642
643    * Mellanox(R) ConnectX(R)-4 50G MCX4131A-GCAT/MCX413A-GCAT (1x50G)
644
645      * Host interface: PCI Express 3.0 x8
646      * Device ID: 15b3:1013
647      * Firmware version: 12.25.6406 and above
648
649    * Mellanox(R) ConnectX(R)-4 50G MCX414A-BCAT (2x50G)
650
651      * Host interface: PCI Express 3.0 x8
652      * Device ID: 15b3:1013
653      * Firmware version: 12.25.6406 and above
654
655    * Mellanox(R) ConnectX(R)-4 50G MCX415A-GCAT/MCX416A-BCAT/MCX416A-GCAT (2x50G)
656
657      * Host interface: PCI Express 3.0 x16
658      * Device ID: 15b3:1013
659      * Firmware version: 12.25.6406 and above
660      * Firmware version: 12.25.6406 and above
661
662    * Mellanox(R) ConnectX(R)-4 50G MCX415A-CCAT (1x100G)
663
664      * Host interface: PCI Express 3.0 x16
665      * Device ID: 15b3:1013
666      * Firmware version: 12.25.6406 and above
667
668    * Mellanox(R) ConnectX(R)-4 100G MCX416A-CCAT (2x100G)
669
670      * Host interface: PCI Express 3.0 x16
671      * Device ID: 15b3:1013
672      * Firmware version: 12.25.6406 and above
673
674    * Mellanox(R) ConnectX(R)-4 Lx 10G MCX4121A-XCAT (2x10G)
675
676      * Host interface: PCI Express 3.0 x8
677      * Device ID: 15b3:1015
678      * Firmware version: 14.25.6406 and above
679
680    * Mellanox(R) ConnectX(R)-4 Lx 25G MCX4121A-ACAT (2x25G)
681
682      * Host interface: PCI Express 3.0 x8
683      * Device ID: 15b3:1015
684      * Firmware version: 14.25.6406 and above
685
686    * Mellanox(R) ConnectX(R)-5 100G MCX556A-ECAT (2x100G)
687
688      * Host interface: PCI Express 3.0 x16
689      * Device ID: 15b3:1017
690      * Firmware version: 16.25.6406 and above
691
692    * Mellanox(R) ConnectX(R)-5 Ex EN 100G MCX516A-CDAT (2x100G)
693
694      * Host interface: PCI Express 4.0 x16
695      * Device ID: 15b3:1019
696      * Firmware version: 16.25.6406 and above
697
698* Mellanox(R) BlueField SmartNIC
699
700  * Mellanox(R) BlueField SmartNIC MT416842 (2x25G)
701
702    * Host interface: PCI Express 3.0 x16
703    * Device ID: 15b3:a2d2
704    * Firmware version: 18.25.6600
705
706  * SoC Arm cores running OS:
707
708    * CentOS Linux release 7.5.1804 (AltArch)
709    * MLNX_OFED 4.6-3.5.8.0
710
711  * DPDK application running on Arm cores inside SmartNIC
712
713* IBM Power 9 platforms with Mellanox(R) NICs combinations
714
715  * CPU:
716
717    * POWER9 2.2 (pvr 004e 1202) 2300MHz
718
719  * OS:
720
721    * Ubuntu 18.04.1 LTS (Bionic Beaver)
722
723  * NICs:
724
725    * Mellanox(R) ConnectX(R)-5 100G MCX556A-ECAT (2x100G)
726
727      * Host interface: PCI Express 3.0 x16
728      * Device ID: 15b3:1017
729      * Firmware version: 16.25.6406
730
731  * OFED:
732
733    * MLNX_OFED 4.6-4.1.2.0
734
735* ARMv8 SoC combinations from Marvell (with integrated NICs)
736
737   * SoC:
738
739     * CN83xx, CN96xx, CNF95xx, CN93xx
740
741   * OS (Based on Marvell OCTEON TX SDK 10.0):
742
743     * Arch Linux
744     * Buildroot 2018.11
745     * Ubuntu 16.04.1 LTS
746     * Ubuntu 16.10
747     * Ubuntu 18.04.1
748     * Ubuntu 19.04
749