doc: show how to include code in guides
[dpdk.git] / doc / guides / rel_notes / release_17_02.rst
1 ..  SPDX-License-Identifier: BSD-3-Clause
2     Copyright 2017 The DPDK contributors
3
4 DPDK Release 17.02
5 ==================
6
7 .. **Read this first.**
8
9    The text below explains how to update the release notes.
10
11    Use proper spelling, capitalization and punctuation in all sections.
12
13    Variable and config names should be quoted as fixed width text: ``LIKE_THIS``.
14
15    Build the docs and view the output file to ensure the changes are correct::
16
17       make doc-guides-html
18
19       firefox build/doc/html/guides/rel_notes/release_17_02.html
20
21
22 New Features
23 ------------
24
25 .. This section should contain new features added in this release. Sample format:
26
27    * **Add a title in the past tense with a full stop.**
28
29      Add a short 1-2 sentence description in the past tense. The description
30      should be enough to allow someone scanning the release notes to understand
31      the new feature.
32
33      If the feature adds a lot of sub-features you can use a bullet list like 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 * **Added support for representing buses in EAL**
45
46   The ``rte_bus`` structure was introduced into the EAL. This allows for
47   devices to be represented by buses they are connected to. A new bus can be
48   added to DPDK by extending the ``rte_bus`` structure and implementing the
49   scan and probe functions. Once a new bus is registered using the provided
50   APIs, new devices can be detected and initialized using bus scan and probe
51   callbacks.
52
53   With this change, devices other than PCI or VDEV type can be represented
54   in the DPDK framework.
55
56 * **Added generic EAL API for I/O device memory read/write operations.**
57
58   This API introduces 8 bit, 16 bit, 32 bit and 64 bit I/O device
59   memory read/write operations along with "relaxed" versions.
60
61   Weakly-ordered architectures like ARM need an additional I/O barrier for
62   device memory read/write access over PCI bus. By introducing the EAL
63   abstraction for I/O device memory read/write access, the drivers can access
64   I/O device memory in an architecture-agnostic manner. The relaxed version
65   does not have an additional I/O memory barrier, which is useful in accessing
66   the device registers of integrated controllers which is implicitly strongly
67   ordered with respect to memory access.
68
69 * **Added generic flow API (rte_flow).**
70
71   This API provides a generic means to configure hardware to match specific
72   ingress or egress traffic, alter its behavior and query related counters
73   according to any number of user-defined rules.
74
75   In order to expose a single interface with an unambiguous behavior that is
76   common to all poll-mode drivers (PMDs) the ``rte_flow`` API is slightly
77   higher-level than the legacy filtering framework, which it encompasses and
78   supersedes (including all functions and filter types) .
79
80   See the :doc:`../prog_guide/rte_flow` documentation for more information.
81
82 * **Added firmware version get API.**
83
84   Added a new function ``rte_eth_dev_fw_version_get()`` to fetch the firmware
85   version for a given device.
86
87 * **Added APIs for MACsec offload support to the ixgbe PMD.**
88
89   Six new APIs have been added to the ixgbe PMD for MACsec offload support.
90   The declarations for the APIs can be found in ``rte_pmd_ixgbe.h``.
91
92 * **Added I219 NICs support.**
93
94   Added support for I219 Intel 1GbE NICs.
95
96 * **Added VF Daemon (VFD) for i40e. - EXPERIMENTAL**
97
98   This is an EXPERIMENTAL feature to enhance the capability of the DPDK PF as
99   many VF management features are not currently supported by the kernel PF
100   driver. Some new private APIs are implemented directly in the PMD without an
101   abstraction layer. They can be used directly by some users who have the
102   need.
103
104   The new APIs to control VFs directly from PF include:
105
106   * Set VF MAC anti-spoofing.
107   * Set VF VLAN anti-spoofing.
108   * Set TX loopback.
109   * Set VF unicast promiscuous mode.
110   * Set VF multicast promiscuous mode.
111   * Set VF MTU.
112   * Get/reset VF stats.
113   * Set VF MAC address.
114   * Set VF VLAN stripping.
115   * Vf VLAN insertion.
116   * Set VF broadcast mode.
117   * Set VF VLAN tag.
118   * Set VF VLAN filter.
119
120   VFD also includes VF to PF mailbox message management from an application.
121   When the PF receives mailbox messages from the VF the PF should call the
122   callback provided by the application to know if they're permitted to be
123   processed.
124
125   As an EXPERIMENTAL feature, please be aware it can be changed or even
126   removed without prior notice.
127
128 * **Updated the i40e base driver.**
129
130   Updated the i40e base driver, including the following changes:
131
132   * Replace existing legacy ``memcpy()`` calls with ``i40e_memcpy()`` calls.
133   * Use ``BIT()`` macro instead of bit fields.
134   * Add clear all WoL filters implementation.
135   * Add broadcast promiscuous control per VLAN.
136   * Remove unused ``X722_SUPPORT`` and ``I40E_NDIS_SUPPORT`` macros.
137
138 * **Updated the enic driver.**
139
140   * Set new Rx checksum flags in mbufs to indicate unknown, good or bad checksums.
141   * Fix set/remove of MAC addresses. Allow up to 64 addresses per device.
142   * Enable TSO on outer headers.
143
144 * **Added Solarflare libefx-based network PMD.**
145
146   Added a new network PMD which supports Solarflare SFN7xxx and SFN8xxx family
147   of 10/40 Gbps adapters.
148
149 * **Updated the mlx4 driver.**
150
151   * Addressed a few bugs.
152
153 * **Added support for Mellanox ConnectX-5 adapters (mlx5).**
154
155   Added support for Mellanox ConnectX-5 family of 10/25/40/50/100 Gbps
156   adapters to the existing mlx5 PMD.
157
158 * **Updated the mlx5 driver.**
159
160   * Improve Tx performance by using vector logic.
161   * Improve RSS balancing when number of queues is not a power of two.
162   * Generic flow API support for Ethernet, IPv4, IPv4, UDP, TCP, VLAN and
163     VXLAN pattern items with DROP and QUEUE actions.
164   * Support for extended statistics.
165   * Addressed several data path bugs.
166   * As of MLNX_OFED 4.0-1.0.1.0, the Toeplitz RSS hash function is not
167     symmetric anymore for consistency with other PMDs.
168
169 * **virtio-user with vhost-kernel as another exceptional path.**
170
171   Previously, we upstreamed a virtual device, virtio-user with vhost-user as
172   the backend as a way of enabling IPC (Inter-Process Communication) and user
173   space container networking.
174
175   Virtio-user with vhost-kernel as the backend is a solution for the exception
176   path, such as KNI, which exchanges packets with the kernel networking stack.
177   This solution is very promising in:
178
179   * Maintenance: vhost and vhost-net (kernel) is an upstreamed and extensively
180     used kernel module.
181   * Features: vhost-net is designed to be a networking solution, which has
182     lots of networking related features, like multi-queue, TSO, multi-seg
183     mbuf, etc.
184   * Performance: similar to KNI, this solution would use one or more
185     kthreads to send/receive packets from user space DPDK applications,
186     which has little impact on user space polling thread (except that
187     it might enter into kernel space to wake up those kthreads if
188     necessary).
189
190 * **Added virtio Rx interrupt support.**
191
192   Added a feature to enable Rx interrupt mode for virtio pci net devices as
193   bound to VFIO (noiommu mode) and driven by virtio PMD.
194
195   With this feature, the virtio PMD can switch between polling mode and
196   interrupt mode, to achieve best performance, and at the same time save
197   power. It can work on both legacy and modern virtio devices. In this mode,
198   each ``rxq`` is mapped with an excluded MSIx interrupt.
199
200   See the :ref:`Virtio Interrupt Mode <virtio_interrupt_mode>` documentation
201   for more information.
202
203 * **Added ARMv8 crypto PMD.**
204
205   A new crypto PMD has been added, which provides combined mode cryptographic
206   operations optimized for ARMv8 processors. The driver can be used to enhance
207   performance in processing chained operations such as cipher + HMAC.
208
209 * **Updated the QAT PMD.**
210
211   The QAT PMD has been updated with additional support for:
212
213   * DES algorithm.
214   * Scatter-gather list (SGL) support.
215
216 * **Updated the AESNI MB PMD.**
217
218   * The Intel(R) Multi Buffer Crypto for IPsec library used in
219     AESNI MB PMD has been moved to a new repository, in GitHub.
220   * Support has been added for single operations (cipher only and
221     authentication only).
222
223 * **Updated the AES-NI GCM PMD.**
224
225   The AES-NI GCM PMD was migrated from the Multi Buffer library to the ISA-L
226   library. The migration entailed adding additional support for:
227
228   * GMAC algorithm.
229   * 256-bit cipher key.
230   * Session-less mode.
231   * Out-of place processing
232   * Scatter-gather support for chained mbufs (only out-of place and destination
233     mbuf must be contiguous)
234
235 * **Added crypto performance test application.**
236
237   Added a new performance test application for measuring performance
238   parameters of PMDs available in the crypto tree.
239
240 * **Added Elastic Flow Distributor library (rte_efd).**
241
242   Added a new library which uses perfect hashing to determine a target/value
243   for a given incoming flow key.
244
245   The library does not store the key itself for lookup operations, and
246   therefore, lookup performance is not dependent on the key size. Also, the
247   target/value can be any arbitrary value (8 bits by default). Finally, the
248   storage requirement is much smaller than a hash-based flow table and
249   therefore, it can better fit in CPU cache and scale to millions of flow
250   keys.
251
252   See the :ref:`Elastic Flow Distributor Library <Efd_Library>` documentation in
253   the Programmers Guide document, for more information.
254
255
256 Resolved Issues
257 ---------------
258
259 .. This section should contain bug fixes added to the relevant sections. Sample format:
260
261    * **code/section Fixed issue in the past tense with a full stop.**
262
263      Add a short 1-2 sentence description of the resolved issue in the past tense.
264      The title should contain the code/lib section like a commit message.
265      Add the entries in alphabetic order in the relevant sections below.
266
267    This section is a comment. do not overwrite or remove it.
268    Also, make sure to start the actual text at the margin.
269    =========================================================
270
271 Drivers
272 ~~~~~~~
273
274 * **net/virtio: Fixed multiple process support.**
275
276   Fixed a few regressions introduced in recent releases that break the virtio
277   multiple process support.
278
279
280 Examples
281 ~~~~~~~~
282
283 * **examples/ethtool: Fixed crash with non-PCI devices.**
284
285   Fixed issue where querying a non-PCI device was dereferencing non-existent
286   PCI data resulting in a segmentation fault.
287
288
289
290 API Changes
291 -----------
292
293 .. This section should contain API changes. Sample format:
294
295    * Add a short 1-2 sentence description of the API change. Use fixed width
296      quotes for ``rte_function_names`` or ``rte_struct_names``. Use the past tense.
297
298    This section is a comment. do not overwrite or remove it.
299    Also, make sure to start the actual text at the margin.
300    =========================================================
301
302 * **Moved five APIs for VF management from the ethdev to the ixgbe PMD.**
303
304   The following five APIs for VF management from the PF have been removed from
305   the ethdev, renamed, and added to the ixgbe PMD::
306
307      rte_eth_dev_set_vf_rate_limit()
308      rte_eth_dev_set_vf_rx()
309      rte_eth_dev_set_vf_rxmode()
310      rte_eth_dev_set_vf_tx()
311      rte_eth_dev_set_vf_vlan_filter()
312
313   The API's have been renamed to the following::
314
315      rte_pmd_ixgbe_set_vf_rate_limit()
316      rte_pmd_ixgbe_set_vf_rx()
317      rte_pmd_ixgbe_set_vf_rxmode()
318      rte_pmd_ixgbe_set_vf_tx()
319      rte_pmd_ixgbe_set_vf_vlan_filter()
320
321   The declarations for the API’s can be found in ``rte_pmd_ixgbe.h``.
322
323
324 ABI Changes
325 -----------
326
327 .. This section should contain ABI changes. Sample format:
328
329    * Add a short 1-2 sentence description of the ABI change that was announced in
330      the previous releases and made in this release. Use fixed width quotes for
331      ``rte_function_names`` or ``rte_struct_names``. Use the past tense.
332
333    This section is a comment. do not overwrite or remove it.
334    Also, make sure to start the actual text at the margin.
335    =========================================================
336
337
338
339 Shared Library Versions
340 -----------------------
341
342 .. Update any library version updated in this release and prepend with a ``+``
343    sign, like this:
344
345      librte_acl.so.2
346    + librte_cfgfile.so.2
347      librte_cmdline.so.2
348
349    This section is a comment. do not overwrite or remove it.
350    =========================================================
351
352
353 The libraries prepended with a plus sign were incremented in this version.
354
355 .. code-block:: diff
356
357      librte_acl.so.2
358      librte_cfgfile.so.2
359      librte_cmdline.so.2
360      librte_cryptodev.so.2
361      librte_distributor.so.1
362      librte_eal.so.3
363    + librte_ethdev.so.6
364      librte_hash.so.2
365      librte_ip_frag.so.1
366      librte_jobstats.so.1
367      librte_kni.so.2
368      librte_kvargs.so.1
369      librte_lpm.so.2
370      librte_mbuf.so.2
371      librte_mempool.so.2
372      librte_meter.so.1
373      librte_net.so.1
374      librte_pdump.so.1
375      librte_pipeline.so.3
376      librte_pmd_bond.so.1
377      librte_pmd_ring.so.2
378      librte_port.so.3
379      librte_power.so.1
380      librte_reorder.so.1
381      librte_ring.so.1
382      librte_sched.so.1
383      librte_table.so.2
384      librte_timer.so.1
385      librte_vhost.so.3
386
387
388 Tested Platforms
389 ----------------
390
391 .. This section should contain a list of platforms that were tested with this release.
392
393    The format is:
394
395    * <vendor> platform with <vendor> <type of devices> combinations
396
397      * List of CPU
398      * List of OS
399      * List of devices
400      * Other relevant details...
401
402    This section is a comment. do not overwrite or remove it.
403    Also, make sure to start the actual text at the margin.
404    =========================================================
405
406 This release has been tested with the below list of CPU/device/firmware/OS.
407 Each section describes a different set of combinations.
408
409 * Intel(R) platforms with Mellanox(R) NICs combinations
410
411    * Platform details
412
413      * Intel(R) Xeon(R) CPU E5-2697 v2 @ 2.70GHz
414      * Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
415      * Intel(R) Xeon(R) CPU E5-2697 v3 @ 2.60GHz
416
417    * OS:
418
419      * CentOS 7.0
420      * Fedora 23
421      * Fedora 24
422      * FreeBSD 10.3
423      * Red Hat Enterprise Linux 7.2
424      * SUSE Enterprise Linux 12
425      * Ubuntu 14.04 LTS
426      * Ubuntu 15.10
427      * Ubuntu 16.04 LTS
428      * Wind River Linux 8
429
430    * MLNX_OFED: 4.0-1.0.1.0
431
432    * NICs:
433
434      * Mellanox(R) ConnectX(R)-3 Pro 40G MCX354A-FCC_Ax (2x40G)
435
436        * Host interface: PCI Express 3.0 x8
437        * Device ID: 15b3:1007
438        * Firmware version: 2.40.5030
439
440      * Mellanox(R) ConnectX(R)-4 10G MCX4111A-XCAT (1x10G)
441
442        * Host interface: PCI Express 3.0 x8
443        * Device ID: 15b3:1013
444        * Firmware version: 12.18.1000
445
446      * Mellanox(R) ConnectX(R)-4 10G MCX4121A-XCAT (2x10G)
447
448        * Host interface: PCI Express 3.0 x8
449        * Device ID: 15b3:1013
450        * Firmware version: 12.18.1000
451
452      * Mellanox(R) ConnectX(R)-4 25G MCX4111A-ACAT (1x25G)
453
454        * Host interface: PCI Express 3.0 x8
455        * Device ID: 15b3:1013
456        * Firmware version: 12.18.1000
457
458      * Mellanox(R) ConnectX(R)-4 25G MCX4121A-ACAT (2x25G)
459
460        * Host interface: PCI Express 3.0 x8
461        * Device ID: 15b3:1013
462        * Firmware version: 12.18.1000
463
464      * Mellanox(R) ConnectX(R)-4 40G MCX4131A-BCAT/MCX413A-BCAT (1x40G)
465
466        * Host interface: PCI Express 3.0 x8
467        * Device ID: 15b3:1013
468        * Firmware version: 12.18.1000
469
470      * Mellanox(R) ConnectX(R)-4 40G MCX415A-BCAT (1x40G)
471
472        * Host interface: PCI Express 3.0 x16
473        * Device ID: 15b3:1013
474        * Firmware version: 12.18.1000
475
476      * Mellanox(R) ConnectX(R)-4 50G MCX4131A-GCAT/MCX413A-GCAT (1x50G)
477
478        * Host interface: PCI Express 3.0 x8
479        * Device ID: 15b3:1013
480        * Firmware version: 12.18.1000
481
482      * Mellanox(R) ConnectX(R)-4 50G MCX414A-BCAT (2x50G)
483
484        * Host interface: PCI Express 3.0 x8
485        * Device ID: 15b3:1013
486        * Firmware version: 12.18.1000
487
488      * Mellanox(R) ConnectX(R)-4 50G MCX415A-GCAT/MCX416A-BCAT/MCX416A-GCAT (2x50G)
489
490        * Host interface: PCI Express 3.0 x16
491        * Device ID: 15b3:1013
492        * Firmware version: 12.18.1000
493
494      * Mellanox(R) ConnectX(R)-4 50G MCX415A-CCAT (1x100G)
495
496        * Host interface: PCI Express 3.0 x16
497        * Device ID: 15b3:1013
498        * Firmware version: 12.18.1000
499
500      * Mellanox(R) ConnectX(R)-4 100G MCX416A-CCAT (2x100G)
501
502        * Host interface: PCI Express 3.0 x16
503        * Device ID: 15b3:1013
504        * Firmware version: 12.18.1000
505
506      * Mellanox(R) ConnectX(R)-4 Lx 10G MCX4121A-XCAT (2x10G)
507
508        * Host interface: PCI Express 3.0 x8
509        * Device ID: 15b3:1015
510        * Firmware version: 14.18.1000
511
512      * Mellanox(R) ConnectX(R)-4 Lx 25G MCX4121A-ACAT (2x25G)
513
514        * Host interface: PCI Express 3.0 x8
515        * Device ID: 15b3:1015
516        * Firmware version: 14.18.1000
517
518      * Mellanox(R) ConnectX(R)-5 100G MCX556A-ECAT (2x100G)
519
520        * Host interface: PCI Express 3.0 x16
521        * Device ID: 15b3:1017
522        * Firmware version: 16.18.1000
523
524      * Mellanox(R) ConnectX-5 Ex EN 100G MCX516A-CDAT (2x100G)
525
526        * Host interface: PCI Express 4.0 x16
527        * Device ID: 15b3:1019
528        * Firmware version: 16.18.1000
529
530 * IBM(R) Power8(R) with Mellanox(R) NICs combinations
531
532    * Machine:
533
534      * Processor: POWER8E (raw), AltiVec supported
535
536        * type-model: 8247-22L
537        * Firmware FW810.21 (SV810_108)
538
539    * OS: Ubuntu 16.04 LTS PPC le
540
541    * MLNX_OFED: 4.0-1.0.1.0
542
543    * NICs:
544
545      * Mellanox(R) ConnectX(R)-4 10G MCX4111A-XCAT (1x10G)
546
547        * Host interface: PCI Express 3.0 x8
548        * Device ID: 15b3:1013
549        * Firmware version: 12.18.1000
550
551      * Mellanox(R) ConnectX(R)-4 10G MCX4121A-XCAT (2x10G)
552
553        * Host interface: PCI Express 3.0 x8
554        * Device ID: 15b3:1013
555        * Firmware version: 12.18.1000
556
557      * Mellanox(R) ConnectX(R)-4 25G MCX4111A-ACAT (1x25G)
558
559        * Host interface: PCI Express 3.0 x8
560        * Device ID: 15b3:1013
561        * Firmware version: 12.18.1000
562
563      * Mellanox(R) ConnectX(R)-4 25G MCX4121A-ACAT (2x25G)
564
565        * Host interface: PCI Express 3.0 x8
566        * Device ID: 15b3:1013
567        * Firmware version: 12.18.1000
568
569      * Mellanox(R) ConnectX(R)-4 40G MCX4131A-BCAT/MCX413A-BCAT (1x40G)
570
571        * Host interface: PCI Express 3.0 x8
572        * Device ID: 15b3:1013
573        * Firmware version: 12.18.1000
574
575      * Mellanox(R) ConnectX(R)-4 40G MCX415A-BCAT (1x40G)
576
577        * Host interface: PCI Express 3.0 x16
578        * Device ID: 15b3:1013
579        * Firmware version: 12.18.1000
580
581      * Mellanox(R) ConnectX(R)-4 50G MCX4131A-GCAT/MCX413A-GCAT (1x50G)
582
583        * Host interface: PCI Express 3.0 x8
584        * Device ID: 15b3:1013
585        * Firmware version: 12.18.1000
586
587      * Mellanox(R) ConnectX(R)-4 50G MCX414A-BCAT (2x50G)
588
589        * Host interface: PCI Express 3.0 x8
590        * Device ID: 15b3:1013
591        * Firmware version: 12.18.1000
592
593      * Mellanox(R) ConnectX(R)-4 50G MCX415A-GCAT/MCX416A-BCAT/MCX416A-GCAT (2x50G)
594
595        * Host interface: PCI Express 3.0 x16
596        * Device ID: 15b3:1013
597        * Firmware version: 12.18.1000
598
599      * Mellanox(R) ConnectX(R)-4 50G MCX415A-CCAT (1x100G)
600
601        * Host interface: PCI Express 3.0 x16
602        * Device ID: 15b3:1013
603        * Firmware version: 12.18.1000
604
605      * Mellanox(R) ConnectX(R)-4 100G MCX416A-CCAT (2x100G)
606
607        * Host interface: PCI Express 3.0 x16
608        * Device ID: 15b3:1013
609        * Firmware version: 12.18.1000
610
611      * Mellanox(R) ConnectX(R)-4 Lx 10G MCX4121A-XCAT (2x10G)
612
613        * Host interface: PCI Express 3.0 x8
614        * Device ID: 15b3:1015
615        * Firmware version: 14.18.1000
616
617      * Mellanox(R) ConnectX(R)-4 Lx 25G MCX4121A-ACAT (2x25G)
618
619        * Host interface: PCI Express 3.0 x8
620        * Device ID: 15b3:1015
621        * Firmware version: 14.18.1000
622
623      * Mellanox(R) ConnectX(R)-5 100G MCX556A-ECAT (2x100G)
624
625        * Host interface: PCI Express 3.0 x16
626        * Device ID: 15b3:1017
627        * Firmware version: 16.18.1000
628
629 * Intel(R) platforms with Intel(R) NICs combinations
630
631    * Platform details
632
633      * Intel(R) Atom(TM) CPU C2758 @ 2.40GHz
634      * Intel(R) Xeon(R) CPU D-1540 @ 2.00GHz
635      * Intel(R) Xeon(R) CPU E5-4667 v3 @ 2.00GHz
636      * Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
637      * Intel(R) Xeon(R) CPU E5-2699 v3 @ 2.30GHz
638      * Intel(R) Xeon(R) CPU E5-2695 v4 @ 2.10GHz
639      * Intel(R) Xeon(R) CPU E5-2658 v2 @ 2.40GHz
640
641    * OS:
642
643      * CentOS 7.2
644      * Fedora 25
645      * FreeBSD 11
646      * Red Hat Enterprise Linux Server release 7.3
647      * SUSE Enterprise Linux 12
648      * Wind River Linux 8
649      * Ubuntu 16.04
650      * Ubuntu 16.10
651
652    * NICs:
653
654      * Intel(R) 82599ES 10 Gigabit Ethernet Controller
655
656        * Firmware version: 0x61bf0001
657        * Device id (pf/vf): 8086:10fb / 8086:10ed
658        * Driver version: 4.0.1-k (ixgbe)
659
660      * Intel(R) Corporation Ethernet Connection X552/X557-AT 10GBASE-T
661
662        * Firmware version: 0x800001cf
663        * Device id (pf/vf): 8086:15ad / 8086:15a8
664        * Driver version: 4.2.5 (ixgbe)
665
666      * Intel(R) Ethernet Converged Network Adapter X710-DA4 (4x10G)
667
668        * Firmware version: 5.05
669        * Device id (pf/vf): 8086:1572 / 8086:154c
670        * Driver version: 1.5.23 (i40e)
671
672      * Intel(R) Ethernet Converged Network Adapter X710-DA2 (2x10G)
673
674        * Firmware version: 5.05
675        * Device id (pf/vf): 8086:1572 / 8086:154c
676        * Driver version: 1.5.23 (i40e)
677
678      * Intel(R) Ethernet Converged Network Adapter XL710-QDA1 (1x40G)
679
680        * Firmware version: 5.05
681        * Device id (pf/vf): 8086:1584 / 8086:154c
682        * Driver version: 1.5.23 (i40e)
683
684      * Intel(R) Ethernet Converged Network Adapter XL710-QDA2 (2X40G)
685
686        * Firmware version: 5.05
687        * Device id (pf/vf): 8086:1583 / 8086:154c
688        * Driver version: 1.5.23 (i40e)
689
690      * Intel(R) Corporation I350 Gigabit Network Connection
691
692        * Firmware version: 1.48, 0x800006e7
693        * Device id (pf/vf): 8086:1521 / 8086:1520
694        * Driver version: 5.2.13-k (igb)