1DPDK Release 17.05
2==================
3
4.. **Read this first.**
5
6   The text in the sections below explains how to update the release notes.
7
8   Use proper spelling, capitalization and punctuation in all sections.
9
10   Variable and config names should be quoted as fixed width text:
11   ``LIKE_THIS``.
12
13   Build the docs and view the output file to ensure the changes are correct::
14
15      make doc-guides-html
16
17      xdg-open build/doc/html/guides/rel_notes/release_17_05.html
18
19
20New Features
21------------
22
23.. This section should contain new features added in this release. Sample
24   format:
25
26   * **Add a title in the past tense with a full stop.**
27
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.
31
32     If the feature adds a lot of sub-features you can use a bullet list like
33     this:
34
35     * Added feature foo to do something.
36     * Enhanced feature bar to do something else.
37
38     Refer to the previous release notes for examples.
39
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     =========================================================
43
44* **Reorganized mbuf structure.**
45
46  The mbuf structure has been reorganized as follows:
47
48  * Align fields to facilitate the writing of ``data_off``, ``refcnt``, and
49    ``nb_segs`` in one operation.
50  * Use 2 bytes for port and number of segments.
51  * Move the sequence number to the second cache line.
52  * Add a timestamp field.
53  * Set default value for ``refcnt``, ``next`` and ``nb_segs`` at mbuf free.
54
55* **Added mbuf raw free API.**
56
57  Moved ``rte_mbuf_raw_free()`` and ``rte_pktmbuf_prefree_seg()`` functions to
58  the public API.
59
60* **Added free Tx mbuf on demand API.**
61
62  Added a new function ``rte_eth_tx_done_cleanup()`` which allows an
63  application to request the driver to release mbufs that are no longer in use
64  from a Tx ring, independent of whether or not the ``tx_rs_thresh`` has been
65  crossed.
66
67* **Added device removal interrupt.**
68
69  Added a new ethdev event ``RTE_ETH_DEV_INTR_RMV`` to signify
70  the sudden removal of a device.
71  This event can be advertised by PCI drivers and enabled accordingly.
72
73* **Added EAL dynamic log framework.**
74
75  Added new APIs to dynamically register named log types, and control
76  the level of each type independently.
77
78* **Added descriptor status ethdev API.**
79
80  Added a new API to get the status of a descriptor.
81
82  For Rx, it is almost similar to the ``rx_descriptor_done`` API, except
83  it differentiates descriptors which are held by the driver and not
84  returned to the hardware. For Tx, it is a new API.
85
86* **Increased number of next hops for LPM IPv6 to 2^21.**
87
88  The next_hop field has been extended from 8 bits to 21 bits for IPv6.
89
90* **Added VFIO hotplug support.**
91
92  Added hotplug support for VFIO in addition to the existing UIO support.
93
94* **Added PowerPC support to pci probing for vfio-pci devices.**
95
96  Enabled sPAPR IOMMU based pci probing for vfio-pci devices.
97
98* **Kept consistent PMD batching behavior.**
99
100  Removed the limit of fm10k/i40e/ixgbe Tx burst size and vhost Rx/Tx burst size
101  in order to support the same policy of "make an best effort to Rx/Tx pkts"
102  for PMDs.
103
104* **Updated the ixgbe base driver.**
105
106  Updated the ixgbe base driver, including the following changes:
107
108  * Add link block check for KR.
109  * Complete HW initialization even if SFP is not present.
110  * Add VF xcast promiscuous mode.
111
112* **Added PowerPC support for i40e and its vector PMD.**
113
114  Enabled i40e PMD and its vector PMD by default in PowerPC.
115
116* **Added VF max bandwidth setting in i40e.**
117
118  Enabled capability to set the max bandwidth for a VF in i40e.
119
120* **Added VF TC min and max bandwidth setting in i40e.**
121
122  Enabled capability to set the min and max allocated bandwidth for a TC on a
123  VF in i40.
124
125* **Added TC strict priority mode setting on i40e.**
126
127  There are 2 Tx scheduling modes supported for TCs by i40e HW: round robin
128  mode and strict priority mode. By default the round robin mode is used. It
129  is now possible to change the Tx scheduling mode for a TC. This is a global
130  setting on a physical port.
131
132* **Added i40e dynamic device personalization support.**
133
134  * Added dynamic device personalization processing to i40e firmware.
135
136* **Added Cloud Filter for QinQ steering to i40e.**
137
138  * Added a QinQ cloud filter on the i40e PMD, for steering traffic to a VM
139    using both VLAN tags. Note, this feature is not supported in Vector Mode.
140
141* **Updated mlx5 PMD.**
142
143  Updated the mlx5 driver, including the following changes:
144
145  * Added Generic flow API support for classification according to ether type.
146  * Extended Generic flow API support for classification of IPv6 flow
147    according to Vtc flow, Protocol and Hop limit.
148  * Added Generic flow API support for FLAG action.
149  * Added Generic flow API support for RSS action.
150  * Added support for TSO for non-tunneled and VXLAN packets.
151  * Added support for hardware Tx checksum offloads for VXLAN packets.
152  * Added support for user space Rx interrupt mode.
153  * Improved ConnectX-5 single core and maximum performance.
154
155* **Updated mlx4 PMD.**
156
157  Updated the mlx4 driver, including the following changes:
158
159  * Added support for Generic flow API basic flow items and actions.
160  * Added support for device removal event.
161
162* **Updated the sfc_efx driver.**
163
164  * Added Generic Flow API support for Ethernet, VLAN, IPv4, IPv6, UDP and TCP
165    pattern items with QUEUE action for ingress traffic.
166
167  * Added support for virtual functions (VFs).
168
169* **Added LiquidIO network PMD.**
170
171  Added poll mode driver support for Cavium LiquidIO II server adapter VFs.
172
173* **Added Atomic Rules Arkville PMD.**
174
175  Added a new poll mode driver for the Arkville family of
176  devices from Atomic Rules. The net/ark PMD supports line-rate
177  agnostic, multi-queue data movement on Arkville core FPGA instances.
178
179* **Added support for NXP DPAA2 - FSLMC bus.**
180
181  Added the new bus "fslmc" driver for NXP DPAA2 devices. See the
182  "Network Interface Controller Drivers" document for more details of this new
183  driver.
184
185* **Added support for NXP DPAA2 Network PMD.**
186
187  Added the new "dpaa2" net driver for NXP DPAA2 devices. See the
188  "Network Interface Controller Drivers" document for more details of this new
189  driver.
190
191* **Added support for the Wind River Systems AVP PMD.**
192
193  Added a new networking driver for the AVP device type. Theses devices are
194  specific to the Wind River Systems virtualization platforms.
195
196* **Added vmxnet3 version 3 support.**
197
198  Added support for vmxnet3 version 3 which includes several
199  performance enhancements such as configurable Tx data ring, Receive
200  Data Ring, and the ability to register memory regions.
201
202* **Updated the TAP driver.**
203
204  Updated the TAP PMD to:
205
206  * Support MTU modification.
207  * Support packet type for Rx.
208  * Support segmented packets on Rx and Tx.
209  * Speed up Rx on TAP when no packets are available.
210  * Support capturing traffic from another netdevice.
211  * Dynamically change link status when the underlying interface state changes.
212  * Added Generic Flow API support for Ethernet, VLAN, IPv4, IPv6, UDP and
213    TCP pattern items with DROP, QUEUE and PASSTHRU actions for ingress
214    traffic.
215
216* **Added MTU feature support to Virtio and Vhost.**
217
218  Implemented new Virtio MTU feature in Vhost and Virtio:
219
220  * Add ``rte_vhost_mtu_get()`` API to Vhost library.
221  * Enable Vhost PMD's MTU get feature.
222  * Get max MTU value from host in Virtio PMD
223
224* **Added interrupt mode support for virtio-user.**
225
226  Implemented Rxq interrupt mode and LSC support for virtio-user as a virtual
227  device. Supported cases:
228
229  * Rxq interrupt for virtio-user + vhost-user as the backend.
230  * Rxq interrupt for virtio-user + vhost-kernel as the backend.
231  * LSC interrupt for virtio-user + vhost-user as the backend.
232
233* **Added event driven programming model library (rte_eventdev).**
234
235  This API introduces an event driven programming model.
236
237  In a polling model, lcores poll ethdev ports and associated
238  Rx queues directly to look for a packet. By contrast in an event
239  driven model, lcores call the scheduler that selects packets for
240  them based on programmer-specified criteria. The Eventdev library
241  adds support for an event driven programming model, which offers
242  applications automatic multicore scaling, dynamic load balancing,
243  pipelining, packet ingress order maintenance and
244  synchronization services to simplify application packet processing.
245
246  By introducing an event driven programming model, DPDK can support
247  both polling and event driven programming models for packet processing,
248  and applications are free to choose whatever model
249  (or combination of the two) best suits their needs.
250
251* **Added Software Eventdev PMD.**
252
253  Added support for the software eventdev PMD. The software eventdev is a
254  software based scheduler device that implements the eventdev API. This
255  PMD allows an application to configure a pipeline using the eventdev
256  library, and run the scheduling workload on a CPU core.
257
258* **Added Cavium OCTEONTX Eventdev PMD.**
259
260  Added the new octeontx ssovf eventdev driver for OCTEONTX devices. See the
261  "Event Device Drivers" document for more details on this new driver.
262
263* **Added information metrics library.**
264
265  Added a library that allows information metrics to be added and updated
266  by producers, typically other libraries, for later retrieval by
267  consumers such as applications. It is intended to provide a
268  reporting mechanism that is independent of other libraries such
269  as ethdev.
270
271* **Added bit-rate calculation library.**
272
273  Added a library that can be used to calculate device bit-rates. Calculated
274  bitrates are reported using the metrics library.
275
276* **Added latency stats library.**
277
278  Added a library that measures packet latency. The collected statistics are
279  jitter and latency. For latency the minimum, average, and maximum is
280  measured.
281
282* **Added NXP DPAA2 SEC crypto PMD.**
283
284  A new "dpaa2_sec" hardware based crypto PMD for NXP DPAA2 devices has been
285  added. See the "Crypto Device Drivers" document for more details on this
286  driver.
287
288* **Updated the Cryptodev Scheduler PMD.**
289
290  * Added a packet-size based distribution mode, which distributes the enqueued
291    crypto operations among two slaves, based on their data lengths.
292  * Added fail-over scheduling mode, which enqueues crypto operations to a
293    primary slave first. Then, any operation that cannot be enqueued is
294    enqueued to a secondary slave.
295  * Added mode specific option support, so each scheduling mode can
296    now be configured individually by the new API.
297
298* **Updated the QAT PMD.**
299
300  The QAT PMD has been updated with additional support for:
301
302  * AES DOCSIS BPI algorithm.
303  * DES DOCSIS BPI algorithm.
304  * ZUC EEA3/EIA3 algorithms.
305
306* **Updated the AESNI MB PMD.**
307
308  The AESNI MB PMD has been updated with additional support for:
309
310  * AES DOCSIS BPI algorithm.
311
312* **Updated the OpenSSL PMD.**
313
314  The OpenSSL PMD has been updated with additional support for:
315
316  * DES DOCSIS BPI algorithm.
317
318
319Resolved Issues
320---------------
321
322.. This section should contain bug fixes added to the relevant
323   sections. Sample format:
324
325   * **code/section Fixed issue in the past tense with a full stop.**
326
327     Add a short 1-2 sentence description of the resolved issue in the past
328     tense.
329
330     The title should contain the code/lib section like a commit message.
331
332     Add the entries in alphabetic order in the relevant sections below.
333
334   This section is a comment. do not overwrite or remove it.
335   Also, make sure to start the actual text at the margin.
336   =========================================================
337
338
339* **l2fwd-keepalive: Fixed unclean shutdowns.**
340
341  Added clean shutdown to l2fwd-keepalive so that it can free up
342  stale resources used for inter-process communication.
343
344
345Known Issues
346------------
347
348.. This section should contain new known issues in this release. Sample format:
349
350   * **Add title in present tense with full stop.**
351
352     Add a short 1-2 sentence description of the known issue in the present
353     tense. Add information on any known workarounds.
354
355   This section is a comment. do not overwrite or remove it.
356   Also, make sure to start the actual text at the margin.
357   =========================================================
358
359* **LSC interrupt doesn't work for virtio-user + vhost-kernel.**
360
361  LSC interrupt cannot be detected when setting the backend, tap device,
362  up/down as we fail to find a way to monitor such event.
363
364
365API Changes
366-----------
367
368.. This section should contain API changes. Sample format:
369
370   * Add a short 1-2 sentence description of the API change. Use fixed width
371     quotes for ``rte_function_names`` or ``rte_struct_names``. Use the past
372     tense.
373
374   This section is a comment. do not overwrite or remove it.
375   Also, make sure to start the actual text at the margin.
376   =========================================================
377
378* The LPM ``next_hop`` field is extended from 8 bits to 21 bits for IPv6
379  while keeping ABI compatibility.
380
381* **Reworked rte_ring library.**
382
383  The rte_ring library has been reworked and updated. The following changes
384  have been made to it:
385
386  * Removed the build-time setting ``CONFIG_RTE_RING_SPLIT_PROD_CONS``.
387  * Removed the build-time setting ``CONFIG_RTE_LIBRTE_RING_DEBUG``.
388  * Removed the build-time setting ``CONFIG_RTE_RING_PAUSE_REP_COUNT``.
389  * Removed the function ``rte_ring_set_water_mark`` as part of a general
390    removal of watermarks support in the library.
391  * Added an extra parameter to the burst/bulk enqueue functions to
392    return the number of free spaces in the ring after enqueue. This can
393    be used by an application to implement its own watermark functionality.
394  * Added an extra parameter to the burst/bulk dequeue functions to return
395    the number elements remaining in the ring after dequeue.
396  * Changed the return value of the enqueue and dequeue bulk functions to
397    match that of the burst equivalents. In all cases, ring functions which
398    operate on multiple packets now return the number of elements enqueued
399    or dequeued, as appropriate. The updated functions are:
400
401    - ``rte_ring_mp_enqueue_bulk``
402    - ``rte_ring_sp_enqueue_bulk``
403    - ``rte_ring_enqueue_bulk``
404    - ``rte_ring_mc_dequeue_bulk``
405    - ``rte_ring_sc_dequeue_bulk``
406    - ``rte_ring_dequeue_bulk``
407
408    NOTE: the above functions all have different parameters as well as
409    different return values, due to the other listed changes above. This
410    means that all instances of the functions in existing code will be
411    flagged by the compiler. The return value usage should be checked
412    while fixing the compiler error due to the extra parameter.
413
414* **Reworked rte_vhost library.**
415
416  The rte_vhost library has been reworked to make it generic enough so that
417  the user could build other vhost-user drivers on top of it. To achieve this
418  the following changes have been made:
419
420  * The following vhost-pmd APIs are removed:
421
422    * ``rte_eth_vhost_feature_disable``
423    * ``rte_eth_vhost_feature_enable``
424    * ``rte_eth_vhost_feature_get``
425
426  * The vhost API ``rte_vhost_driver_callback_register(ops)`` is reworked to
427    be per vhost-user socket file. Thus, it takes one more argument:
428    ``rte_vhost_driver_callback_register(path, ops)``.
429
430  * The vhost API ``rte_vhost_get_queue_num`` is deprecated, instead,
431    ``rte_vhost_get_vring_num`` should be used.
432
433  * The following macros are removed in ``rte_virtio_net.h``
434
435    * ``VIRTIO_RXQ``
436    * ``VIRTIO_TXQ``
437    * ``VIRTIO_QNUM``
438
439  * The following net specific header files are removed in ``rte_virtio_net.h``
440
441    * ``linux/virtio_net.h``
442    * ``sys/socket.h``
443    * ``linux/if.h``
444    * ``rte_ether.h``
445
446  * The vhost struct ``virtio_net_device_ops`` is renamed to
447    ``vhost_device_ops``
448
449  * The vhost API ``rte_vhost_driver_session_start`` is removed. Instead,
450    ``rte_vhost_driver_start`` should be used, and there is no need to create
451    a thread to call it.
452
453  * The vhost public header file ``rte_virtio_net.h`` is renamed to
454    ``rte_vhost.h``
455
456
457ABI Changes
458-----------
459
460.. This section should contain ABI changes. Sample format:
461
462   * Add a short 1-2 sentence description of the ABI change that was announced
463     in the previous releases and made in this release. Use fixed width quotes
464     for ``rte_function_names`` or ``rte_struct_names``. Use the past tense.
465
466   This section is a comment. do not overwrite or remove it.
467   Also, make sure to start the actual text at the margin.
468   =========================================================
469
470* **Reorganized the mbuf structure.**
471
472  The order and size of the fields in the ``mbuf`` structure changed,
473  as described in the `New Features`_ section.
474
475* The ``rte_cryptodev_info.sym`` structure has a new field ``max_nb_sessions_per_qp``
476  to support drivers which may support a limited number of sessions per queue_pair.
477
478
479Removed Items
480-------------
481
482.. This section should contain removed items in this release. Sample format:
483
484   * Add a short 1-2 sentence description of the removed item in the past
485     tense.
486
487   This section is a comment. do not overwrite or remove it.
488   Also, make sure to start the actual text at the margin.
489   =========================================================
490
491* KNI vhost support has been removed.
492
493* The dpdk_qat sample application has been removed.
494
495Shared Library Versions
496-----------------------
497
498.. Update any library version updated in this release and prepend with a ``+``
499   sign, like this:
500
501     librte_acl.so.2
502   + librte_cfgfile.so.2
503     librte_cmdline.so.2
504
505   This section is a comment. do not overwrite or remove it.
506   =========================================================
507
508
509The libraries prepended with a plus sign were incremented in this version.
510
511.. code-block:: diff
512
513     librte_acl.so.2
514   + librte_bitratestats.so.1
515     librte_cfgfile.so.2
516     librte_cmdline.so.2
517     librte_cryptodev.so.2
518     librte_distributor.so.1
519   + librte_eal.so.4
520     librte_ethdev.so.6
521   + librte_eventdev.so.1
522     librte_hash.so.2
523     librte_ip_frag.so.1
524     librte_jobstats.so.1
525     librte_kni.so.2
526     librte_kvargs.so.1
527   + librte_latencystats.so.1
528     librte_lpm.so.2
529   + librte_mbuf.so.3
530     librte_mempool.so.2
531     librte_meter.so.1
532   + librte_metrics.so.1
533     librte_net.so.1
534     librte_pdump.so.1
535     librte_pipeline.so.3
536     librte_pmd_bond.so.1
537     librte_pmd_ring.so.2
538     librte_port.so.3
539     librte_power.so.1
540     librte_reorder.so.1
541     librte_ring.so.1
542     librte_sched.so.1
543     librte_table.so.2
544     librte_timer.so.1
545     librte_vhost.so.3
546
547
548Tested Platforms
549----------------
550
551.. This section should contain a list of platforms that were tested with this
552   release.
553
554   The format is:
555
556   * <vendor> platform with <vendor> <type of devices> combinations
557
558     * List of CPU
559     * List of OS
560     * List of devices
561     * Other relevant details...
562
563   This section is a comment. do not overwrite or remove it.
564   Also, make sure to start the actual text at the margin.
565   =========================================================
566
567* Intel(R) platforms with Intel(R) NICs combinations
568
569   * CPU
570
571     * Intel(R) Atom(TM) CPU C2758 @ 2.40GHz
572     * Intel(R) Xeon(R) CPU D-1540 @ 2.00GHz
573     * Intel(R) Xeon(R) CPU E5-4667 v3 @ 2.00GHz
574     * Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
575     * Intel(R) Xeon(R) CPU E5-2699 v3 @ 2.30GHz
576     * Intel(R) Xeon(R) CPU E5-2695 v4 @ 2.10GHz
577     * Intel(R) Xeon(R) CPU E5-2658 v2 @ 2.40GHz
578     * Intel(R) Xeon(R) CPU E5-2658 v3 @ 2.20GHz
579
580   * OS:
581
582     * CentOS 7.2
583     * Fedora 25
584     * FreeBSD 11
585     * Red Hat Enterprise Linux Server release 7.3
586     * SUSE Enterprise Linux 12
587     * Wind River Linux 8
588     * Ubuntu 16.04
589     * Ubuntu 16.10
590
591   * NICs:
592
593     * Intel(R) 82599ES 10 Gigabit Ethernet Controller
594
595       * Firmware version: 0x61bf0001
596       * Device id (pf/vf): 8086:10fb / 8086:10ed
597       * Driver version: 4.0.1-k (ixgbe)
598
599     * Intel(R) Corporation Ethernet Connection X552/X557-AT 10GBASE-T
600
601       * Firmware version: 0x800001cf
602       * Device id (pf/vf): 8086:15ad / 8086:15a8
603       * Driver version: 4.2.5 (ixgbe)
604
605     * Intel(R) Ethernet Converged Network Adapter X710-DA4 (4x10G)
606
607       * Firmware version: 5.05
608       * Device id (pf/vf): 8086:1572 / 8086:154c
609       * Driver version: 1.5.23 (i40e)
610
611     * Intel(R) Ethernet Converged Network Adapter X710-DA2 (2x10G)
612
613       * Firmware version: 5.05
614       * Device id (pf/vf): 8086:1572 / 8086:154c
615       * Driver version: 1.5.23 (i40e)
616
617     * Intel(R) Ethernet Converged Network Adapter XL710-QDA1 (1x40G)
618
619       * Firmware version: 5.05
620       * Device id (pf/vf): 8086:1584 / 8086:154c
621       * Driver version: 1.5.23 (i40e)
622
623     * Intel(R) Ethernet Converged Network Adapter XL710-QDA2 (2X40G)
624
625       * Firmware version: 5.05
626       * Device id (pf/vf): 8086:1583 / 8086:154c
627       * Driver version: 1.5.23 (i40e)
628
629     * Intel(R) Corporation I350 Gigabit Network Connection
630
631       * Firmware version: 1.48, 0x800006e7
632       * Device id (pf/vf): 8086:1521 / 8086:1520
633       * Driver version: 5.2.13-k (igb)
634
635* Intel(R) platforms with Mellanox(R) NICs combinations
636
637   * Platform details:
638
639     * Intel(R) Xeon(R) CPU E5-2697A v4 @ 2.60GHz
640     * Intel(R) Xeon(R) CPU E5-2697 v3 @ 2.60GHz
641     * Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
642     * Intel(R) Xeon(R) CPU E5-2640 @ 2.50GHz
643
644   * OS:
645
646     * Red Hat Enterprise Linux Server release 7.3 (Maipo)
647     * Red Hat Enterprise Linux Server release 7.2 (Maipo)
648     * Ubuntu 16.10
649     * Ubuntu 16.04
650     * Ubuntu 14.04
651
652   * MLNX_OFED: 4.0-2.0.0.0
653
654   * NICs:
655
656     * Mellanox(R) ConnectX(R)-3 Pro 40G MCX354A-FCC_Ax (2x40G)
657
658       * Host interface: PCI Express 3.0 x8
659       * Device ID: 15b3:1007
660       * Firmware version: 2.40.5030
661
662     * Mellanox(R) ConnectX(R)-4 10G MCX4111A-XCAT (1x10G)
663
664       * Host interface: PCI Express 3.0 x8
665       * Device ID: 15b3:1013
666       * Firmware version: 12.18.2000
667
668     * Mellanox(R) ConnectX(R)-4 10G MCX4121A-XCAT (2x10G)
669
670       * Host interface: PCI Express 3.0 x8
671       * Device ID: 15b3:1013
672       * Firmware version: 12.18.2000
673
674     * Mellanox(R) ConnectX(R)-4 25G MCX4111A-ACAT (1x25G)
675
676       * Host interface: PCI Express 3.0 x8
677       * Device ID: 15b3:1013
678       * Firmware version: 12.18.2000
679
680     * Mellanox(R) ConnectX(R)-4 25G MCX4121A-ACAT (2x25G)
681
682       * Host interface: PCI Express 3.0 x8
683       * Device ID: 15b3:1013
684       * Firmware version: 12.18.2000
685
686     * Mellanox(R) ConnectX(R)-4 40G MCX4131A-BCAT/MCX413A-BCAT (1x40G)
687
688       * Host interface: PCI Express 3.0 x8
689       * Device ID: 15b3:1013
690       * Firmware version: 12.18.2000
691
692     * Mellanox(R) ConnectX(R)-4 40G MCX415A-BCAT (1x40G)
693
694       * Host interface: PCI Express 3.0 x16
695       * Device ID: 15b3:1013
696       * Firmware version: 12.18.2000
697
698     * Mellanox(R) ConnectX(R)-4 50G MCX4131A-GCAT/MCX413A-GCAT (1x50G)
699
700       * Host interface: PCI Express 3.0 x8
701       * Device ID: 15b3:1013
702       * Firmware version: 12.18.2000
703
704     * Mellanox(R) ConnectX(R)-4 50G MCX414A-BCAT (2x50G)
705
706       * Host interface: PCI Express 3.0 x8
707       * Device ID: 15b3:1013
708       * Firmware version: 12.18.2000
709
710     * Mellanox(R) ConnectX(R)-4 50G MCX415A-GCAT/MCX416A-BCAT/MCX416A-GCAT (2x50G)
711
712       * Host interface: PCI Express 3.0 x16
713       * Device ID: 15b3:1013
714       * Firmware version: 12.18.2000
715
716     * Mellanox(R) ConnectX(R)-4 50G MCX415A-CCAT (1x100G)
717
718       * Host interface: PCI Express 3.0 x16
719       * Device ID: 15b3:1013
720       * Firmware version: 12.18.2000
721
722     * Mellanox(R) ConnectX(R)-4 100G MCX416A-CCAT (2x100G)
723
724       * Host interface: PCI Express 3.0 x16
725       * Device ID: 15b3:1013
726       * Firmware version: 12.18.2000
727
728     * Mellanox(R) ConnectX(R)-4 Lx 10G MCX4121A-XCAT (2x10G)
729
730       * Host interface: PCI Express 3.0 x8
731       * Device ID: 15b3:1015
732       * Firmware version: 14.18.2000
733
734     * Mellanox(R) ConnectX(R)-4 Lx 25G MCX4121A-ACAT (2x25G)
735
736       * Host interface: PCI Express 3.0 x8
737       * Device ID: 15b3:1015
738       * Firmware version: 14.18.2000
739
740     * Mellanox(R) ConnectX(R)-5 100G MCX556A-ECAT (2x100G)
741
742       * Host interface: PCI Express 3.0 x16
743       * Device ID: 15b3:1017
744       * Firmware version: 16.19.1200
745
746     * Mellanox(R) ConnectX-5 Ex EN 100G MCX516A-CDAT (2x100G)
747
748       * Host interface: PCI Express 4.0 x16
749       * Device ID: 15b3:1019
750       * Firmware version: 16.19.1200
751
752* IBM(R) Power8(R) with Mellanox(R) NICs combinations
753
754   * Platform details:
755
756       * Processor: POWER8E (raw), AltiVec supported
757       * type-model: 8247-22L
758       * Firmware FW810.21 (SV810_108)
759
760   * OS: Ubuntu 16.04 LTS PPC le
761
762   * MLNX_OFED: 4.0-2.0.0.0
763
764   * NICs:
765
766     * Mellanox(R) ConnectX(R)-4 10G MCX4111A-XCAT (1x10G)
767
768       * Host interface: PCI Express 3.0 x8
769       * Device ID: 15b3:1013
770       * Firmware version: 12.18.2000
771
772     * Mellanox(R) ConnectX(R)-4 10G MCX4121A-XCAT (2x10G)
773
774       * Host interface: PCI Express 3.0 x8
775       * Device ID: 15b3:1013
776       * Firmware version: 12.18.2000
777
778     * Mellanox(R) ConnectX(R)-4 25G MCX4111A-ACAT (1x25G)
779
780       * Host interface: PCI Express 3.0 x8
781       * Device ID: 15b3:1013
782       * Firmware version: 12.18.2000
783
784     * Mellanox(R) ConnectX(R)-4 25G MCX4121A-ACAT (2x25G)
785
786       * Host interface: PCI Express 3.0 x8
787       * Device ID: 15b3:1013
788       * Firmware version: 12.18.2000
789
790     * Mellanox(R) ConnectX(R)-4 40G MCX4131A-BCAT/MCX413A-BCAT (1x40G)
791
792       * Host interface: PCI Express 3.0 x8
793       * Device ID: 15b3:1013
794       * Firmware version: 12.18.2000
795
796     * Mellanox(R) ConnectX(R)-4 40G MCX415A-BCAT (1x40G)
797
798       * Host interface: PCI Express 3.0 x16
799       * Device ID: 15b3:1013
800       * Firmware version: 12.18.2000
801
802     * Mellanox(R) ConnectX(R)-4 50G MCX4131A-GCAT/MCX413A-GCAT (1x50G)
803
804       * Host interface: PCI Express 3.0 x8
805       * Device ID: 15b3:1013
806       * Firmware version: 12.18.2000
807
808     * Mellanox(R) ConnectX(R)-4 50G MCX414A-BCAT (2x50G)
809
810       * Host interface: PCI Express 3.0 x8
811       * Device ID: 15b3:1013
812       * Firmware version: 12.18.2000
813
814     * Mellanox(R) ConnectX(R)-4 50G MCX415A-GCAT/MCX416A-BCAT/MCX416A-GCAT (2x50G)
815
816       * Host interface: PCI Express 3.0 x16
817       * Device ID: 15b3:1013
818       * Firmware version: 12.18.2000
819
820     * Mellanox(R) ConnectX(R)-4 50G MCX415A-CCAT (1x100G)
821
822       * Host interface: PCI Express 3.0 x16
823       * Device ID: 15b3:1013
824       * Firmware version: 12.18.2000
825
826     * Mellanox(R) ConnectX(R)-4 100G MCX416A-CCAT (2x100G)
827
828       * Host interface: PCI Express 3.0 x16
829       * Device ID: 15b3:1013
830       * Firmware version: 12.18.2000
831