fix PMD wording
[dpdk.git] / doc / guides / rel_notes / release_21_08.rst
1 .. SPDX-License-Identifier: BSD-3-Clause
2    Copyright 2021 The DPDK contributors
3
4 .. include:: <isonum.txt>
5
6 DPDK Release 21.08
7 ==================
8
9 New Features
10 ------------
11
12 * **Added auxiliary bus support.**
13
14   An auxiliary bus provides a way to split a function into child-devices
15   representing sub-domains of functionality. Each auxiliary device
16   represents a part of its parent functionality.
17
18 * **Added XZ compressed firmware support.**
19
20   Using ``rte_firmware_read`` a driver can now handle XZ compressed firmware
21   in a transparent way, with EAL uncompressing using libarchive, if this library
22   is available when building DPDK.
23
24 * **Updated Amazon ENA PMD.**
25
26   Updated the Amazon ENA PMD. The new driver version (v2.4.0) introduced
27   bug fixes and improvements, including:
28
29   * Added Rx interrupt support.
30   * RSS hash function key reconfiguration support.
31
32 * **Updated Intel iavf driver.**
33
34   * Added Tx QoS VF queue TC mapping.
35   * Added FDIR and RSS for GTPoGRE, and support for filters based on GTPU TEID/QFI,
36     outermost L3 or innermost L3/L4.
37
38 * **Updated Intel ice driver.**
39
40   * Added new RX and TX paths in the AVX2 code to use HW offload
41     features. When the HW offload features are configured to be used, the
42     offload paths are chosen automatically. In parallel the support for HW
43     offload features was removed from the legacy AVX2 paths.
44   * Added Tx QoS TC bandwidth configuration in DCF.
45
46 * **Added support for Marvell CN10K SoC Ethernet device.**
47
48   * Added net/cnxk driver which provides the support for the integrated Ethernet
49     device.
50
51 * **Updated Mellanox mlx5 driver.**
52
53   * Added Sub-Function support based on auxiliary bus.
54   * Added support for meter hierarchy.
55   * Added support for metering policy actions of yellow color.
56   * Added support for metering trTCM RFC2698 and RFC4115.
57   * Added devargs option ``allow_duplicate_pattern``.
58   * Added matching on IPv4 Internet Header Length (IHL).
59   * Added support for matching on VXLAN header last 8-bits reserved field.
60   * Optimized multi-thread flow rule insertion rate.
61
62 * **Updated Solarflare network PMD.**
63
64   Updated the Solarflare ``sfc_efx`` driver with changes including:
65
66   * Added COUNT action support for SN1000 NICs.
67
68 * **Added Wangxun ngbe PMD.**
69
70   Added a new PMD for Wangxun 1Gb Ethernet NICs.
71   See the :doc:`../nics/ngbe` for more details.
72
73 * **Added inflight packets clear API in vhost library.**
74
75   Added an API which can clear the inflight packets submitted to
76   the DMA engine in the vhost async data path.
77
78 * **Updated Intel QuickAssist crypto PMD.**
79
80   Added fourth generation of QuickAssist Technology(QAT) devices support.
81   Only symmetric crypto has been currently enabled. Compression and asymmetric
82   crypto PMD will fail to create.
83
84 * **Added support for Marvell CNXK crypto driver.**
85
86   * Added cnxk crypto PMD which provides support for an integrated
87     crypto driver for CN9K and CN10K series of SOCs. Support for
88     symmetric crypto algorithms was added to both the PMDs.
89   * Added support for lookaside protocol (IPsec) offload in cn10k PMD.
90   * Added support for asymmetric crypto operations in cn9k and cn10k PMD.
91
92 * **Updated Marvell OCTEON TX crypto PMD.**
93
94   Added support for crypto adapter ``OP_FORWARD`` mode.
95
96 * **Added support for Nvidia crypto device driver.**
97
98   Added mlx5 crypto driver to support AES-XTS cipher operations.
99   The first device to support it is ConnectX-6.
100
101 * **Updated ISAL compress device PMD.**
102
103   The ISAL compress device PMD now supports Arm platforms.
104
105 * **Added Baseband PHY CNXK PMD.**
106
107   Added Baseband PHY PMD which allows configuration of the BPHY hardware block
108   comprising accelerators and DSPs specifically tailored for 5G/LTE inline
109   use cases. Configuration happens via standard rawdev enq/deq operations. See
110   the :doc:`../rawdevs/cnxk_bphy` rawdev guide for more details on this driver.
111
112 * **Added support for Marvell CN10K, CN9K, event Rx/Tx adapter.**
113
114   * Added Rx/Tx adapter support for event/cnxk when the Ethernet device requested
115     is net/cnxk.
116   * Added support for event vectorization for Rx/Tx adapter.
117
118 * **Added cppc_cpufreq support to Power Management library.**
119
120   Added support for cppc_cpufreq driver which works on most arm64 platforms.
121
122 * **Added multi-queue support to Ethernet PMD Power Management.**
123
124   The experimental PMD power management API now supports managing
125   multiple Ethernet Rx queues per lcore.
126
127 * **Updated testpmd to output log errors to stderr.**
128
129   Updated testpmd application to output log errors and warnings to stderr
130   instead of stdout.
131
132
133 API Changes
134 -----------
135
136 * eal: ``rte_strscpy`` sets ``rte_errno`` to ``E2BIG`` in case of string
137   truncation.
138
139 * eal: ``rte_bsf32_safe`` now takes a 32-bit value for its first argument.
140   This fixes warnings about loss of precision
141   when used with some compilers settings.
142
143 * eal: ``rte_power_monitor`` and the ``rte_power_monitor_cond`` struct changed
144   to use a callback mechanism.
145
146 * rte_power: The experimental PMD power management API is no longer considered
147   to be thread safe; all Rx queues affected by the API will now need to be
148   stopped before making any changes to the power management scheme.
149
150
151 ABI Changes
152 -----------
153
154 * No ABI change that would break compatibility with 20.11.
155
156
157 Known Issues
158 ------------
159
160 * **Last mbuf segment not implicitly reset.**
161
162   It is expected that free mbufs have their field ``nb_seg`` set to 1,
163   so that when it is allocated, the user does not need to set its value.
164   The mbuf free functions are responsible of resetting this field to 1
165   before returning the mbuf to the pool.
166
167   When a multi-segment mbuf is freed, the field ``nb_seg`` is not reset
168   to 1 for the last segment of the chain. On next allocation of this segment,
169   if the field is not explicitly reset by the user,
170   an invalid mbuf can be created, and can cause an undefined behavior.
171
172   This issue has a root cause in DPDK 17.05, meaning it is 4 years old.
173   A fix is available and discussed but not merged in DPDK 21.08:
174   https://patches.dpdk.org/patch/86458/
175
176
177 Tested Platforms
178 ----------------
179
180 * Intel\ |reg| platforms with Intel\ |reg| NICs combinations
181
182   * CPU
183
184     * Intel\ |reg| Atom\ |trade| CPU C3958 @ 2.00GHz
185     * Intel\ |reg| Atom\ |trade| CPU C3758 @ 2.20GHz
186     * Intel\ |reg| Xeon\ |reg| CPU D-1541 @ 2.10GHz
187     * Intel\ |reg| Xeon\ |reg| CPU D-1553N @ 2.30GHz
188     * Intel\ |reg| Xeon\ |reg| CPU E5-2680 v2 @ 2.80GHz
189     * Intel\ |reg| Xeon\ |reg| CPU E5-2699 v3 @ 2.30GHz
190     * Intel\ |reg| Xeon\ |reg| CPU E5-2699 v4 @ 2.20GHz
191     * Intel\ |reg| Xeon\ |reg| Gold 6140M CPU @ 2.30GHz
192     * Intel\ |reg| Xeon\ |reg| Gold 6139 CPU @ 2.30GHz
193     * Intel\ |reg| Xeon\ |reg| Gold 6252N CPU @ 2.30GHz
194     * Intel\ |reg| Xeon\ |reg| Platinum 8180 CPU @ 2.50GHz
195     * Intel\ |reg| Xeon\ |reg| Platinum 8180M CPU @ 2.50GHz
196     * Intel\ |reg| Xeon\ |reg| Platinum 8280M CPU @ 2.70GHz
197
198   * OS:
199
200     * Fedora 34
201     * OpenWRT 19.07.4
202     * FreeBSD 12.1
203     * Red Hat Enterprise Linux Server release 8.3
204     * Suse 15 SP2
205     * Ubuntu 20.04
206     * Ubuntu 21.04
207
208   * NICs:
209
210     * Intel\ |reg| Ethernet Controller E810-C for SFP (4x25G)
211
212       * Firmware version: 3.10
213       * Device id (pf/vf): 8086:1593 / 8086:1889
214       * Driver version: 1.7.0 (ice)
215       * OS Default DDP: 1.3.27.0
216       * COMMS DDP: 1.3.31.0
217       * Wireless Edge DDP: 1.3.7.0
218
219     * Intel\ |reg| Ethernet Controller E810-C for QSFP (2x100G)
220
221       * Firmware version: 3.10
222       * Device id (pf/vf): 8086:1592 / 8086:1889
223       * Driver version: 1.7.0 (ice)
224       * OS Default DDP: 1.3.27.0
225       * COMMS DDP: 1.3.31.0
226       * Wireless Edge DDP: 1.3.7.0
227
228     * Intel\ |reg| 82599ES 10 Gigabit Ethernet Controller
229
230       * Firmware version: 0x61bf0001
231       * Device id (pf/vf): 8086:10fb / 8086:10ed
232       * Driver version: 5.1.0-k (ixgbe)
233
234     * Intel\ |reg| Corporation Ethernet Connection X552/X557-AT 10GBASE-T
235
236       * Firmware version: 0x800003e7
237       * Device id (pf/vf): 8086:15ad / 8086:15a8
238       * Driver version: 5.1.0-k (ixgbe)
239
240     * Intel\ |reg| Corporation Ethernet Controller 10G X550T
241
242       * Firmware version: 0x8000113b
243       * Device id (pf): 8086:1563
244       * Driver version: 5.11.3 (ixgbe)
245
246     * Intel\ |reg| Ethernet Controller 10-Gigabit X540-AT2
247
248       * Firmware version: 0x800005f9
249       * Device id (pf): 8086:1528
250       * Driver version: 4.18.0-305.7.1.el8_4.x86_64 (ixgbe)
251
252     * Intel\ |reg| Ethernet Converged Network Adapter X710-DA4 (4x10G)
253
254       * Firmware version: 8.30 0x8000a49d 1.2926.0
255       * Device id (pf/vf): 8086:1572 / 8086:154c
256       * Driver version: 2.15.9 (i40e)
257
258     * Intel\ |reg| Corporation Ethernet Connection X722 for 10GbE SFP+ (4x10G)
259
260       * Firmware version: 5.30 0x80002a29 1.2926.0
261       * Device id (pf/vf): 8086:37d0 / 8086:37cd
262       * Driver version: 2.15.9 (i40e)
263
264     * Intel\ |reg| Corporation Ethernet Connection X722 for 10GBASE-T (2x10G)
265
266       * Firmware version: 4.10 0x80001a7a 1.2154.0
267       * Device id (pf/vf): 8086:37d2 / 8086:37cd
268       * Driver version: 2.15.9 (i40e)
269
270     * Intel\ |reg| Ethernet Converged Network Adapter XXV710-DA2 (2x25G)
271
272       * Firmware version: 8.30 0x8000a485 1.2926.0
273       * Device id (pf/vf): 8086:158b / 8086:154c
274       * Driver version: 2.15.9 (i40e)
275
276     * Intel\ |reg| Ethernet Converged Network Adapter XL710-QDA2 (2X40G)
277
278       * Firmware version: 8.30 0x8000a4ae 1.2926.0
279       * Device id (pf/vf): 8086:1583 / 8086:154c
280       * Driver version: 2.15.9 (i40e)
281
282     * Intel\ |reg| Ethernet Converged Network Adapter X710-T2L
283
284       * Firmware version: 8.30 0x8000a489 1.2926.0
285       * Device id (pf): 8086:15ff
286       * Driver version: 2.15.9 (i40e)
287
288 * Intel\ |reg| platforms with Mellanox\ |reg| NICs combinations
289
290   * CPU:
291
292     * Intel\ |reg| Xeon\ |reg| Gold 6154 CPU @ 3.00GHz
293     * Intel\ |reg| Xeon\ |reg| CPU E5-2697A v4 @ 2.60GHz
294     * Intel\ |reg| Xeon\ |reg| CPU E5-2697 v3 @ 2.60GHz
295     * Intel\ |reg| Xeon\ |reg| CPU E5-2680 v2 @ 2.80GHz
296     * Intel\ |reg| Xeon\ |reg| CPU E5-2670 0 @ 2.60GHz
297     * Intel\ |reg| Xeon\ |reg| CPU E5-2650 v4 @ 2.20GHz
298     * Intel\ |reg| Xeon\ |reg| CPU E5-2650 v3 @ 2.30GHz
299     * Intel\ |reg| Xeon\ |reg| CPU E5-2640 @ 2.50GHz
300     * Intel\ |reg| Xeon\ |reg| CPU E5-2650 0 @ 2.00GHz
301     * Intel\ |reg| Xeon\ |reg| CPU E5-2620 v4 @ 2.10GHz
302
303   * OS:
304
305     * Red Hat Enterprise Linux release 8.2 (Ootpa)
306     * Red Hat Enterprise Linux Server release 7.8 (Maipo)
307     * Red Hat Enterprise Linux Server release 7.6 (Maipo)
308     * Red Hat Enterprise Linux Server release 7.5 (Maipo)
309     * Red Hat Enterprise Linux Server release 7.4 (Maipo)
310     * Red Hat Enterprise Linux Server release 7.3 (Maipo)
311     * Red Hat Enterprise Linux Server release 7.2 (Maipo)
312     * Ubuntu 20.04
313     * Ubuntu 18.04
314     * Ubuntu 16.04
315     * SUSE Enterprise Linux 15 SP2
316     * SUSE Enterprise Linux 12 SP4
317
318   * OFED:
319
320     * MLNX_OFED 5.4-1.0.3.0 and above
321     * MLNX_OFED 5.3-1.0.0.1
322
323   * upstream kernel:
324
325     * Linux 5.14.0-rc3 and above
326
327   * rdma-core:
328
329     * rdma-core-36.0 and above
330
331   * NICs:
332
333     * Mellanox\ |reg| ConnectX\ |reg|-3 Pro 40G MCX354A-FCC_Ax (2x40G)
334
335       * Host interface: PCI Express 3.0 x8
336       * Device ID: 15b3:1007
337       * Firmware version: 2.42.5000
338
339     * Mellanox\ |reg| ConnectX\ |reg|-3 Pro 40G MCX354A-FCCT (2x40G)
340
341       * Host interface: PCI Express 3.0 x8
342       * Device ID: 15b3:1007
343       * Firmware version: 2.42.5000
344
345     * Mellanox\ |reg| ConnectX\ |reg|-4 Lx 25G MCX4121A-ACAT (2x25G)
346
347       * Host interface: PCI Express 3.0 x8
348       * Device ID: 15b3:1015
349       * Firmware version: 14.31.1014 and above
350
351     * Mellanox\ |reg| ConnectX\ |reg|-4 Lx 50G MCX4131A-GCAT (1x50G)
352
353       * Host interface: PCI Express 3.0 x8
354       * Device ID: 15b3:1015
355       * Firmware version: 14.31.1014 and above
356
357     * Mellanox\ |reg| ConnectX\ |reg|-5 100G MCX516A-CCAT (2x100G)
358
359       * Host interface: PCI Express 3.0 x16
360       * Device ID: 15b3:1017
361       * Firmware version: 16.31.1014 and above
362
363     * Mellanox\ |reg| ConnectX\ |reg|-5 100G MCX556A-ECAT (2x100G)
364
365       * Host interface: PCI Express 3.0 x16
366       * Device ID: 15b3:1017
367       * Firmware version: 16.31.1014 and above
368
369     * Mellanox\ |reg| ConnectX\ |reg|-5 100G MCX556A-EDAT (2x100G)
370
371       * Host interface: PCI Express 3.0 x16
372       * Device ID: 15b3:1017
373       * Firmware version: 16.31.1014 and above
374
375     * Mellanox\ |reg| ConnectX\ |reg|-5 Ex EN 100G MCX516A-CDAT (2x100G)
376
377       * Host interface: PCI Express 4.0 x16
378       * Device ID: 15b3:1019
379       * Firmware version: 16.31.1014 and above
380
381     * Mellanox\ |reg| ConnectX\ |reg|-6 Dx EN 100G MCX623106AN-CDAT (2x100G)
382
383       * Host interface: PCI Express 4.0 x16
384       * Device ID: 15b3:101d
385       * Firmware version: 22.31.1014 and above
386
387     * Mellanox\ |reg| ConnectX\ |reg|-6 Lx EN 25G MCX631102AN-ADAT (2x25G)
388
389       * Host interface: PCI Express 4.0 x8
390       * Device ID: 15b3:101f
391       * Firmware version: 26.31.1014 and above
392
393 * Mellanox\ |reg| BlueField\ |reg| SmartNIC
394
395   * Mellanox\ |reg| BlueField\ |reg| 2 SmartNIC MT41686 - MBF2H332A-AEEOT_A1 (2x25G)
396
397     * Host interface: PCI Express 3.0 x16
398     * Device ID: 15b3:a2d6
399     * Firmware version: 24.31.1014 and above
400
401   * Embedded software:
402
403     * CentOS Linux release 7.6.1810 (AltArch)
404     * MLNX_OFED 5.4-1.0.3.0 and above
405     * DPDK application running on Arm cores