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