doc: add tested platforms for NXP SoCs
[dpdk.git] / doc / guides / rel_notes / release_18_05.rst
1 DPDK Release 18.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_18_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 * **Added bucket mempool driver.**
45
46   Added bucket mempool driver which provides a way to allocate contiguous
47   block of objects.
48   Number of objects in the block depends on how many objects fit in
49   RTE_DRIVER_MEMPOOL_BUCKET_SIZE_KB memory chunk which is build time option.
50   The number may be obtained using rte_mempool_ops_get_info() API.
51   Contiguous blocks may be allocated using rte_mempool_get_contig_blocks() API.
52
53 * **Added PMD-recommended Tx and Rx parameters**
54
55   Applications can now query drivers for device-tuned values of
56   ring sizes, burst sizes, and number of queues.
57
58 * **Added RSS hash and key update to CXGBE PMD.**
59
60   Support to update RSS hash and key has been added to CXGBE PMD.
61
62 * **Added CXGBE VF PMD.**
63
64   CXGBE VF Poll Mode Driver has been added to run DPDK over Chelsio
65   T5/T6 NIC VF instances.
66
67 * **Updated mlx5 driver.**
68
69   Updated the mlx5 driver including the following changes:
70
71   * Introduced Multi-packet Rx. With it, achieved 100Gb/sec with 64B frames.
72   * Supported to be run by non-root users given reduced set of capabilities
73     CAP_NET_ADMIN, CAP_NET_RAW and CAP_IPC_LOCK.
74   * Supported TSO and checksum for generic UDP and IP tunnels.
75   * Supported inner checksum and RSS for GRE, VXLAN-GPE, MPLSoGRE
76     and MPLSoUDP tunnels.
77   * Accommodate to the new memory hotplug model.
78   * Supported non virtually contiguous mempools.
79   * Supported MAC adding along with allmulti and promiscuous modes from VF.
80   * Supported Mellanox BlueField SoC device.
81   * Supported PMD defaults for queue number and depth to improve the out
82     of the box performance.
83
84 * **Updated mlx4 driver.**
85
86   Updated the mlx4 driver including the following changes:
87
88   * Supported to be run by non-root users given reduced set of capabilities
89     CAP_NET_ADMIN, CAP_NET_RAW and CAP_IPC_LOCK.
90   * Supported CRC strip toggling.
91   * Accommodate to the new memory hotplug model.
92   * Supported non virtually contiguous mempools.
93   * Dropped support in Mellanox OFED 4.2.
94
95 * **Updated Solarflare network PMD.**
96
97   Updated the sfc_efx driver including the following changes:
98
99   * Added support for Solarflare XtremeScale X2xxx family adapters.
100   * Added support for NVGRE, VXLAN and GENEVE filters in flow API.
101   * Added support for DROP action in flow API.
102   * Added support for equal stride super-buffer Rx mode (X2xxx only).
103   * Added support for MARK and FLAG actions in flow API (X2xxx only).
104
105 * **Added Ethernet poll mode driver for AMD XGBE devices.**
106
107   Added the new ``axgbe`` ethernet poll mode driver for AMD XGBE devices.
108   See the :doc:`../nics/axgbe` nic driver guide for more details on this
109   new driver.
110
111 * **Updated szedata2 PMD.**
112
113   Added support for new NFB-200G2QL card.
114   New API was introduced in the libsze2 library which the szedata2 PMD depends
115   on thus the new version of the library was needed.
116   New versions of the packages are available and the minimum required version
117   is 4.4.1.
118
119 * **Added support for Broadcom NetXtreme-S (BCM58800) family of controllers (aka Stingray)**
120
121   The BCM58800 devices feature a NetXtreme E-Series advanced network controller, a high-performance
122   ARM CPU block, PCI Express (PCIe) Gen3 interfaces, key accelerators for compute offload and a high-
123   speed memory subsystem including L3 cache and DDR4 interfaces, all interconnected by a coherent
124   Network-on-chip (NOC) fabric.
125
126   The ARM CPU subsystem features eight ARMv8 Cortex-A72 CPUs at 3.0 GHz, arranged in a multi-cluster
127   configuration.
128
129 * **Added vDPA in vhost-user lib.**
130
131   Added support for selective datapath in vhost-user lib. vDPA stands for vhost
132   Data Path Acceleration. It supports virtio ring compatible devices to serve
133   virtio driver directly to enable datapath acceleration.
134
135 * **Added IFCVF vDPA driver.**
136
137   Added IFCVF vDPA driver to support Intel FPGA 100G VF device. IFCVF works
138   as a HW vhost data path accelerator, it supports live migration and is
139   compatible with virtio 0.95 and 1.0. This driver registers ifcvf vDPA driver
140   to vhost lib, when virtio connected, with the help of the registered vDPA
141   driver the assigned VF gets configured to Rx/Tx directly to VM's virtio
142   vrings.
143
144 * **Added support for vhost dequeue interrupt mode.**
145
146   Added support for vhost dequeue interrupt mode to release cpus to others when
147   no data to transmit. Applications could register an epoll event fd to associate
148   Rx queues with interrupt vectors.
149
150 * **Added support for virtio-user server mode.**
151   In a container environment if the vhost-user backend restarts, there's no way
152   for it to reconnect to virtio-user. To address this, support for server mode
153   is added. In this mode the socket file is created by virtio-user, which the
154   backend connects to. This means that if the backend restarts, it can reconnect
155   to virtio-user and continue communications.
156
157 * **Added crypto workload support to vhost library.**
158
159   New APIs are introduced in vhost library to enable virtio crypto support
160   including session creation/deletion handling and translating virtio-crypto
161   request into DPDK crypto operations. A sample application is also introduced.
162
163 * **Added virtio crypto PMD.**
164
165   Added a new poll mode driver for virtio crypto devices, which provides
166   AES-CBC ciphering and AES-CBC with HMAC-SHA1 algorithm-chaining. See the
167   :doc:`../cryptodevs/virtio` crypto driver guide for more details on
168   this new driver.
169
170 * **Added AMD CCP Crypto PMD.**
171
172   Added the new ``ccp`` crypto driver for AMD CCP devices. See the
173   :doc:`../cryptodevs/ccp` crypto driver guide for more details on
174   this new driver.
175
176 * **Updated AESNI MB PMD.**
177
178   The AESNI MB PMD has been updated with additional support for:
179
180   * AES-CMAC (128-bit key).
181
182 * **Added Compressdev Library, a generic compression service library.**
183
184   The compressdev library provides an API for offload of compression and
185   decompression operations to hardware or software accelerator devices.
186
187 * **Added a new compression poll mode driver using Intels ISA-L.**
188
189    Added the new ``ISA-L`` compression driver, for compression and decompression
190    operations in software. See the :doc:`../compressdevs/isal` compression driver
191    guide for details on this new driver.
192
193 * **Added the Event Timer Adapter Library.**
194
195   The Event Timer Adapter Library extends the event-based model by introducing
196   APIs that allow applications to arm/cancel event timers that generate
197   timer expiry events. This new type of event is scheduled by an event device
198   along with existing types of events.
199
200 * **Added OcteonTx TIM Driver (Event timer adapter).**
201
202   The OcteonTx Timer block enables software to schedule events for a future
203   time, it is exposed to an application via Event timer adapter library.
204
205   See the :doc:`../eventdevs/octeontx` guide for more details
206
207 * **Added Event Crypto Adapter Library.**
208
209     Added the Event Crypto Adapter Library.  This library extends the
210     event-based model by introducing APIs that allow applications to
211     enqueue/dequeue crypto operations to/from cryptodev as events scheduled
212     by an event device.
213
214 * **Added Ifpga Bus, a generic Intel FPGA Bus library.**
215
216   The Ifpga Bus library provides support for integrating any Intel FPGA device with
217   the DPDK framework. It provides Intel FPGA Partial Bit Stream AFU (Accelerated
218   Function Unit) scan and drivers probe.
219
220 * **Added IFPGA (Intel FPGA) Rawdev Driver.**
221
222   Added a new Rawdev driver called IFPGA(Intel FPGA) Rawdev Driver, which cooperates
223   with OPAE (Open Programmable Acceleration Engine) share code provides common FPGA
224   management ops for FPGA operation.
225
226   See the :doc:`../rawdevs/ifpga_rawdev` programmer's guide for more details.
227
228 * **Added DPAA2 QDMA Driver (in rawdev).**
229
230   The DPAA2 QDMA is an implementation of the rawdev API, that provide means
231   to initiate a DMA transaction from CPU. The initiated DMA is performed
232   without CPU being involved in the actual DMA transaction.
233
234   See the :doc:`../rawdevs/dpaa2_qdma` guide for more details.
235
236 * **Added DPAA2 Command Interface Driver (in rawdev).**
237
238   The DPAA2 CMDIF is an implementation of the rawdev API, that provides
239   communication between the GPP and NXP's QorIQ based AIOP Block (Firmware).
240   Advanced IO Processor i.e. AIOP is clusters of programmable RISC engines
241   optimised for flexible networking and I/O operations. The communication
242   between GPP and AIOP is achieved via using DPCI devices exposed by MC for
243   GPP <--> AIOP interaction.
244
245   See the :doc:`../rawdevs/dpaa2_cmdif` guide for more details.
246
247 * **Added device event monitor framework.**
248
249   Added a general device event monitor framework at EAL, for device dynamic management.
250   Such as device hotplug awareness and actions adopted accordingly. The list of new APIs:
251
252   * ``rte_dev_event_monitor_start`` and ``rte_dev_event_monitor_stop`` are for
253     the event monitor enable and disable.
254   * ``rte_dev_event_callback_register`` and ``rte_dev_event_callback_unregister``
255     are for the user's callbacks register and unregister.
256
257   Linux uevent is supported as backend of this device event notification framework.
258
259 * **Added support for procinfo and pdump on eth vdev.**
260
261   For ethernet virtual devices (like tap, pcap, etc), with this feature, we can get
262   stats/xstats on shared memory from secondary process, and also pdump packets on
263   those virtual devices.
264
265 * **Added the BPF Library.**
266
267   The BPF Library provides the ability to load and execute
268   Enhanced Berkeley Packet Filter (eBPF) within user-space dpdk application.
269   Also it introduces basic framework to load/unload BPF-based filters
270   on eth devices (right now only via SW RX/TX callbacks).
271   It also adds dependency on libelf.
272
273
274 API Changes
275 -----------
276
277 .. This section should contain API changes. Sample format:
278
279    * Add a short 1-2 sentence description of the API change. Use fixed width
280      quotes for ``rte_function_names`` or ``rte_struct_names``. Use the past
281      tense.
282
283    This section is a comment. Do not overwrite or remove it.
284    Also, make sure to start the actual text at the margin.
285    =========================================================
286
287 * service cores: no longer marked as experimental.
288
289   The service cores functions are no longer marked as experimental, and have
290   become part of the normal DPDK API and ABI. Any future ABI changes will be
291   announced at least one release before the ABI change is made. There are no
292   ABI breaking changes planned.
293
294 * eal: ``rte_lcore_has_role()`` return value changed.
295
296   This function now returns true or false, respectively,
297   rather than 0 or <0 for success or failure.
298   It makes use of the function more intuitive.
299
300 * mempool: capability flags and related functions have been removed.
301
302   Flags ``MEMPOOL_F_CAPA_PHYS_CONTIG`` and
303   ``MEMPOOL_F_CAPA_BLK_ALIGNED_OBJECTS`` were used by octeontx mempool
304   driver to customize generic mempool library behaviour.
305   Now the new driver callbacks ``calc_mem_size`` and ``populate`` may be
306   used to achieve it without specific knowledge in the generic code.
307
308 * mempool: xmem functions have been deprecated:
309
310   - ``rte_mempool_xmem_create``
311   - ``rte_mempool_xmem_size``
312   - ``rte_mempool_xmem_usage``
313   - ``rte_mempool_populate_iova_tab``
314
315 * mbuf: The control mbuf API has been removed in v18.05. The impacted
316   functions and macros are:
317
318   - ``rte_ctrlmbuf_init()``
319   - ``rte_ctrlmbuf_alloc()``
320   - ``rte_ctrlmbuf_free()``
321   - ``rte_ctrlmbuf_data()``
322   - ``rte_ctrlmbuf_len()``
323   - ``rte_is_ctrlmbuf()``
324   - ``CTRL_MBUF_FLAG``
325
326   The packet mbuf API should be used as a replacement.
327
328 * meter: updated to accommodate configuration profiles.
329
330   The meter API is changed to support meter configuration profiles. The
331   configuration profile represents the set of configuration parameters
332   for a given meter object, such as the rates and sizes for the token
333   buckets. These configuration parameters were previously the part of meter
334   object internal data strcuture. The separation of the configuration
335   parameters from meter object data structure results in reducing its
336   memory footprint which helps in better cache utilization when large number
337   of meter objects are used.
338
339 * ethdev: The function ``rte_eth_dev_count``, often mis-used to iterate
340   over ports, is deprecated and replaced by ``rte_eth_dev_count_avail``.
341   There is also a new function ``rte_eth_dev_count_total`` to get the
342   total number of allocated ports, available or not.
343   The hotplug-proof applications should use ``RTE_ETH_FOREACH_DEV`` or
344   ``RTE_ETH_FOREACH_DEV_OWNED_BY`` as port iterators.
345
346 * ethdev, in struct ``struct rte_eth_dev_info``, field ``rte_pci_device *pci_dev``
347   replaced with field ``struct rte_device *device``.
348
349 * **Changes to semantics of rte_eth_dev_configure() parameters.**
350
351    If both the ``nb_rx_q`` and ``nb_tx_q`` parameters are zero,
352    ``rte_eth_dev_configure`` will now use PMD-recommended queue sizes, or if
353    recommendations are not provided by the PMD the function will use ethdev
354    fall-back values. Previously setting both of the parameters to zero would
355    have resulted in ``-EINVAL`` being returned.
356
357 * **Changes to semantics of rte_eth_rx_queue_setup() parameters.**
358
359    If the ``nb_rx_desc`` parameter is zero, ``rte_eth_rx_queue_setup`` will
360    now use the PMD-recommended Rx ring size, or in the case where the PMD
361    does not provide a recommendation, will use an ethdev-provided
362    fall-back value. Previously, setting ``nb_rx_desc`` to zero would have
363    resulted in an error.
364
365 * **Changes to semantics of rte_eth_tx_queue_setup() parameters.**
366
367    If the ``nb_tx_desc`` parameter is zero, ``rte_eth_tx_queue_setup`` will
368    now use the PMD-recommended Tx ring size, or in the case where the PMD
369    does not provide a recoomendation, will use an ethdev-provided
370    fall-back value. Previously, setting ``nb_tx_desc`` to zero would have
371    resulted in an error.
372
373 * ethdev: several changes were made to the flow API.
374
375   * Unused DUP action was removed.
376   * Actions semantics in flow rules: list order now matters ("first
377     to last" instead of "all simultaneously"), repeated actions are now
378     all performed, and they do not individually have (non-)terminating
379     properties anymore.
380   * Flow rules are now always terminating unless a PASSTHRU action is
381     present.
382   * C99-style flexible arrays were replaced with standard pointers in RSS
383     action and in RAW pattern item structures due to compatibility issues.
384   * The RSS action was modified to not rely on external
385     ``struct rte_eth_rss_conf`` anymore to instead expose its own and more
386     appropriately named configuration fields directly
387     (``rss_conf->rss_key`` => ``key``,
388     ``rss_conf->rss_key_len`` => ``key_len``,
389     ``rss_conf->rss_hf`` => ``types``,
390     ``num`` => ``queue_num``), and the addition of missing RSS parameters
391     (``func`` for RSS hash function to apply and ``level`` for the
392     encapsulation level).
393   * The VLAN pattern item (``struct rte_flow_item_vlan``) was modified to
394     include inner EtherType instead of outer TPID. Its default mask was also
395     modified to cover the VID part (lower 12 bits) of TCI only.
396   * A new transfer attribute was added to ``struct rte_flow_attr`` in order
397     to clarify the behavior of some pattern items.
398   * PF and VF pattern items are now only accepted by PMDs that implement
399     them (bnxt and i40e) when the transfer attribute is also present for
400     consistency.
401   * Pattern item PORT was renamed PHY_PORT to avoid confusion with DPDK port
402     IDs.
403   * An action counterpart to the PHY_PORT pattern item was added in order to
404     redirect matching traffic to a specific physical port.
405   * PORT_ID pattern item and actions were added to match and target DPDK
406     port IDs at a higher level than PHY_PORT.
407
408 * ethdev: change flow APIs regarding count action:
409   * ``rte_flow_create()`` API count action now requires the ``struct rte_flow_action_count``.
410   * ``rte_flow_query()`` API parameter changed from action type to action structure.
411
412 * ethdev: changes to offload API
413
414    A pure per-port offloading isn't requested to be repeated in [rt]x_conf->offloads to
415    ``rte_eth_[rt]x_queue_setup()``. Now any offloading enabled in ``rte_eth_dev_configure()``
416    can't be disabled by ``rte_eth_[rt]x_queue_setup()``. Any new added offloading which has
417    not been enabled in ``rte_eth_dev_configure()`` and is requested to be enabled in
418    ``rte_eth_[rt]x_queue_setup()`` must be per-queue type, otherwise trigger an error log.
419
420 * ethdev: runtime queue setup:
421
422   ``rte_eth_rx_queue_setup`` and ``rte_eth_tx_queue_setup`` can be called after
423   ``rte_eth_dev_start`` if device support runtime queue setup. Device driver can
424   expose this capability through ``rte_eth_dev_info_get``. A Rx or Tx queue be
425   setup at runtime need to be started explicitly by ``rte_eth_dev_rx_queue_start``
426   or ``rte_eth_dev_tx_queue_start``.
427
428
429 ABI Changes
430 -----------
431
432 .. This section should contain ABI changes. Sample format:
433
434    * Add a short 1-2 sentence description of the ABI change that was announced
435      in the previous releases and made in this release. Use fixed width quotes
436      for ``rte_function_names`` or ``rte_struct_names``. Use the past tense.
437
438    This section is a comment. Do not overwrite or remove it.
439    Also, make sure to start the actual text at the margin.
440    =========================================================
441
442 * ring: the alignment constraints on the ring structure has been relaxed
443   to one cache line instead of two, and an empty cache line padding is
444   added between the producer and consumer structures. The size of the
445   structure and the offset of the fields remains the same on platforms
446   with 64B cache line, but change on other platforms.
447
448 * mempool: ops have changed.
449
450   A new callback ``calc_mem_size`` has been added to ``rte_mempool_ops``
451   to allow to customize required memory size calculation.
452   A new callback ``populate`` has been added to ``rte_mempool_ops``
453   to allow to customize objects population.
454   Callback ``get_capabilities`` has been removed from ``rte_mempool_ops``
455   since its features are covered by ``calc_mem_size`` and ``populate``
456   callbacks.
457   Callback ``register_memory_area`` has been removed from ``rte_mempool_ops``
458   since the new callback ``populate`` may be used instead of it.
459
460 * **Additional fields in rte_eth_dev_info.**
461
462   The ``rte_eth_dev_info`` structure has had two extra entries appended to the
463   end of it: ``default_rxportconf`` and ``default_txportconf``. Each of these
464   in turn are ``rte_eth_dev_portconf`` structures containing three fields of
465   type ``uint16_t``: ``burst_size``, ``ring_size``, and ``nb_queues``. These
466   are parameter values recommended for use by the PMD.
467
468 * ethdev: ABI for all flow API functions was updated.
469
470   This includes functions ``rte_flow_copy``, ``rte_flow_create``,
471   ``rte_flow_destroy``, ``rte_flow_error_set``, ``rte_flow_flush``,
472   ``rte_flow_isolate``, ``rte_flow_query`` and ``rte_flow_validate``, due to
473   changes in error type definitions (``enum rte_flow_error_type``), removal
474   of the unused DUP action (``enum rte_flow_action_type``), modified
475   behavior for flow rule actions (see API changes), removal of C99 flexible
476   array from RAW pattern item (``struct rte_flow_item_raw``), complete
477   rework of the RSS action definition (``struct rte_flow_action_rss``),
478   sanity fix in the VLAN pattern item (``struct rte_flow_item_vlan``) and
479   new transfer attribute (``struct rte_flow_attr``).
480
481 **New parameter added to rte_bbdev_op_cap_turbo_dec.**
482
483   A new parameter ``max_llr_modulus`` has been added to
484   ``rte_bbdev_op_cap_turbo_dec`` structure to specify maximal LLR (likelihood
485   ratio) absolute value.
486
487 * **BBdev Queue Groups split into UL/DL Groups**
488
489   Queue Groups have been split into UL/DL Groups in Turbo Software Driver.
490   They are independent for Decode/Encode. ``rte_bbdev_driver_info`` reflects
491   introduced changes.
492
493
494 Removed Items
495 -------------
496
497 .. This section should contain removed items in this release. Sample format:
498
499    * Add a short 1-2 sentence description of the removed item in the past
500      tense.
501
502    This section is a comment. Do not overwrite or remove it.
503    Also, make sure to start the actual text at the margin.
504    =========================================================
505
506
507 Known Issues
508 ------------
509
510 .. This section should contain new known issues in this release. Sample format:
511
512    * **Add title in present tense with full stop.**
513
514      Add a short 1-2 sentence description of the known issue in the present
515      tense. Add information on any known workarounds.
516
517    This section is a comment. Do not overwrite or remove it.
518    Also, make sure to start the actual text at the margin.
519    =========================================================
520
521 * **pdump is not compatible with old applications.**
522
523   As we changed to use generic multi-process communication for pdump negotiation
524   instead of previous dedicated unix socket way, pdump applications, including
525   dpdk-pdump example and any other applications using librte_pdump, cannot work
526   with older version DPDK primary applications.
527
528
529 Shared Library Versions
530 -----------------------
531
532 .. Update any library version updated in this release and prepend with a ``+``
533    sign, like this:
534
535      librte_acl.so.2
536    + librte_cfgfile.so.2
537      librte_cmdline.so.2
538
539    This section is a comment. Do not overwrite or remove it.
540    =========================================================
541
542
543 The libraries prepended with a plus sign were incremented in this version.
544
545 .. code-block:: diff
546
547      librte_acl.so.2
548      librte_bbdev.so.1
549      librte_bitratestats.so.2
550    + librte_bpf.so.1
551      librte_bus_dpaa.so.1
552      librte_bus_fslmc.so.1
553      librte_bus_pci.so.1
554      librte_bus_vdev.so.1
555      librte_cfgfile.so.2
556      librte_cmdline.so.2
557    + librte_common_octeontx.so.1
558    + librte_compressdev.so.1
559      librte_cryptodev.so.4
560      librte_distributor.so.1
561    + librte_eal.so.7
562    + librte_ethdev.so.9
563    + librte_eventdev.so.4
564      librte_flow_classify.so.1
565      librte_gro.so.1
566      librte_gso.so.1
567      librte_hash.so.2
568      librte_ip_frag.so.1
569      librte_jobstats.so.1
570      librte_kni.so.2
571      librte_kvargs.so.1
572      librte_latencystats.so.1
573      librte_lpm.so.2
574    + librte_mbuf.so.4
575    + librte_mempool.so.4
576    + librte_meter.so.2
577      librte_metrics.so.1
578      librte_net.so.1
579      librte_pci.so.1
580      librte_pdump.so.2
581      librte_pipeline.so.3
582      librte_pmd_bnxt.so.2
583      librte_pmd_bond.so.2
584      librte_pmd_i40e.so.2
585      librte_pmd_ixgbe.so.2
586    + librte_pmd_dpaa2_cmdif.so.1
587    + librte_pmd_dpaa2_qdma.so.1
588      librte_pmd_ring.so.2
589      librte_pmd_softnic.so.1
590      librte_pmd_vhost.so.2
591      librte_port.so.3
592      librte_power.so.1
593      librte_rawdev.so.1
594      librte_reorder.so.1
595    + librte_ring.so.2
596      librte_sched.so.1
597      librte_security.so.1
598      librte_table.so.3
599      librte_timer.so.1
600      librte_vhost.so.3
601
602
603 Tested Platforms
604 ----------------
605
606 .. This section should contain a list of platforms that were tested with this
607    release.
608
609    The format is:
610
611    * <vendor> platform with <vendor> <type of devices> combinations
612
613      * List of CPU
614      * List of OS
615      * List of devices
616      * Other relevant details...
617
618    This section is a comment. Do not overwrite or remove it.
619    Also, make sure to start the actual text at the margin.
620    =========================================================
621
622 * Intel(R) platforms with Intel(R) NICs combinations
623
624    * CPU
625
626      * Intel(R) Atom(TM) CPU C2758 @ 2.40GHz
627      * Intel(R) Xeon(R) CPU D-1541 @ 2.10GHz
628      * Intel(R) Xeon(R) CPU E5-4667 v3 @ 2.00GHz
629      * Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
630      * Intel(R) Xeon(R) CPU E5-2699 v4 @ 2.20GHz
631      * Intel(R) Xeon(R) CPU E5-2695 v4 @ 2.10GHz
632      * Intel(R) Xeon(R) CPU E5-2658 v2 @ 2.40GHz
633      * Intel(R) Xeon(R) CPU E5-2658 v3 @ 2.20GHz
634      * Intel(R) Xeon(R) Platinum 8180 CPU @ 2.50GHz
635
636    * OS:
637
638      * CentOS 7.4
639      * Fedora 25
640      * Fedora 27
641      * Fedora 28
642      * FreeBSD 11.1
643      * Red Hat Enterprise Linux Server release 7.3
644      * SUSE Enterprise Linux 12
645      * Wind River Linux 8
646      * Ubuntu 14.04
647      * Ubuntu 16.04
648      * Ubuntu 16.10
649      * Ubuntu 17.10
650
651    * NICs:
652
653      * Intel(R) 82599ES 10 Gigabit Ethernet Controller
654
655        * Firmware version: 0x61bf0001
656        * Device id (pf/vf): 8086:10fb / 8086:10ed
657        * Driver version: 5.2.3 (ixgbe)
658
659      * Intel(R) Corporation Ethernet Connection X552/X557-AT 10GBASE-T
660
661        * Firmware version: 0x800003e7
662        * Device id (pf/vf): 8086:15ad / 8086:15a8
663        * Driver version: 4.4.6 (ixgbe)
664
665      * Intel(R) Ethernet Converged Network Adapter X710-DA4 (4x10G)
666
667        * Firmware version: 6.01 0x80003221
668        * Device id (pf/vf): 8086:1572 / 8086:154c
669        * Driver version: 2.4.6 (i40e)
670
671      * Intel Corporation Ethernet Connection X722 for 10GbE SFP+ (4x10G)
672
673        * Firmware version: 3.33 0x80000fd5 0.0.0
674        * Device id (pf/vf): 8086:37d0 / 8086:37cd
675        * Driver version: 2.4.3 (i40e)
676
677      * Intel(R) Ethernet Converged Network Adapter XXV710-DA2 (2x25G)
678
679        * Firmware version: 6.01 0x80003221
680        * Device id (pf/vf): 8086:158b / 8086:154c
681        * Driver version: 2.4.6 (i40e)
682
683      * Intel(R) Ethernet Converged Network Adapter XL710-QDA2 (2X40G)
684
685        * Firmware version: 6.01 0x8000321c
686        * Device id (pf/vf): 8086:1583 / 8086:154c
687        * Driver version: 2.4.6 (i40e)
688
689      * Intel(R) Corporation I350 Gigabit Network Connection
690
691        * Firmware version: 1.63, 0x80000dda
692        * Device id (pf/vf): 8086:1521 / 8086:1520
693        * Driver version: 5.4.0-k (igb)
694
695 * Intel(R) platforms with Mellanox(R) NICs combinations
696
697    * CPU:
698
699      * Intel(R) Xeon(R) Gold 6154 CPU @ 3.00GHz
700      * Intel(R) Xeon(R) CPU E5-2697A v4 @ 2.60GHz
701      * Intel(R) Xeon(R) CPU E5-2697 v3 @ 2.60GHz
702      * Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
703      * Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz
704      * Intel(R) Xeon(R) CPU E5-2640 @ 2.50GHz
705      * Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
706
707    * OS:
708
709      * Red Hat Enterprise Linux Server release 7.5 (Maipo)
710      * Red Hat Enterprise Linux Server release 7.4 (Maipo)
711      * Red Hat Enterprise Linux Server release 7.3 (Maipo)
712      * Red Hat Enterprise Linux Server release 7.2 (Maipo)
713      * Ubuntu 18.04
714      * Ubuntu 17.10
715      * Ubuntu 16.10
716      * Ubuntu 16.04
717      * SUSE Linux Enterprise Server 15
718
719    * MLNX_OFED: 4.2-1.0.0.0
720    * MLNX_OFED: 4.3-2.0.2.0
721
722    * NICs:
723
724      * Mellanox(R) ConnectX(R)-3 Pro 40G MCX354A-FCC_Ax (2x40G)
725
726        * Host interface: PCI Express 3.0 x8
727        * Device ID: 15b3:1007
728        * Firmware version: 2.42.5000
729
730      * Mellanox(R) ConnectX(R)-4 10G MCX4111A-XCAT (1x10G)
731
732        * Host interface: PCI Express 3.0 x8
733        * Device ID: 15b3:1013
734        * Firmware version: 12.21.1000 and above
735
736      * Mellanox(R) ConnectX(R)-4 10G MCX4121A-XCAT (2x10G)
737
738        * Host interface: PCI Express 3.0 x8
739        * Device ID: 15b3:1013
740        * Firmware version: 12.21.1000 and above
741
742      * Mellanox(R) ConnectX(R)-4 25G MCX4111A-ACAT (1x25G)
743
744        * Host interface: PCI Express 3.0 x8
745        * Device ID: 15b3:1013
746        * Firmware version: 12.21.1000 and above
747
748      * Mellanox(R) ConnectX(R)-4 25G MCX4121A-ACAT (2x25G)
749
750        * Host interface: PCI Express 3.0 x8
751        * Device ID: 15b3:1013
752        * Firmware version: 12.21.1000 and above
753
754      * Mellanox(R) ConnectX(R)-4 40G MCX4131A-BCAT/MCX413A-BCAT (1x40G)
755
756        * Host interface: PCI Express 3.0 x8
757        * Device ID: 15b3:1013
758        * Firmware version: 12.21.1000 and above
759
760      * Mellanox(R) ConnectX(R)-4 40G MCX415A-BCAT (1x40G)
761
762        * Host interface: PCI Express 3.0 x16
763        * Device ID: 15b3:1013
764        * Firmware version: 12.21.1000 and above
765
766      * Mellanox(R) ConnectX(R)-4 50G MCX4131A-GCAT/MCX413A-GCAT (1x50G)
767
768        * Host interface: PCI Express 3.0 x8
769        * Device ID: 15b3:1013
770        * Firmware version: 12.21.1000 and above
771
772      * Mellanox(R) ConnectX(R)-4 50G MCX414A-BCAT (2x50G)
773
774        * Host interface: PCI Express 3.0 x8
775        * Device ID: 15b3:1013
776        * Firmware version: 12.21.1000 and above
777
778      * Mellanox(R) ConnectX(R)-4 50G MCX415A-GCAT/MCX416A-BCAT/MCX416A-GCAT (2x50G)
779
780        * Host interface: PCI Express 3.0 x16
781        * Device ID: 15b3:1013
782        * Firmware version: 12.21.1000 and above
783        * Firmware version: 12.21.1000 and above
784
785      * Mellanox(R) ConnectX(R)-4 50G MCX415A-CCAT (1x100G)
786
787        * Host interface: PCI Express 3.0 x16
788        * Device ID: 15b3:1013
789        * Firmware version: 12.21.1000 and above
790
791      * Mellanox(R) ConnectX(R)-4 100G MCX416A-CCAT (2x100G)
792
793        * Host interface: PCI Express 3.0 x16
794        * Device ID: 15b3:1013
795        * Firmware version: 12.21.1000 and above
796
797      * Mellanox(R) ConnectX(R)-4 Lx 10G MCX4121A-XCAT (2x10G)
798
799        * Host interface: PCI Express 3.0 x8
800        * Device ID: 15b3:1015
801        * Firmware version: 14.21.1000 and above
802
803      * Mellanox(R) ConnectX(R)-4 Lx 25G MCX4121A-ACAT (2x25G)
804
805        * Host interface: PCI Express 3.0 x8
806        * Device ID: 15b3:1015
807        * Firmware version: 14.21.1000 and above
808
809      * Mellanox(R) ConnectX(R)-5 100G MCX556A-ECAT (2x100G)
810
811        * Host interface: PCI Express 3.0 x16
812        * Device ID: 15b3:1017
813        * Firmware version: 16.21.1000 and above
814
815      * Mellanox(R) ConnectX-5 Ex EN 100G MCX516A-CDAT (2x100G)
816
817        * Host interface: PCI Express 4.0 x16
818        * Device ID: 15b3:1019
819        * Firmware version: 16.21.1000 and above
820
821 * ARM platforms with Mellanox(R) NICs combinations
822
823    * CPU:
824
825      * Qualcomm ARM 1.1 2500MHz
826
827    * OS:
828
829      * Red Hat Enterprise Linux Server release 7.5 (Maipo)
830
831    * NICs:
832
833      * Mellanox(R) ConnectX(R)-4 Lx 25G MCX4121A-ACAT (2x25G)
834
835        * Host interface: PCI Express 3.0 x8
836        * Device ID: 15b3:1015
837        * Firmware version: 14.22.0428
838
839      * Mellanox(R) ConnectX(R)-5 100G MCX556A-ECAT (2x100G)
840
841        * Host interface: PCI Express 3.0 x16
842        * Device ID: 15b3:1017
843        * Firmware version: 16.22.0428
844
845 * ARM SoC combinations from Cavium (with integrated NICs)
846
847    * SoC:
848
849      * Cavium CN81xx
850      * Cavium CN83xx
851
852    * OS:
853
854      * Ubuntu 16.04.2 LTS with Cavium SDK-6.2.0-Patch2 release support package.
855
856 * ARM SoC combinations from NXP (with integrated NICs)
857
858    * SoC:
859
860      * NXP/Freescale QorIQ LS1046A with ARM Cortex A72
861      * NXP/Freescale QorIQ LS2088A with ARM Cortex A72
862
863    * OS:
864
865      * Ubuntu 16.04.3 LTS with NXP QorIQ LSDK 1803 support packages