eal: remove deprecated function for mbuf pool ops
[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 * eal: The function ``rte_eal_mbuf_default_mempool_ops`` was deprecated
140   and is removed in 18.08. It shall be replaced by
141   ``rte_mbuf_best_mempool_ops``.
142
143 * mempool: Following functions were deprecated and are removed in 18.08:
144
145   - ``rte_mempool_populate_iova_tab``
146   - ``rte_mempool_populate_phys_tab``
147   - ``rte_mempool_populate_phys`` (``rte_mempool_populate_iova`` should be used)
148   - ``rte_mempool_virt2phy`` (``rte_mempool_virt2iova`` should be used)
149   - ``rte_mempool_xmem_create``
150   - ``rte_mempool_xmem_size``
151   - ``rte_mempool_xmem_usage``
152
153 * ethdev: The old offload API is removed:
154
155   - Rx per-port ``rte_eth_conf.rxmode.[bit-fields]``
156   - Tx per-queue ``rte_eth_txconf.txq_flags``
157   - ``ETH_TXQ_FLAGS_NO*``
158
159   The transition bits are removed:
160
161   - ``rte_eth_conf.rxmode.ignore_offload_bitfield``
162   - ``ETH_TXQ_FLAGS_IGNORE``
163
164 * cryptodev: In struct ``struct rte_cryptodev_info``, field ``rte_pci_device *pci_dev``
165   has been replaced with field ``struct rte_device *device``.
166   Value 0 is accepted in ``sym.max_nb_sessions``, meaning that a device
167   supports an unlimited number of sessions.
168   Two new fields of type ``uint16_t`` have been added:
169   ``min_mbuf_headroom_req`` and ``min_mbuf_tailroom_req``.
170   These parameters specify the recommended headroom and tailroom for mbufs
171   to be processed by the PMD.
172
173 * cryptodev: Following functions were deprecated and are removed in 18.08:
174
175   - ``rte_cryptodev_queue_pair_start``
176   - ``rte_cryptodev_queue_pair_stop``
177   - ``rte_cryptodev_queue_pair_attach_sym_session``
178   - ``rte_cryptodev_queue_pair_detach_sym_session``
179
180 * cryptodev: Following functions were deprecated and are replaced by
181   other functions in 18.08:
182
183   - ``rte_cryptodev_get_header_session_size`` is replaced with
184     ``rte_cryptodev_sym_get_header_session_size``
185   - ``rte_cryptodev_get_private_session_size`` is replaced with
186     ``rte_cryptodev_sym_get_private_session_size``
187
188 * cryptodev: Feature flag ``RTE_CRYPTODEV_FF_MBUF_SCATTER_GATHER`` is
189   replaced with the following more explicit flags:
190
191   - ``RTE_CRYPTODEV_FF_IN_PLACE_SGL``
192   - ``RTE_CRYPTODEV_FF_OOP_SGL_IN_SGL_OUT``
193   - ``RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT``
194   - ``RTE_CRYPTODEV_FF_OOP_LB_IN_SGL_OUT``
195   - ``RTE_CRYPTODEV_FF_OOP_LB_IN_LB_OUT``
196
197 * cryptodev: Renamed cryptodev experimental APIs:
198
199   Used user_data instead of private_data in following APIs to avoid confusion
200   with the existing session parameter ``sess_private_data[]`` and related APIs.
201
202   - ``rte_cryptodev_sym_session_set_private_data()`` changed to
203     ``rte_cryptodev_sym_session_set_user_data()``
204   - ``rte_cryptodev_sym_session_get_private_data()`` changed to
205     ``rte_cryptodev_sym_session_get_user_data()``
206
207 * compressdev: Feature flag ``RTE_COMP_FF_MBUF_SCATTER_GATHER`` is
208   replaced with the following more explicit flags:
209
210   - ``RTE_COMP_FF_OOP_SGL_IN_SGL_OUT``
211   - ``RTE_COMP_FF_OOP_SGL_IN_LB_OUT``
212   - ``RTE_COMP_FF_OOP_LB_IN_SGL_OUT``
213
214
215 ABI Changes
216 -----------
217
218 .. This section should contain ABI changes. Sample format:
219
220    * Add a short 1-2 sentence description of the ABI change
221      that was announced in the previous releases and made in this release.
222      Use fixed width quotes for ``function_names`` or ``struct_names``.
223      Use the past tense.
224
225    This section is a comment. Do not overwrite or remove it.
226    Also, make sure to start the actual text at the margin.
227    =========================================================
228
229
230 Removed Items
231 -------------
232
233 .. This section should contain removed items in this release. Sample format:
234
235    * Add a short 1-2 sentence description of the removed item
236      in the past tense.
237
238    This section is a comment. Do not overwrite or remove it.
239    Also, make sure to start the actual text at the margin.
240    =========================================================
241
242
243 Shared Library Versions
244 -----------------------
245
246 .. Update any library version updated in this release
247    and prepend with a ``+`` sign, like this:
248
249      librte_acl.so.2
250    + librte_cfgfile.so.2
251      librte_cmdline.so.2
252
253    This section is a comment. Do not overwrite or remove it.
254    =========================================================
255
256 The libraries prepended with a plus sign were incremented in this version.
257
258 .. code-block:: diff
259
260      librte_acl.so.2
261      librte_bbdev.so.1
262      librte_bitratestats.so.2
263      librte_bpf.so.1
264      librte_bus_dpaa.so.1
265      librte_bus_fslmc.so.1
266      librte_bus_pci.so.1
267      librte_bus_vdev.so.1
268    + librte_bus_vmbus.so.1
269      librte_cfgfile.so.2
270      librte_cmdline.so.2
271      librte_common_octeontx.so.1
272      librte_compressdev.so.1
273    + librte_cryptodev.so.5
274      librte_distributor.so.1
275    + librte_eal.so.8
276    + librte_ethdev.so.10
277      librte_eventdev.so.4
278      librte_flow_classify.so.1
279      librte_gro.so.1
280      librte_gso.so.1
281      librte_hash.so.2
282      librte_ip_frag.so.1
283      librte_jobstats.so.1
284      librte_kni.so.2
285      librte_kvargs.so.1
286      librte_latencystats.so.1
287      librte_lpm.so.2
288      librte_mbuf.so.4
289    + librte_mempool.so.5
290      librte_meter.so.2
291      librte_metrics.so.1
292      librte_net.so.1
293      librte_pci.so.1
294      librte_pdump.so.2
295      librte_pipeline.so.3
296      librte_pmd_bnxt.so.2
297      librte_pmd_bond.so.2
298      librte_pmd_i40e.so.2
299      librte_pmd_ixgbe.so.2
300      librte_pmd_dpaa2_cmdif.so.1
301      librte_pmd_dpaa2_qdma.so.1
302      librte_pmd_ring.so.2
303      librte_pmd_softnic.so.1
304      librte_pmd_vhost.so.2
305      librte_port.so.3
306      librte_power.so.1
307      librte_rawdev.so.1
308      librte_reorder.so.1
309      librte_ring.so.2
310      librte_sched.so.1
311      librte_security.so.1
312      librte_table.so.3
313      librte_timer.so.1
314      librte_vhost.so.3
315
316
317 Known Issues
318 ------------
319
320 .. This section should contain new known issues in this release. Sample format:
321
322    * **Add title in present tense with full stop.**
323
324      Add a short 1-2 sentence description of the known issue
325      in the present tense. Add information on any known workarounds.
326
327    This section is a comment. Do not overwrite or remove it.
328    Also, make sure to start the actual text at the margin.
329    =========================================================
330
331
332 Tested Platforms
333 ----------------
334
335 .. This section should contain a list of platforms that were tested
336    with this release.
337
338    The format is:
339
340    * <vendor> platform with <vendor> <type of devices> combinations
341
342      * List of CPU
343      * List of OS
344      * List of devices
345      * Other relevant details...
346
347    This section is a comment. Do not overwrite or remove it.
348    Also, make sure to start the actual text at the margin.
349    =========================================================
350
351 * Intel(R) platforms with Intel(R) NICs combinations
352
353    * CPU
354
355      * Intel(R) Atom(TM) CPU C3858 @ 2.00GHz
356      * Intel(R) Xeon(R) CPU D-1541 @ 2.10GHz
357      * Intel(R) Xeon(R) CPU E5-4667 v3 @ 2.00GHz
358      * Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
359      * Intel(R) Xeon(R) CPU E5-2699 v4 @ 2.20GHz
360      * Intel(R) Xeon(R) CPU E5-2695 v4 @ 2.10GHz
361      * Intel(R) Xeon(R) CPU E5-2658 v2 @ 2.40GHz
362      * Intel(R) Xeon(R) CPU E5-2658 v3 @ 2.20GHz
363      * Intel(R) Xeon(R) Platinum 8180 CPU @ 2.50GHz
364
365    * OS:
366
367      * CentOS 7.4
368      * Fedora 25
369      * Fedora 27
370      * Fedora 28
371      * FreeBSD 11.1
372      * Red Hat Enterprise Linux Server release 7.5
373      * SUSE Enterprise Linux 12
374      * Wind River Linux 8
375      * Ubuntu 14.04
376      * Ubuntu 16.04
377      * Ubuntu 16.10
378      * Ubuntu 17.10
379      * Ubuntu 18.04
380
381    * NICs:
382
383      * Intel(R) 82599ES 10 Gigabit Ethernet Controller
384
385        * Firmware version: 0x61bf0001
386        * Device id (pf/vf): 8086:10fb / 8086:10ed
387        * Driver version: 5.2.3 (ixgbe)
388
389      * Intel(R) Corporation Ethernet Connection X552/X557-AT 10GBASE-T
390
391        * Firmware version: 0x800003e7
392        * Device id (pf/vf): 8086:15ad / 8086:15a8
393        * Driver version: 4.4.6 (ixgbe)
394
395      * Intel(R) Ethernet Converged Network Adapter X710-DA4 (4x10G)
396
397        * Firmware version: 6.01 0x80003221
398        * Device id (pf/vf): 8086:1572 / 8086:154c
399        * Driver version: 2.4.6 (i40e)
400
401      * Intel Corporation Ethernet Connection X722 for 10GbE SFP+ (4x10G)
402
403        * Firmware version: 3.33 0x80000fd5 0.0.0
404        * Device id (pf/vf): 8086:37d0 / 8086:37cd
405        * Driver version: 2.4.3 (i40e)
406
407      * Intel(R) Ethernet Converged Network Adapter XXV710-DA2 (2x25G)
408
409        * Firmware version: 6.01 0x80003221
410        * Device id (pf/vf): 8086:158b / 8086:154c
411        * Driver version: 2.4.6 (i40e)
412
413      * Intel(R) Ethernet Converged Network Adapter XL710-QDA2 (2X40G)
414
415        * Firmware version: 6.01 0x8000321c
416        * Device id (pf/vf): 8086:1583 / 8086:154c
417        * Driver version: 2.4.6 (i40e)
418
419      * Intel(R) Corporation I350 Gigabit Network Connection
420
421        * Firmware version: 1.63, 0x80000dda
422        * Device id (pf/vf): 8086:1521 / 8086:1520
423        * Driver version: 5.4.0-k (igb)
424
425 * Intel(R) platforms with Mellanox(R) NICs combinations
426
427    * CPU:
428
429      * Intel(R) Xeon(R) Gold 6154 CPU @ 3.00GHz
430      * Intel(R) Xeon(R) CPU E5-2697A v4 @ 2.60GHz
431      * Intel(R) Xeon(R) CPU E5-2697 v3 @ 2.60GHz
432      * Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
433      * Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz
434      * Intel(R) Xeon(R) CPU E5-2640 @ 2.50GHz
435      * Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
436
437    * OS:
438
439      * Red Hat Enterprise Linux Server release 7.5 (Maipo)
440      * Red Hat Enterprise Linux Server release 7.4 (Maipo)
441      * Red Hat Enterprise Linux Server release 7.3 (Maipo)
442      * Red Hat Enterprise Linux Server release 7.2 (Maipo)
443      * Ubuntu 18.04
444      * Ubuntu 17.10
445      * Ubuntu 16.04
446      * SUSE Linux Enterprise Server 15
447
448    * MLNX_OFED: 4.3-2.0.2.0
449    * MLNX_OFED: 4.4-2.0.1.0
450
451    * NICs:
452
453      * Mellanox(R) ConnectX(R)-3 Pro 40G MCX354A-FCC_Ax (2x40G)
454
455        * Host interface: PCI Express 3.0 x8
456        * Device ID: 15b3:1007
457        * Firmware version: 2.42.5000
458
459      * Mellanox(R) ConnectX(R)-4 10G MCX4111A-XCAT (1x10G)
460
461        * Host interface: PCI Express 3.0 x8
462        * Device ID: 15b3:1013
463        * Firmware version: 12.21.1000 and above
464
465      * Mellanox(R) ConnectX(R)-4 10G MCX4121A-XCAT (2x10G)
466
467        * Host interface: PCI Express 3.0 x8
468        * Device ID: 15b3:1013
469        * Firmware version: 12.21.1000 and above
470
471      * Mellanox(R) ConnectX(R)-4 25G MCX4111A-ACAT (1x25G)
472
473        * Host interface: PCI Express 3.0 x8
474        * Device ID: 15b3:1013
475        * Firmware version: 12.21.1000 and above
476
477      * Mellanox(R) ConnectX(R)-4 25G MCX4121A-ACAT (2x25G)
478
479        * Host interface: PCI Express 3.0 x8
480        * Device ID: 15b3:1013
481        * Firmware version: 12.21.1000 and above
482
483      * Mellanox(R) ConnectX(R)-4 40G MCX4131A-BCAT/MCX413A-BCAT (1x40G)
484
485        * Host interface: PCI Express 3.0 x8
486        * Device ID: 15b3:1013
487        * Firmware version: 12.21.1000 and above
488
489      * Mellanox(R) ConnectX(R)-4 40G MCX415A-BCAT (1x40G)
490
491        * Host interface: PCI Express 3.0 x16
492        * Device ID: 15b3:1013
493        * Firmware version: 12.21.1000 and above
494
495      * Mellanox(R) ConnectX(R)-4 50G MCX4131A-GCAT/MCX413A-GCAT (1x50G)
496
497        * Host interface: PCI Express 3.0 x8
498        * Device ID: 15b3:1013
499        * Firmware version: 12.21.1000 and above
500
501      * Mellanox(R) ConnectX(R)-4 50G MCX414A-BCAT (2x50G)
502
503        * Host interface: PCI Express 3.0 x8
504        * Device ID: 15b3:1013
505        * Firmware version: 12.21.1000 and above
506
507      * Mellanox(R) ConnectX(R)-4 50G MCX415A-GCAT/MCX416A-BCAT/MCX416A-GCAT (2x50G)
508
509        * Host interface: PCI Express 3.0 x16
510        * Device ID: 15b3:1013
511        * Firmware version: 12.21.1000 and above
512        * Firmware version: 12.21.1000 and above
513
514      * Mellanox(R) ConnectX(R)-4 50G MCX415A-CCAT (1x100G)
515
516        * Host interface: PCI Express 3.0 x16
517        * Device ID: 15b3:1013
518        * Firmware version: 12.21.1000 and above
519
520      * Mellanox(R) ConnectX(R)-4 100G MCX416A-CCAT (2x100G)
521
522        * Host interface: PCI Express 3.0 x16
523        * Device ID: 15b3:1013
524        * Firmware version: 12.21.1000 and above
525
526      * Mellanox(R) ConnectX(R)-4 Lx 10G MCX4121A-XCAT (2x10G)
527
528        * Host interface: PCI Express 3.0 x8
529        * Device ID: 15b3:1015
530        * Firmware version: 14.21.1000 and above
531
532      * Mellanox(R) ConnectX(R)-4 Lx 25G MCX4121A-ACAT (2x25G)
533
534        * Host interface: PCI Express 3.0 x8
535        * Device ID: 15b3:1015
536        * Firmware version: 14.21.1000 and above
537
538      * Mellanox(R) ConnectX(R)-5 100G MCX556A-ECAT (2x100G)
539
540        * Host interface: PCI Express 3.0 x16
541        * Device ID: 15b3:1017
542        * Firmware version: 16.21.1000 and above
543
544      * Mellanox(R) ConnectX-5 Ex EN 100G MCX516A-CDAT (2x100G)
545
546        * Host interface: PCI Express 4.0 x16
547        * Device ID: 15b3:1019
548        * Firmware version: 16.21.1000 and above
549
550 * ARM platforms with Mellanox(R) NICs combinations
551
552    * CPU:
553
554      * Qualcomm ARM 1.1 2500MHz
555
556    * OS:
557
558      * Red Hat Enterprise Linux Server release 7.5 (Maipo)
559
560    * NICs:
561
562      * Mellanox(R) ConnectX(R)-4 Lx 25G MCX4121A-ACAT (2x25G)
563
564        * Host interface: PCI Express 3.0 x8
565        * Device ID: 15b3:1015
566        * Firmware version: 14.23.1000
567
568      * Mellanox(R) ConnectX(R)-5 100G MCX556A-ECAT (2x100G)
569
570        * Host interface: PCI Express 3.0 x16
571        * Device ID: 15b3:1017
572        * Firmware version: 16.23.1000
573
574 * Mellanox BlueField SmartNIC
575
576    * Mellanox(R) BlueField SmartNIC MT416842 (2x25G)
577        * Host interface: PCI Express 3.0 x16
578        * Device ID: 15b3:a2d2
579        * Firmware version: 18.99.3950
580
581    * SoC ARM cores running OS:
582      * CentOS Linux release 7.4.1708 (AltArch)
583      * Mellanox MLNX_OFED 4.2-1.4.21.0
584
585   * DPDK application running on ARM cores inside SmartNIC
586   * Bluefield representors support planned for next release.