New upstream version 18.02
[deb_dpdk.git] / doc / guides / rel_notes / release_17_05.rst
1 DPDK 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
20 New 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 * **Updated i40e driver to support MPLSoUDP/MPLSoGRE.**
137
138   Updated i40e PMD to support MPLSoUDP/MPLSoGRE with MPLSoUDP/MPLSoGRE
139   supporting profiles which can be programmed by dynamic device personalization
140   (DDP) process.
141
142 * **Added Cloud Filter for QinQ steering to i40e.**
143
144   * Added a QinQ cloud filter on the i40e PMD, for steering traffic to a VM
145     using both VLAN tags. Note, this feature is not supported in Vector Mode.
146
147 * **Updated mlx5 PMD.**
148
149   Updated the mlx5 driver, including the following changes:
150
151   * Added Generic flow API support for classification according to ether type.
152   * Extended Generic flow API support for classification of IPv6 flow
153     according to Vtc flow, Protocol and Hop limit.
154   * Added Generic flow API support for FLAG action.
155   * Added Generic flow API support for RSS action.
156   * Added support for TSO for non-tunneled and VXLAN packets.
157   * Added support for hardware Tx checksum offloads for VXLAN packets.
158   * Added support for user space Rx interrupt mode.
159   * Improved ConnectX-5 single core and maximum performance.
160
161 * **Updated mlx4 PMD.**
162
163   Updated the mlx4 driver, including the following changes:
164
165   * Added support for Generic flow API basic flow items and actions.
166   * Added support for device removal event.
167
168 * **Updated the sfc_efx driver.**
169
170   * Added Generic Flow API support for Ethernet, VLAN, IPv4, IPv6, UDP and TCP
171     pattern items with QUEUE action for ingress traffic.
172
173   * Added support for virtual functions (VFs).
174
175 * **Added LiquidIO network PMD.**
176
177   Added poll mode driver support for Cavium LiquidIO II server adapter VFs.
178
179 * **Added Atomic Rules Arkville PMD.**
180
181   Added a new poll mode driver for the Arkville family of
182   devices from Atomic Rules. The net/ark PMD supports line-rate
183   agnostic, multi-queue data movement on Arkville core FPGA instances.
184
185 * **Added support for NXP DPAA2 - FSLMC bus.**
186
187   Added the new bus "fslmc" 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 NXP DPAA2 Network PMD.**
192
193   Added the new "dpaa2" net driver for NXP DPAA2 devices. See the
194   "Network Interface Controller Drivers" document for more details of this new
195   driver.
196
197 * **Added support for the Wind River Systems AVP PMD.**
198
199   Added a new networking driver for the AVP device type. Theses devices are
200   specific to the Wind River Systems virtualization platforms.
201
202 * **Added vmxnet3 version 3 support.**
203
204   Added support for vmxnet3 version 3 which includes several
205   performance enhancements such as configurable Tx data ring, Receive
206   Data Ring, and the ability to register memory regions.
207
208 * **Updated the TAP driver.**
209
210   Updated the TAP PMD to:
211
212   * Support MTU modification.
213   * Support packet type for Rx.
214   * Support segmented packets on Rx and Tx.
215   * Speed up Rx on TAP when no packets are available.
216   * Support capturing traffic from another netdevice.
217   * Dynamically change link status when the underlying interface state changes.
218   * Added Generic Flow API support for Ethernet, VLAN, IPv4, IPv6, UDP and
219     TCP pattern items with DROP, QUEUE and PASSTHRU actions for ingress
220     traffic.
221
222 * **Added MTU feature support to Virtio and Vhost.**
223
224   Implemented new Virtio MTU feature in Vhost and Virtio:
225
226   * Add ``rte_vhost_mtu_get()`` API to Vhost library.
227   * Enable Vhost PMD's MTU get feature.
228   * Get max MTU value from host in Virtio PMD
229
230 * **Added interrupt mode support for virtio-user.**
231
232   Implemented Rxq interrupt mode and LSC support for virtio-user as a virtual
233   device. Supported cases:
234
235   * Rxq interrupt for virtio-user + vhost-user as the backend.
236   * Rxq interrupt for virtio-user + vhost-kernel as the backend.
237   * LSC interrupt for virtio-user + vhost-user as the backend.
238
239 * **Added event driven programming model library (rte_eventdev).**
240
241   This API introduces an event driven programming model.
242
243   In a polling model, lcores poll ethdev ports and associated
244   Rx queues directly to look for a packet. By contrast in an event
245   driven model, lcores call the scheduler that selects packets for
246   them based on programmer-specified criteria. The Eventdev library
247   adds support for an event driven programming model, which offers
248   applications automatic multicore scaling, dynamic load balancing,
249   pipelining, packet ingress order maintenance and
250   synchronization services to simplify application packet processing.
251
252   By introducing an event driven programming model, DPDK can support
253   both polling and event driven programming models for packet processing,
254   and applications are free to choose whatever model
255   (or combination of the two) best suits their needs.
256
257 * **Added Software Eventdev PMD.**
258
259   Added support for the software eventdev PMD. The software eventdev is a
260   software based scheduler device that implements the eventdev API. This
261   PMD allows an application to configure a pipeline using the eventdev
262   library, and run the scheduling workload on a CPU core.
263
264 * **Added Cavium OCTEONTX Eventdev PMD.**
265
266   Added the new octeontx ssovf eventdev driver for OCTEONTX devices. See the
267   "Event Device Drivers" document for more details on this new driver.
268
269 * **Added information metrics library.**
270
271   Added a library that allows information metrics to be added and updated
272   by producers, typically other libraries, for later retrieval by
273   consumers such as applications. It is intended to provide a
274   reporting mechanism that is independent of other libraries such
275   as ethdev.
276
277 * **Added bit-rate calculation library.**
278
279   Added a library that can be used to calculate device bit-rates. Calculated
280   bitrates are reported using the metrics library.
281
282 * **Added latency stats library.**
283
284   Added a library that measures packet latency. The collected statistics are
285   jitter and latency. For latency the minimum, average, and maximum is
286   measured.
287
288 * **Added NXP DPAA2 SEC crypto PMD.**
289
290   A new "dpaa2_sec" hardware based crypto PMD for NXP DPAA2 devices has been
291   added. See the "Crypto Device Drivers" document for more details on this
292   driver.
293
294 * **Updated the Cryptodev Scheduler PMD.**
295
296   * Added a packet-size based distribution mode, which distributes the enqueued
297     crypto operations among two slaves, based on their data lengths.
298   * Added fail-over scheduling mode, which enqueues crypto operations to a
299     primary slave first. Then, any operation that cannot be enqueued is
300     enqueued to a secondary slave.
301   * Added mode specific option support, so each scheduling mode can
302     now be configured individually by the new API.
303
304 * **Updated the QAT PMD.**
305
306   The QAT PMD has been updated with additional support for:
307
308   * AES DOCSIS BPI algorithm.
309   * DES DOCSIS BPI algorithm.
310   * ZUC EEA3/EIA3 algorithms.
311
312 * **Updated the AESNI MB PMD.**
313
314   The AESNI MB PMD has been updated with additional support for:
315
316   * AES DOCSIS BPI algorithm.
317
318 * **Updated the OpenSSL PMD.**
319
320   The OpenSSL PMD has been updated with additional support for:
321
322   * DES DOCSIS BPI algorithm.
323
324
325 Resolved Issues
326 ---------------
327
328 .. This section should contain bug fixes added to the relevant
329    sections. Sample format:
330
331    * **code/section Fixed issue in the past tense with a full stop.**
332
333      Add a short 1-2 sentence description of the resolved issue in the past
334      tense.
335
336      The title should contain the code/lib section like a commit message.
337
338      Add the entries in alphabetic order in the relevant sections below.
339
340    This section is a comment. do not overwrite or remove it.
341    Also, make sure to start the actual text at the margin.
342    =========================================================
343
344
345 * **l2fwd-keepalive: Fixed unclean shutdowns.**
346
347   Added clean shutdown to l2fwd-keepalive so that it can free up
348   stale resources used for inter-process communication.
349
350
351 Known Issues
352 ------------
353
354 .. This section should contain new known issues in this release. Sample format:
355
356    * **Add title in present tense with full stop.**
357
358      Add a short 1-2 sentence description of the known issue in the present
359      tense. Add information on any known workarounds.
360
361    This section is a comment. do not overwrite or remove it.
362    Also, make sure to start the actual text at the margin.
363    =========================================================
364
365 * **LSC interrupt doesn't work for virtio-user + vhost-kernel.**
366
367   LSC interrupt cannot be detected when setting the backend, tap device,
368   up/down as we fail to find a way to monitor such event.
369
370
371 API Changes
372 -----------
373
374 .. This section should contain API changes. Sample format:
375
376    * Add a short 1-2 sentence description of the API change. Use fixed width
377      quotes for ``rte_function_names`` or ``rte_struct_names``. Use the past
378      tense.
379
380    This section is a comment. do not overwrite or remove it.
381    Also, make sure to start the actual text at the margin.
382    =========================================================
383
384 * The LPM ``next_hop`` field is extended from 8 bits to 21 bits for IPv6
385   while keeping ABI compatibility.
386
387 * **Reworked rte_ring library.**
388
389   The rte_ring library has been reworked and updated. The following changes
390   have been made to it:
391
392   * Removed the build-time setting ``CONFIG_RTE_RING_SPLIT_PROD_CONS``.
393   * Removed the build-time setting ``CONFIG_RTE_LIBRTE_RING_DEBUG``.
394   * Removed the build-time setting ``CONFIG_RTE_RING_PAUSE_REP_COUNT``.
395   * Removed the function ``rte_ring_set_water_mark`` as part of a general
396     removal of watermarks support in the library.
397   * Added an extra parameter to the burst/bulk enqueue functions to
398     return the number of free spaces in the ring after enqueue. This can
399     be used by an application to implement its own watermark functionality.
400   * Added an extra parameter to the burst/bulk dequeue functions to return
401     the number elements remaining in the ring after dequeue.
402   * Changed the return value of the enqueue and dequeue bulk functions to
403     match that of the burst equivalents. In all cases, ring functions which
404     operate on multiple packets now return the number of elements enqueued
405     or dequeued, as appropriate. The updated functions are:
406
407     - ``rte_ring_mp_enqueue_bulk``
408     - ``rte_ring_sp_enqueue_bulk``
409     - ``rte_ring_enqueue_bulk``
410     - ``rte_ring_mc_dequeue_bulk``
411     - ``rte_ring_sc_dequeue_bulk``
412     - ``rte_ring_dequeue_bulk``
413
414     NOTE: the above functions all have different parameters as well as
415     different return values, due to the other listed changes above. This
416     means that all instances of the functions in existing code will be
417     flagged by the compiler. The return value usage should be checked
418     while fixing the compiler error due to the extra parameter.
419
420 * **Reworked rte_vhost library.**
421
422   The rte_vhost library has been reworked to make it generic enough so that
423   the user could build other vhost-user drivers on top of it. To achieve this
424   the following changes have been made:
425
426   * The following vhost-pmd APIs are removed:
427
428     * ``rte_eth_vhost_feature_disable``
429     * ``rte_eth_vhost_feature_enable``
430     * ``rte_eth_vhost_feature_get``
431
432   * The vhost API ``rte_vhost_driver_callback_register(ops)`` is reworked to
433     be per vhost-user socket file. Thus, it takes one more argument:
434     ``rte_vhost_driver_callback_register(path, ops)``.
435
436   * The vhost API ``rte_vhost_get_queue_num`` is deprecated, instead,
437     ``rte_vhost_get_vring_num`` should be used.
438
439   * The following macros are removed in ``rte_virtio_net.h``
440
441     * ``VIRTIO_RXQ``
442     * ``VIRTIO_TXQ``
443     * ``VIRTIO_QNUM``
444
445   * The following net specific header files are removed in ``rte_virtio_net.h``
446
447     * ``linux/virtio_net.h``
448     * ``sys/socket.h``
449     * ``linux/if.h``
450     * ``rte_ether.h``
451
452   * The vhost struct ``virtio_net_device_ops`` is renamed to
453     ``vhost_device_ops``
454
455   * The vhost API ``rte_vhost_driver_session_start`` is removed. Instead,
456     ``rte_vhost_driver_start`` should be used, and there is no need to create
457     a thread to call it.
458
459   * The vhost public header file ``rte_virtio_net.h`` is renamed to
460     ``rte_vhost.h``
461
462
463 ABI Changes
464 -----------
465
466 .. This section should contain ABI changes. Sample format:
467
468    * Add a short 1-2 sentence description of the ABI change that was announced
469      in the previous releases and made in this release. Use fixed width quotes
470      for ``rte_function_names`` or ``rte_struct_names``. Use the past tense.
471
472    This section is a comment. do not overwrite or remove it.
473    Also, make sure to start the actual text at the margin.
474    =========================================================
475
476 * **Reorganized the mbuf structure.**
477
478   The order and size of the fields in the ``mbuf`` structure changed,
479   as described in the `New Features`_ section.
480
481 * The ``rte_cryptodev_info.sym`` structure has a new field ``max_nb_sessions_per_qp``
482   to support drivers which may support a limited number of sessions per queue_pair.
483
484
485 Removed Items
486 -------------
487
488 .. This section should contain removed items in this release. Sample format:
489
490    * Add a short 1-2 sentence description of the removed item in the past
491      tense.
492
493    This section is a comment. do not overwrite or remove it.
494    Also, make sure to start the actual text at the margin.
495    =========================================================
496
497 * KNI vhost support has been removed.
498
499 * The dpdk_qat sample application has been removed.
500
501 Shared Library Versions
502 -----------------------
503
504 .. Update any library version updated in this release and prepend with a ``+``
505    sign, like this:
506
507      librte_acl.so.2
508    + librte_cfgfile.so.2
509      librte_cmdline.so.2
510
511    This section is a comment. do not overwrite or remove it.
512    =========================================================
513
514
515 The libraries prepended with a plus sign were incremented in this version.
516
517 .. code-block:: diff
518
519      librte_acl.so.2
520    + librte_bitratestats.so.1
521      librte_cfgfile.so.2
522      librte_cmdline.so.2
523      librte_cryptodev.so.2
524      librte_distributor.so.1
525    + librte_eal.so.4
526      librte_ethdev.so.6
527    + librte_eventdev.so.1
528      librte_hash.so.2
529      librte_ip_frag.so.1
530      librte_jobstats.so.1
531      librte_kni.so.2
532      librte_kvargs.so.1
533    + librte_latencystats.so.1
534      librte_lpm.so.2
535    + librte_mbuf.so.3
536      librte_mempool.so.2
537      librte_meter.so.1
538    + librte_metrics.so.1
539      librte_net.so.1
540      librte_pdump.so.1
541      librte_pipeline.so.3
542      librte_pmd_bond.so.1
543      librte_pmd_ring.so.2
544      librte_port.so.3
545      librte_power.so.1
546      librte_reorder.so.1
547      librte_ring.so.1
548      librte_sched.so.1
549      librte_table.so.2
550      librte_timer.so.1
551      librte_vhost.so.3
552
553
554 Tested Platforms
555 ----------------
556
557 .. This section should contain a list of platforms that were tested with this
558    release.
559
560    The format is:
561
562    * <vendor> platform with <vendor> <type of devices> combinations
563
564      * List of CPU
565      * List of OS
566      * List of devices
567      * Other relevant details...
568
569    This section is a comment. do not overwrite or remove it.
570    Also, make sure to start the actual text at the margin.
571    =========================================================
572
573 * Intel(R) platforms with Intel(R) NICs combinations
574
575    * CPU
576
577      * Intel(R) Atom(TM) CPU C2758 @ 2.40GHz
578      * Intel(R) Xeon(R) CPU D-1540 @ 2.00GHz
579      * Intel(R) Xeon(R) CPU E5-4667 v3 @ 2.00GHz
580      * Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
581      * Intel(R) Xeon(R) CPU E5-2699 v3 @ 2.30GHz
582      * Intel(R) Xeon(R) CPU E5-2695 v4 @ 2.10GHz
583      * Intel(R) Xeon(R) CPU E5-2658 v2 @ 2.40GHz
584      * Intel(R) Xeon(R) CPU E5-2658 v3 @ 2.20GHz
585
586    * OS:
587
588      * CentOS 7.2
589      * Fedora 25
590      * FreeBSD 11
591      * Red Hat Enterprise Linux Server release 7.3
592      * SUSE Enterprise Linux 12
593      * Wind River Linux 8
594      * Ubuntu 16.04
595      * Ubuntu 16.10
596
597    * NICs:
598
599      * Intel(R) 82599ES 10 Gigabit Ethernet Controller
600
601        * Firmware version: 0x61bf0001
602        * Device id (pf/vf): 8086:10fb / 8086:10ed
603        * Driver version: 4.0.1-k (ixgbe)
604
605      * Intel(R) Corporation Ethernet Connection X552/X557-AT 10GBASE-T
606
607        * Firmware version: 0x800001cf
608        * Device id (pf/vf): 8086:15ad / 8086:15a8
609        * Driver version: 4.2.5 (ixgbe)
610
611      * Intel(R) Ethernet Converged Network Adapter X710-DA4 (4x10G)
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 X710-DA2 (2x10G)
618
619        * Firmware version: 5.05
620        * Device id (pf/vf): 8086:1572 / 8086:154c
621        * Driver version: 1.5.23 (i40e)
622
623      * Intel(R) Ethernet Converged Network Adapter XL710-QDA1 (1x40G)
624
625        * Firmware version: 5.05
626        * Device id (pf/vf): 8086:1584 / 8086:154c
627        * Driver version: 1.5.23 (i40e)
628
629      * Intel(R) Ethernet Converged Network Adapter XL710-QDA2 (2X40G)
630
631        * Firmware version: 5.05
632        * Device id (pf/vf): 8086:1583 / 8086:154c
633        * Driver version: 1.5.23 (i40e)
634
635      * Intel(R) Corporation I350 Gigabit Network Connection
636
637        * Firmware version: 1.48, 0x800006e7
638        * Device id (pf/vf): 8086:1521 / 8086:1520
639        * Driver version: 5.2.13-k (igb)
640
641 * Intel(R) platforms with Mellanox(R) NICs combinations
642
643    * Platform details:
644
645      * Intel(R) Xeon(R) CPU E5-2697A v4 @ 2.60GHz
646      * Intel(R) Xeon(R) CPU E5-2697 v3 @ 2.60GHz
647      * Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
648      * Intel(R) Xeon(R) CPU E5-2640 @ 2.50GHz
649
650    * OS:
651
652      * Red Hat Enterprise Linux Server release 7.3 (Maipo)
653      * Red Hat Enterprise Linux Server release 7.2 (Maipo)
654      * Ubuntu 16.10
655      * Ubuntu 16.04
656      * Ubuntu 14.04
657
658    * MLNX_OFED: 4.0-2.0.0.0
659
660    * NICs:
661
662      * Mellanox(R) ConnectX(R)-3 Pro 40G MCX354A-FCC_Ax (2x40G)
663
664        * Host interface: PCI Express 3.0 x8
665        * Device ID: 15b3:1007
666        * Firmware version: 2.40.5030
667
668      * Mellanox(R) ConnectX(R)-4 10G MCX4111A-XCAT (1x10G)
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 10G MCX4121A-XCAT (2x10G)
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 MCX4111A-ACAT (1x25G)
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 25G MCX4121A-ACAT (2x25G)
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 MCX4131A-BCAT/MCX413A-BCAT (1x40G)
693
694        * Host interface: PCI Express 3.0 x8
695        * Device ID: 15b3:1013
696        * Firmware version: 12.18.2000
697
698      * Mellanox(R) ConnectX(R)-4 40G MCX415A-BCAT (1x40G)
699
700        * Host interface: PCI Express 3.0 x16
701        * Device ID: 15b3:1013
702        * Firmware version: 12.18.2000
703
704      * Mellanox(R) ConnectX(R)-4 50G MCX4131A-GCAT/MCX413A-GCAT (1x50G)
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 MCX414A-BCAT (2x50G)
711
712        * Host interface: PCI Express 3.0 x8
713        * Device ID: 15b3:1013
714        * Firmware version: 12.18.2000
715
716      * Mellanox(R) ConnectX(R)-4 50G MCX415A-GCAT/MCX416A-BCAT/MCX416A-GCAT (2x50G)
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 50G MCX415A-CCAT (1x100G)
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 100G MCX416A-CCAT (2x100G)
729
730        * Host interface: PCI Express 3.0 x16
731        * Device ID: 15b3:1013
732        * Firmware version: 12.18.2000
733
734      * Mellanox(R) ConnectX(R)-4 Lx 10G MCX4121A-XCAT (2x10G)
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)-4 Lx 25G MCX4121A-ACAT (2x25G)
741
742        * Host interface: PCI Express 3.0 x8
743        * Device ID: 15b3:1015
744        * Firmware version: 14.18.2000
745
746      * Mellanox(R) ConnectX(R)-5 100G MCX556A-ECAT (2x100G)
747
748        * Host interface: PCI Express 3.0 x16
749        * Device ID: 15b3:1017
750        * Firmware version: 16.19.1200
751
752      * Mellanox(R) ConnectX-5 Ex EN 100G MCX516A-CDAT (2x100G)
753
754        * Host interface: PCI Express 4.0 x16
755        * Device ID: 15b3:1019
756        * Firmware version: 16.19.1200
757
758 * IBM(R) Power8(R) with Mellanox(R) NICs combinations
759
760    * Platform details:
761
762        * Processor: POWER8E (raw), AltiVec supported
763        * type-model: 8247-22L
764        * Firmware FW810.21 (SV810_108)
765
766    * OS: Ubuntu 16.04 LTS PPC le
767
768    * MLNX_OFED: 4.0-2.0.0.0
769
770    * NICs:
771
772      * Mellanox(R) ConnectX(R)-4 10G MCX4111A-XCAT (1x10G)
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 10G MCX4121A-XCAT (2x10G)
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 MCX4111A-ACAT (1x25G)
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 25G MCX4121A-ACAT (2x25G)
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 MCX4131A-BCAT/MCX413A-BCAT (1x40G)
797
798        * Host interface: PCI Express 3.0 x8
799        * Device ID: 15b3:1013
800        * Firmware version: 12.18.2000
801
802      * Mellanox(R) ConnectX(R)-4 40G MCX415A-BCAT (1x40G)
803
804        * Host interface: PCI Express 3.0 x16
805        * Device ID: 15b3:1013
806        * Firmware version: 12.18.2000
807
808      * Mellanox(R) ConnectX(R)-4 50G MCX4131A-GCAT/MCX413A-GCAT (1x50G)
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 MCX414A-BCAT (2x50G)
815
816        * Host interface: PCI Express 3.0 x8
817        * Device ID: 15b3:1013
818        * Firmware version: 12.18.2000
819
820      * Mellanox(R) ConnectX(R)-4 50G MCX415A-GCAT/MCX416A-BCAT/MCX416A-GCAT (2x50G)
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 50G MCX415A-CCAT (1x100G)
827
828        * Host interface: PCI Express 3.0 x16
829        * Device ID: 15b3:1013
830        * Firmware version: 12.18.2000
831
832      * Mellanox(R) ConnectX(R)-4 100G MCX416A-CCAT (2x100G)
833
834        * Host interface: PCI Express 3.0 x16
835        * Device ID: 15b3:1013
836        * Firmware version: 12.18.2000