doc: fix PDF build
[dpdk.git] / doc / guides / rel_notes / release_18_08.rst
1 DPDK Release 18.08
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_08.html
18
19
20 New Features
21 ------------
22
23 .. This section should contain new features added in this release.
24    Sample 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.
29      The description should be enough to allow someone scanning
30      the release notes to understand the new feature.
31
32      If the feature adds a lot of sub-features you can use a bullet list
33      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 Hyper-V netvsc PMD.**
45
46   The new ``netvsc`` poll mode driver provides native support for
47   networking on Hyper-V. See the :doc:`../nics/netvsc` NIC driver guide
48   for more details on this new driver.
49
50 * **Added Flow API support for CXGBE PMD.**
51
52   Flow API support has been added to CXGBE Poll Mode Driver to offload
53   flows to Chelsio T5/T6 NICs. Support added for:
54   * Wildcard (LE-TCAM) and Exact (HASH) match filters.
55   * Match items: physical ingress port, IPv4, IPv6, TCP and UDP.
56   * Action items: queue, drop, count, and physical egress port redirect.
57
58 * **Added ixgbe preferred Rx/Tx parameters.**
59
60   Rather than applications providing explicit Rx and Tx parameters such as
61   queue and burst sizes, they can request that the EAL instead uses preferred
62   values provided by the PMD, falling back to defaults within the EAL if the
63   PMD does not provide any. The provision of such tuned values now includes
64   the ixgbe PMD.
65
66 * **Added descriptor status check support for fm10k.**
67
68   ``rte_eth_rx_descritpr_status`` and ``rte_eth_tx_descriptor_status``
69   are supported by fm10K.
70
71 * **Updated the enic driver.**
72
73   * Add low cycle count Tx handler for no-offload Tx.
74   * Add low cycle count Rx handler for non-scattered Rx.
75   * Minor performance improvements to scattered Rx handler.
76   * Add handlers to add/delete VxLAN port number.
77   * Add devarg to specify ingress VLAN rewrite mode.
78
79 * **Updated mlx5 driver.**
80
81   Updated the mlx5 driver including the following changes:
82
83   * Added port representors support.
84   * Added Flow API support for e-switch rules.
85     Supported ACTION_PORT_ID, ACTION_DROP, ACTION_OF_POP_VLAN,
86     ACTION_OF_PUSH_VLAN, ACTION_OF_SET_VLAN_VID, ACTION_OF_SET_VLAN_PCP
87     and ITEM_PORT_ID.
88   * Supported 32-bit compilation.
89
90 * **Added TSO support for mlx4 driver.**
91
92   The support is from MLNX_OFED_4.4 and above.
93
94 * **SoftNIC PMD rework.**
95
96   The SoftNIC PMD infrastructure is restructured to use the Packet Framework,
97   which makes it more flexible, modular and easier to add new functionality
98   in future.
99
100 * **Updated the AESNI MB PMD.**
101
102   The AESNI MB PMD has been updated with additional support for:
103
104   * 3DES for 8, 16 and 24 byte keys.
105
106 * **Added a new compression PMD using Intel's QuickAssist (QAT) device family.**
107
108   Added the new ``QAT`` compression driver, for compression and decompression
109   operations in software. See the :doc:`../compressdevs/qat_comp` compression
110   driver guide for details on this new driver.
111
112 * **Updated the ISA-L PMD.**
113
114   Added support for chained mbufs (input and output).
115
116
117 API Changes
118 -----------
119
120 .. This section should contain API changes. Sample format:
121
122    * Add a short 1-2 sentence description of the API change.
123      Use fixed width quotes for ``function_names`` or ``struct_names``.
124      Use the past tense.
125
126    This section is a comment. Do not overwrite or remove it.
127    Also, make sure to start the actual text at the margin.
128    =========================================================
129
130 * Path to runtime config file has changed. The new path is determined as
131   follows:
132
133   - If DPDK is running as root, ``/var/run/dpdk/<prefix>/config``
134   - If DPDK is not running as root:
135
136     * If ``$XDG_RUNTIME_DIR`` is set, ``${XDG_RUNTIME_DIR}/dpdk/<prefix>/config``
137     * Otherwise, ``/tmp/dpdk/<prefix>/config``
138
139 * mempool: Following functions were deprecated and are removed in 18.08:
140
141   - ``rte_mempool_populate_iova_tab``
142   - ``rte_mempool_populate_phys_tab``
143   - ``rte_mempool_populate_phys`` (``rte_mempool_populate_iova`` should be used)
144   - ``rte_mempool_virt2phy`` (``rte_mempool_virt2iova`` should be used)
145   - ``rte_mempool_xmem_create``
146   - ``rte_mempool_xmem_size``
147   - ``rte_mempool_xmem_usage``
148
149 * ethdev: The old offload API is removed:
150
151   - Rx per-port ``rte_eth_conf.rxmode.[bit-fields]``
152   - Tx per-queue ``rte_eth_txconf.txq_flags``
153   - ``ETH_TXQ_FLAGS_NO*``
154
155   The transition bits are removed:
156
157   - ``rte_eth_conf.rxmode.ignore_offload_bitfield``
158   - ``ETH_TXQ_FLAGS_IGNORE``
159
160 * cryptodev: In struct ``struct rte_cryptodev_info``, field ``rte_pci_device *pci_dev``
161   has been replaced with field ``struct rte_device *device``.
162   Value 0 is accepted in ``sym.max_nb_sessions``, meaning that a device
163   supports an unlimited number of sessions.
164   Two new fields of type ``uint16_t`` have been added:
165   ``min_mbuf_headroom_req`` and ``min_mbuf_tailroom_req``.
166   These parameters specify the recommended headroom and tailroom for mbufs
167   to be processed by the PMD.
168
169 * cryptodev: Following functions were deprecated and are removed in 18.08:
170
171   - ``rte_cryptodev_queue_pair_start``
172   - ``rte_cryptodev_queue_pair_stop``
173   - ``rte_cryptodev_queue_pair_attach_sym_session``
174   - ``rte_cryptodev_queue_pair_detach_sym_session``
175
176 * cryptodev: Following functions were deprecated and are replaced by
177   other functions in 18.08:
178
179   - ``rte_cryptodev_get_header_session_size`` is replaced with
180     ``rte_cryptodev_sym_get_header_session_size``
181   - ``rte_cryptodev_get_private_session_size`` is replaced with
182     ``rte_cryptodev_sym_get_private_session_size``
183
184 * cryptodev: Feature flag ``RTE_CRYPTODEV_FF_MBUF_SCATTER_GATHER`` is
185   replaced with the following more explicit flags:
186
187   - ``RTE_CRYPTODEV_FF_IN_PLACE_SGL``
188   - ``RTE_CRYPTODEV_FF_OOP_SGL_IN_SGL_OUT``
189   - ``RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT``
190   - ``RTE_CRYPTODEV_FF_OOP_LB_IN_SGL_OUT``
191   - ``RTE_CRYPTODEV_FF_OOP_LB_IN_LB_OUT``
192
193 * cryptodev: Renamed cryptodev experimental APIs:
194
195   Used user_data instead of private_data in following APIs to avoid confusion
196   with the existing session parameter ``sess_private_data[]`` and related APIs.
197
198   - ``rte_cryptodev_sym_session_set_private_data()`` changed to
199     ``rte_cryptodev_sym_session_set_user_data()``
200   - ``rte_cryptodev_sym_session_get_private_data()`` changed to
201     ``rte_cryptodev_sym_session_get_user_data()``
202
203 * compressdev: Feature flag ``RTE_COMP_FF_MBUF_SCATTER_GATHER`` is
204   replaced with the following more explicit flags:
205
206   - ``RTE_COMP_FF_OOP_SGL_IN_SGL_OUT``
207   - ``RTE_COMP_FF_OOP_SGL_IN_LB_OUT``
208   - ``RTE_COMP_FF_OOP_LB_IN_SGL_OUT``
209
210
211 ABI Changes
212 -----------
213
214 .. This section should contain ABI changes. Sample format:
215
216    * Add a short 1-2 sentence description of the ABI change
217      that was announced in the previous releases and made in this release.
218      Use fixed width quotes for ``function_names`` or ``struct_names``.
219      Use the past tense.
220
221    This section is a comment. Do not overwrite or remove it.
222    Also, make sure to start the actual text at the margin.
223    =========================================================
224
225
226 Removed Items
227 -------------
228
229 .. This section should contain removed items in this release. Sample format:
230
231    * Add a short 1-2 sentence description of the removed item
232      in the past tense.
233
234    This section is a comment. Do not overwrite or remove it.
235    Also, make sure to start the actual text at the margin.
236    =========================================================
237
238
239 Shared Library Versions
240 -----------------------
241
242 .. Update any library version updated in this release
243    and prepend with a ``+`` sign, like this:
244
245      librte_acl.so.2
246    + librte_cfgfile.so.2
247      librte_cmdline.so.2
248
249    This section is a comment. Do not overwrite or remove it.
250    =========================================================
251
252 The libraries prepended with a plus sign were incremented in this version.
253
254 .. code-block:: diff
255
256      librte_acl.so.2
257      librte_bbdev.so.1
258      librte_bitratestats.so.2
259      librte_bpf.so.1
260      librte_bus_dpaa.so.1
261      librte_bus_fslmc.so.1
262      librte_bus_pci.so.1
263      librte_bus_vdev.so.1
264    + librte_bus_vmbus.so.1
265      librte_cfgfile.so.2
266      librte_cmdline.so.2
267      librte_common_octeontx.so.1
268      librte_compressdev.so.1
269    + librte_cryptodev.so.5
270      librte_distributor.so.1
271      librte_eal.so.7
272    + librte_ethdev.so.10
273      librte_eventdev.so.4
274      librte_flow_classify.so.1
275      librte_gro.so.1
276      librte_gso.so.1
277      librte_hash.so.2
278      librte_ip_frag.so.1
279      librte_jobstats.so.1
280      librte_kni.so.2
281      librte_kvargs.so.1
282      librte_latencystats.so.1
283      librte_lpm.so.2
284      librte_mbuf.so.4
285    + librte_mempool.so.5
286      librte_meter.so.2
287      librte_metrics.so.1
288      librte_net.so.1
289      librte_pci.so.1
290      librte_pdump.so.2
291      librte_pipeline.so.3
292      librte_pmd_bnxt.so.2
293      librte_pmd_bond.so.2
294      librte_pmd_i40e.so.2
295      librte_pmd_ixgbe.so.2
296      librte_pmd_dpaa2_cmdif.so.1
297      librte_pmd_dpaa2_qdma.so.1
298      librte_pmd_ring.so.2
299      librte_pmd_softnic.so.1
300      librte_pmd_vhost.so.2
301      librte_port.so.3
302      librte_power.so.1
303      librte_rawdev.so.1
304      librte_reorder.so.1
305      librte_ring.so.2
306      librte_sched.so.1
307      librte_security.so.1
308      librte_table.so.3
309      librte_timer.so.1
310      librte_vhost.so.3
311
312
313 Known Issues
314 ------------
315
316 .. This section should contain new known issues in this release. Sample format:
317
318    * **Add title in present tense with full stop.**
319
320      Add a short 1-2 sentence description of the known issue
321      in the present tense. Add information on any known workarounds.
322
323    This section is a comment. Do not overwrite or remove it.
324    Also, make sure to start the actual text at the margin.
325    =========================================================
326
327
328 Tested Platforms
329 ----------------
330
331 .. This section should contain a list of platforms that were tested
332    with this release.
333
334    The format is:
335
336    * <vendor> platform with <vendor> <type of devices> combinations
337
338      * List of CPU
339      * List of OS
340      * List of devices
341      * Other relevant details...
342
343    This section is a comment. Do not overwrite or remove it.
344    Also, make sure to start the actual text at the margin.
345    =========================================================
346
347 * Intel(R) platforms with Intel(R) NICs combinations
348
349    * CPU
350
351      * Intel(R) Atom(TM) CPU C3858 @ 2.00GHz
352      * Intel(R) Xeon(R) CPU D-1541 @ 2.10GHz
353      * Intel(R) Xeon(R) CPU E5-4667 v3 @ 2.00GHz
354      * Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
355      * Intel(R) Xeon(R) CPU E5-2699 v4 @ 2.20GHz
356      * Intel(R) Xeon(R) CPU E5-2695 v4 @ 2.10GHz
357      * Intel(R) Xeon(R) CPU E5-2658 v2 @ 2.40GHz
358      * Intel(R) Xeon(R) CPU E5-2658 v3 @ 2.20GHz
359      * Intel(R) Xeon(R) Platinum 8180 CPU @ 2.50GHz
360
361    * OS:
362
363      * CentOS 7.4
364      * Fedora 25
365      * Fedora 27
366      * Fedora 28
367      * FreeBSD 11.1
368      * Red Hat Enterprise Linux Server release 7.5
369      * SUSE Enterprise Linux 12
370      * Wind River Linux 8
371      * Ubuntu 14.04
372      * Ubuntu 16.04
373      * Ubuntu 16.10
374      * Ubuntu 17.10
375      * Ubuntu 18.04
376
377    * NICs:
378
379      * Intel(R) 82599ES 10 Gigabit Ethernet Controller
380
381        * Firmware version: 0x61bf0001
382        * Device id (pf/vf): 8086:10fb / 8086:10ed
383        * Driver version: 5.2.3 (ixgbe)
384
385      * Intel(R) Corporation Ethernet Connection X552/X557-AT 10GBASE-T
386
387        * Firmware version: 0x800003e7
388        * Device id (pf/vf): 8086:15ad / 8086:15a8
389        * Driver version: 4.4.6 (ixgbe)
390
391      * Intel(R) Ethernet Converged Network Adapter X710-DA4 (4x10G)
392
393        * Firmware version: 6.01 0x80003221
394        * Device id (pf/vf): 8086:1572 / 8086:154c
395        * Driver version: 2.4.6 (i40e)
396
397      * Intel Corporation Ethernet Connection X722 for 10GbE SFP+ (4x10G)
398
399        * Firmware version: 3.33 0x80000fd5 0.0.0
400        * Device id (pf/vf): 8086:37d0 / 8086:37cd
401        * Driver version: 2.4.3 (i40e)
402
403      * Intel(R) Ethernet Converged Network Adapter XXV710-DA2 (2x25G)
404
405        * Firmware version: 6.01 0x80003221
406        * Device id (pf/vf): 8086:158b / 8086:154c
407        * Driver version: 2.4.6 (i40e)
408
409      * Intel(R) Ethernet Converged Network Adapter XL710-QDA2 (2X40G)
410
411        * Firmware version: 6.01 0x8000321c
412        * Device id (pf/vf): 8086:1583 / 8086:154c
413        * Driver version: 2.4.6 (i40e)
414
415      * Intel(R) Corporation I350 Gigabit Network Connection
416
417        * Firmware version: 1.63, 0x80000dda
418        * Device id (pf/vf): 8086:1521 / 8086:1520
419        * Driver version: 5.4.0-k (igb)
420
421 * Intel(R) platforms with Mellanox(R) NICs combinations
422
423    * CPU:
424
425      * Intel(R) Xeon(R) Gold 6154 CPU @ 3.00GHz
426      * Intel(R) Xeon(R) CPU E5-2697A v4 @ 2.60GHz
427      * Intel(R) Xeon(R) CPU E5-2697 v3 @ 2.60GHz
428      * Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
429      * Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz
430      * Intel(R) Xeon(R) CPU E5-2640 @ 2.50GHz
431      * Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
432
433    * OS:
434
435      * Red Hat Enterprise Linux Server release 7.5 (Maipo)
436      * Red Hat Enterprise Linux Server release 7.4 (Maipo)
437      * Red Hat Enterprise Linux Server release 7.3 (Maipo)
438      * Red Hat Enterprise Linux Server release 7.2 (Maipo)
439      * Ubuntu 18.04
440      * Ubuntu 17.10
441      * Ubuntu 16.04
442      * SUSE Linux Enterprise Server 15
443
444    * MLNX_OFED: 4.3-2.0.2.0
445    * MLNX_OFED: 4.4-2.0.1.0
446
447    * NICs:
448
449      * Mellanox(R) ConnectX(R)-3 Pro 40G MCX354A-FCC_Ax (2x40G)
450
451        * Host interface: PCI Express 3.0 x8
452        * Device ID: 15b3:1007
453        * Firmware version: 2.42.5000
454
455      * Mellanox(R) ConnectX(R)-4 10G MCX4111A-XCAT (1x10G)
456
457        * Host interface: PCI Express 3.0 x8
458        * Device ID: 15b3:1013
459        * Firmware version: 12.21.1000 and above
460
461      * Mellanox(R) ConnectX(R)-4 10G MCX4121A-XCAT (2x10G)
462
463        * Host interface: PCI Express 3.0 x8
464        * Device ID: 15b3:1013
465        * Firmware version: 12.21.1000 and above
466
467      * Mellanox(R) ConnectX(R)-4 25G MCX4111A-ACAT (1x25G)
468
469        * Host interface: PCI Express 3.0 x8
470        * Device ID: 15b3:1013
471        * Firmware version: 12.21.1000 and above
472
473      * Mellanox(R) ConnectX(R)-4 25G MCX4121A-ACAT (2x25G)
474
475        * Host interface: PCI Express 3.0 x8
476        * Device ID: 15b3:1013
477        * Firmware version: 12.21.1000 and above
478
479      * Mellanox(R) ConnectX(R)-4 40G MCX4131A-BCAT/MCX413A-BCAT (1x40G)
480
481        * Host interface: PCI Express 3.0 x8
482        * Device ID: 15b3:1013
483        * Firmware version: 12.21.1000 and above
484
485      * Mellanox(R) ConnectX(R)-4 40G MCX415A-BCAT (1x40G)
486
487        * Host interface: PCI Express 3.0 x16
488        * Device ID: 15b3:1013
489        * Firmware version: 12.21.1000 and above
490
491      * Mellanox(R) ConnectX(R)-4 50G MCX4131A-GCAT/MCX413A-GCAT (1x50G)
492
493        * Host interface: PCI Express 3.0 x8
494        * Device ID: 15b3:1013
495        * Firmware version: 12.21.1000 and above
496
497      * Mellanox(R) ConnectX(R)-4 50G MCX414A-BCAT (2x50G)
498
499        * Host interface: PCI Express 3.0 x8
500        * Device ID: 15b3:1013
501        * Firmware version: 12.21.1000 and above
502
503      * Mellanox(R) ConnectX(R)-4 50G MCX415A-GCAT/MCX416A-BCAT/MCX416A-GCAT (2x50G)
504
505        * Host interface: PCI Express 3.0 x16
506        * Device ID: 15b3:1013
507        * Firmware version: 12.21.1000 and above
508        * Firmware version: 12.21.1000 and above
509
510      * Mellanox(R) ConnectX(R)-4 50G MCX415A-CCAT (1x100G)
511
512        * Host interface: PCI Express 3.0 x16
513        * Device ID: 15b3:1013
514        * Firmware version: 12.21.1000 and above
515
516      * Mellanox(R) ConnectX(R)-4 100G MCX416A-CCAT (2x100G)
517
518        * Host interface: PCI Express 3.0 x16
519        * Device ID: 15b3:1013
520        * Firmware version: 12.21.1000 and above
521
522      * Mellanox(R) ConnectX(R)-4 Lx 10G MCX4121A-XCAT (2x10G)
523
524        * Host interface: PCI Express 3.0 x8
525        * Device ID: 15b3:1015
526        * Firmware version: 14.21.1000 and above
527
528      * Mellanox(R) ConnectX(R)-4 Lx 25G MCX4121A-ACAT (2x25G)
529
530        * Host interface: PCI Express 3.0 x8
531        * Device ID: 15b3:1015
532        * Firmware version: 14.21.1000 and above
533
534      * Mellanox(R) ConnectX(R)-5 100G MCX556A-ECAT (2x100G)
535
536        * Host interface: PCI Express 3.0 x16
537        * Device ID: 15b3:1017
538        * Firmware version: 16.21.1000 and above
539
540      * Mellanox(R) ConnectX-5 Ex EN 100G MCX516A-CDAT (2x100G)
541
542        * Host interface: PCI Express 4.0 x16
543        * Device ID: 15b3:1019
544        * Firmware version: 16.21.1000 and above
545
546 * ARM platforms with Mellanox(R) NICs combinations
547
548    * CPU:
549
550      * Qualcomm ARM 1.1 2500MHz
551
552    * OS:
553
554      * Red Hat Enterprise Linux Server release 7.5 (Maipo)
555
556    * NICs:
557
558      * Mellanox(R) ConnectX(R)-4 Lx 25G MCX4121A-ACAT (2x25G)
559
560        * Host interface: PCI Express 3.0 x8
561        * Device ID: 15b3:1015
562        * Firmware version: 14.23.1000
563
564      * Mellanox(R) ConnectX(R)-5 100G MCX556A-ECAT (2x100G)
565
566        * Host interface: PCI Express 3.0 x16
567        * Device ID: 15b3:1017
568        * Firmware version: 16.23.1000
569
570 * Mellanox BlueField SmartNIC
571
572    * Mellanox(R) BlueField SmartNIC MT416842 (2x25G)
573        * Host interface: PCI Express 3.0 x16
574        * Device ID: 15b3:a2d2
575        * Firmware version: 18.99.3950
576
577    * SoC ARM cores running OS:
578      * CentOS Linux release 7.4.1708 (AltArch)
579      * Mellanox MLNX_OFED 4.2-1.4.21.0
580
581   * DPDK application running on ARM cores inside SmartNIC
582   * Bluefield representors support planned for next release.