87b3f92798301db0ebba12d8df5311cb06504cf1
[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 * **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
319 Resolved 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
345 Known 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
365 API 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
457 ABI 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
479 Removed 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
495 Shared 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
509 The 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
548 Tested 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