bfd0e899a06ce09867961190af629f9b1ba4fbc0
[dpdk.git] / doc / guides / rel_notes / release_21_05.rst
1 .. SPDX-License-Identifier: BSD-3-Clause
2    Copyright 2021 The DPDK contributors
3
4 .. include:: <isonum.txt>
5
6 DPDK Release 21.05
7 ==================
8
9 .. **Read this first.**
10
11    The text in the sections below explains how to update the release notes.
12
13    Use proper spelling, capitalization and punctuation in all sections.
14
15    Variable and config names should be quoted as fixed width text:
16    ``LIKE_THIS``.
17
18    Build the docs and view the output file to ensure the changes are correct::
19
20       make doc-guides-html
21       xdg-open build/doc/html/guides/rel_notes/release_21_05.html
22
23
24 New Features
25 ------------
26
27 .. This section should contain new features added in this release.
28    Sample format:
29
30    * **Add a title in the past tense with a full stop.**
31
32      Add a short 1-2 sentence description in the past tense.
33      The description should be enough to allow someone scanning
34      the release notes to understand the new feature.
35
36      If the feature adds a lot of sub-features you can use a bullet list
37      like this:
38
39      * Added feature foo to do something.
40      * Enhanced feature bar to do something else.
41
42      Refer to the previous release notes for examples.
43
44      Suggested order in release notes items:
45      * Core libs (EAL, mempool, ring, mbuf, buses)
46      * Device abstraction libs and PMDs
47        - ethdev (lib, PMDs)
48        - cryptodev (lib, PMDs)
49        - eventdev (lib, PMDs)
50        - etc
51      * Other libs
52      * Apps, Examples, Tools (if significant)
53
54      This section is a comment. Do not overwrite or remove it.
55      Also, make sure to start the actual text at the margin.
56      =======================================================
57
58 * **Added phase-fair lock.**
59
60   Phase-fair lock provides fairness guarantees.
61   It has two ticket pools, one for readers and one for writers.
62
63 * **Added support for Marvell CN10K SoC drivers.**
64
65   Added Marvell CN10K SoC support. Marvell CN10K SoC are based on Octeon 10
66   family of ARM64 processors with ARM Neoverse N2 core with accelerators for
67   packet processing, timers, cryptography, etc.
68
69   * Added common/cnxk driver consisting of common API to be used by
70     net, crypto and event PMD's.
71   * Added mempool/cnxk driver which provides the support for the integrated
72     mempool device.
73
74 * **Enhanced ethdev representor syntax.**
75
76   * Introduced representor type of VF, SF and PF.
77   * Supported sub-function and multi-host in representor syntax::
78
79       representor=#            [0,2-4]      /* Legacy VF compatible.         */
80       representor=[[c#]pf#]vf# c1pf2vf3     /* VF 3 on PF 2 of controller 1. */
81       representor=[[c#]pf#]sf# sf[0,2-1023] /* 1023 SFs.                     */
82       representor=[c#]pf#      c2pf[0,1]    /* 2 PFs on controller 2.        */
83
84 * **Added support for meter PPS profile.**
85
86   Added packet mode in the meter profile parameters data structures
87   to support metering traffic by packet per second (PPS),
88   in addition to the initial bytes per second (BPS) mode (value 0).
89
90 * **Updated Arkville PMD driver.**
91
92   Updated Arkville net driver with new features and improvements, including:
93
94   * Generalized passing meta data between PMD and FPGA, allowing up to 20
95     bytes of user specified information in RX and TX paths.
96
97   * Updated dynamic PMD extensions API using standardized names.
98
99   * Added support for new Atomic Rules PCI device IDs ``0x100f, 0x1010, 0x1017,
100     0x1018, 0x1019``.
101
102 * **Updated Broadcom bnxt driver.**
103
104   * Updated HWRM structures to 1.10.2.15 version.
105
106 * **Updated Hisilicon hns3 driver.**
107
108   * Added support for module EEPROM dumping.
109   * Added support for freeing Tx mbuf on demand.
110   * Added support for copper port in Kunpeng930.
111   * Added support for runtime config to select IO burst function.
112   * Added support for outer UDP checksum in Kunpeng930.
113   * Added support for query Tx descriptor status.
114   * Added support for query Rx descriptor status.
115   * Added support for IEEE 1588 PTP.
116
117 * **Updated Intel iavf driver.**
118
119   Updated the Intel iavf driver with new features and improvements, including:
120
121   * Added flow filter to support GTPU inner L3/L4 fields matching.
122   * In AVX512 code, added the new RX and TX paths to use the HW offload
123     features. When the HW offload features are configured to be used, the
124     offload paths are chosen automatically. In parallel the support of HW
125     offload features was removed from the legacy AVX512 paths.
126
127 * **Updated Intel ice driver.**
128
129   * Added Intel ice support on Windows.
130   * Added GTPU TEID support for DCF switch filter.
131
132 * **Updated Marvell OCTEON TX2 ethdev driver.**
133
134   * Added support for flow action port id.
135
136 * **Updated Mellanox mlx5 driver.**
137
138   Updated the Mellanox mlx5 driver with new features and improvements, including:
139
140   * Added support for VXLAN and NVGRE encap as sample actions.
141   * Support push VLAN on ingress traffic and pop VLAN on egress traffic in E-Switch mode.
142
143 * **Updated NXP DPAA driver.**
144
145   * Added support for shared ethernet interface.
146   * Added support for external buffers in Tx.
147
148 * **Updated NXP DPAA2 driver.**
149
150   * Added support for traffic management.
151   * Added support for configurable Tx confirmation.
152   * Added support for external buffers in Tx.
153
154 * **Updated Wangxun txgbe driver.**
155
156   * Added support for txgbevf PMD.
157   * Support device arguments to handle AN training for backplane NICs.
158
159 * **Enabled vmxnet3 PMD on Windows.**
160
161 * **Updated the AF_XDP driver.**
162
163   * Added support for preferred busy polling.
164
165 * **Added support of multiple data-units in cryptodev API.**
166
167   The cryptodev library has been enhanced to allow operations on multiple
168   data-units for AES-XTS algorithm, the data-unit length should be set in the
169   transformation. A capability for it was added too.
170
171 * **Added a cryptodev feature flag to support cipher wrapped keys.**
172
173   A new feature flag has been added to allow application to provide
174   cipher wrapped keys in session xforms.
175
176 * **Updated the OCTEON TX crypto PMD.**
177
178   * Added support for DIGEST_ENCRYPTED mode in OCTEON TX crypto PMD.
179
180 * **Updated the OCTEON TX2 crypto PMD.**
181
182   * Added support for DIGEST_ENCRYPTED mode in OCTEON TX2 crypto PMD.
183   * Added support in lookaside protocol offload mode for IPsec with
184     UDP encapsulation support for NAT Traversal.
185   * Added support in lookaside protocol offload mode for IPsec with
186     IPv4 transport mode.
187
188 * **Updated Mellanox RegEx PMD.**
189
190   * Added support for multi-segments mbuf.
191
192 * **Introduced period timer mode in eventdev timer adapter.**
193
194   * Added support for periodic timer mode in eventdev timer adapter.
195   * Added support for periodic timer mode in octeontx2 event device driver.
196
197 * **Added event device vector capability.**
198
199   * Added ``rte_event_vector`` data structure which is capable of holding
200     multiple ``uintptr_t`` of the same flow thereby allowing applications
201     to vectorize their pipelines and also reduce the complexity of pipelining
202     the events across multiple stages.
203   * This also reduced the scheduling overhead on a event device.
204
205 * **Updated testpmd.**
206
207   * Added a command line option to configure forced speed for Ethernet port.
208     ``dpdk-testpmd -- --eth-link-speed N``
209   * Added command to display Rx queue used descriptor count.
210     ``show port (port_id) rxq (queue_id) desc used count``
211   * Added command to dump internal representation information of single flow.
212     ``flow dump (port_id) rule (rule_id)``
213
214 * **Updated ipsec-secgw sample application.**
215
216   * Updated the ``ipsec-secgw`` sample application with UDP encapsulation
217     support for NAT Traversal.
218
219
220 Removed Items
221 -------------
222
223 .. This section should contain removed items in this release. Sample format:
224
225    * Add a short 1-2 sentence description of the removed item
226      in the past tense.
227
228    This section is a comment. Do not overwrite or remove it.
229    Also, make sure to start the actual text at the margin.
230    =======================================================
231
232 * Removed support for Intel DLB V1 hardware. This is not a broad market device,
233   and existing customers already obtain the source code directly from Intel.
234
235
236 API Changes
237 -----------
238
239 .. This section should contain API changes. Sample format:
240
241    * sample: Add a short 1-2 sentence description of the API change
242      which was announced in the previous releases and made in this release.
243      Start with a scope label like "ethdev:".
244      Use fixed width quotes for ``function_names`` or ``struct_names``.
245      Use the past tense.
246
247    This section is a comment. Do not overwrite or remove it.
248    Also, make sure to start the actual text at the margin.
249    =======================================================
250
251 * eal: The experimental TLS API added in ``rte_thread.h`` has been renamed
252   from ``rte_thread_tls_*`` to ``rte_thread_*`` to avoid naming redundancy
253   and confusion with the transport layer security term.
254
255 * pci: The value ``PCI_ANY_ID`` is marked as deprecated
256   and can be replaced with ``RTE_PCI_ANY_ID``.
257
258 * ethdev: Added a ``rte_flow`` pointer parameter to the function
259   ``rte_flow_dev_dump()`` allowing dump for single flow.
260
261 * cryptodev: The experimental raw data path API for dequeue
262   ``rte_cryptodev_raw_dequeue_burst`` got a new parameter
263   ``max_nb_to_dequeue`` to provide flexible control on dequeue.
264
265
266 ABI Changes
267 -----------
268
269 .. This section should contain ABI changes. Sample format:
270
271    * sample: Add a short 1-2 sentence description of the ABI change
272      which was announced in the previous releases and made in this release.
273      Start with a scope label like "ethdev:".
274      Use fixed width quotes for ``function_names`` or ``struct_names``.
275      Use the past tense.
276
277    This section is a comment. Do not overwrite or remove it.
278    Also, make sure to start the actual text at the margin.
279    =======================================================
280
281 * No ABI change that would break compatibility with 20.11.
282
283 * The experimental function ``rte_telemetry_legacy_register`` has been
284   removed from the public API and is now an internal-only function. This
285   function was already marked as internal in the API documentation for it,
286   and was not for use by external applications.
287
288
289 Known Issues
290 ------------
291
292 .. This section should contain new known issues in this release. Sample format:
293
294    * **Add title in present tense with full stop.**
295
296      Add a short 1-2 sentence description of the known issue
297      in the present tense. Add information on any known workarounds.
298
299    This section is a comment. Do not overwrite or remove it.
300    Also, make sure to start the actual text at the margin.
301    =======================================================
302
303
304 Tested Platforms
305 ----------------
306
307 .. This section should contain a list of platforms that were tested
308    with this release.
309
310    The format is:
311
312    * <vendor> platform with <vendor> <type of devices> combinations
313
314      * List of CPU
315      * List of OS
316      * List of devices
317      * Other relevant details...
318
319    This section is a comment. Do not overwrite or remove it.
320    Also, make sure to start the actual text at the margin.
321    =======================================================