cryptodev: add dequeue count parameter in raw API
[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 * **Updated Arkville PMD driver.**
85
86   Updated Arkville net driver with new features and improvements, including:
87
88   * Generalized passing meta data between PMD and FPGA, allowing up to 20
89     bytes of user specified information in RX and TX paths.
90
91   * Updated dynamic PMD extensions API using standardized names.
92
93   * Added support for new Atomic Rules PCI device IDs ``0x100f, 0x1010, 0x1017,
94     0x1018, 0x1019``.
95
96 * **Updated Broadcom bnxt driver.**
97
98   * Updated HWRM structures to 1.10.2.15 version.
99
100 * **Updated Hisilicon hns3 driver.**
101
102   * Added support for module EEPROM dumping.
103   * Added support for freeing Tx mbuf on demand.
104   * Added support for copper port in Kunpeng930.
105   * Added support for runtime config to select IO burst function.
106   * Added support for outer UDP checksum in Kunpeng930.
107   * Added support for query Tx descriptor status.
108   * Added support for query Rx descriptor status.
109   * Added support for IEEE 1588 PTP.
110
111 * **Updated Intel iavf driver.**
112
113   Updated the Intel iavf driver with new features and improvements, including:
114
115   * Added flow filter to support GTPU inner L3/L4 fields matching.
116
117 * **Updated Intel ice driver.**
118
119   * Added Intel ice support on Windows.
120
121 * **Updated Marvell OCTEON TX2 ethdev driver.**
122
123   * Added support for flow action port id.
124
125 * **Updated Mellanox mlx5 driver.**
126
127   Updated the Mellanox mlx5 driver with new features and improvements, including:
128
129   * Added support for VXLAN and NVGRE encap as sample actions.
130
131 * **Updated NXP DPAA driver.**
132
133   * Added support for shared ethernet interface.
134   * Added support for external buffers in Tx.
135
136 * **Updated NXP DPAA2 driver.**
137
138   * Added support for traffic management.
139   * Added support for configurable Tx confirmation.
140   * Added support for external buffers in Tx.
141
142 * **Updated Wangxun txgbe driver.**
143
144   * Added support for txgbevf PMD.
145   * Support device arguments to handle AN training for backplane NICs.
146
147 * **Enabled vmxnet3 PMD on Windows.**
148
149 * **Updated the AF_XDP driver.**
150
151   * Added support for preferred busy polling.
152
153 * **Added support of multiple data-units in cryptodev API.**
154
155   The cryptodev library has been enhanced to allow operations on multiple
156   data-units for AES-XTS algorithm, the data-unit length should be set in the
157   transformation. A capability for it was added too.
158
159 * **Updated the OCTEON TX crypto PMD.**
160
161   * Added support for DIGEST_ENCRYPTED mode in OCTEON TX crypto PMD.
162
163 * **Updated the OCTEON TX2 crypto PMD.**
164
165   * Added support for DIGEST_ENCRYPTED mode in OCTEON TX2 crypto PMD.
166   * Added support in lookaside protocol offload mode for IPsec with
167     UDP encapsulation support for NAT Traversal.
168   * Added support in lookaside protocol offload mode for IPsec with
169     IPv4 transport mode.
170
171 * **Updated Mellanox RegEx PMD.**
172
173   * Added support for multi-segments mbuf.
174
175 * **Introduced period timer mode in eventdev timer adapter.**
176
177   * Added support for periodic timer mode in eventdev timer adapter.
178   * Added support for periodic timer mode in octeontx2 event device driver.
179
180 * **Added event device vector capability.**
181
182   * Added ``rte_event_vector`` data structure which is capable of holding
183     multiple ``uintptr_t`` of the same flow thereby allowing applications
184     to vectorize their pipelines and also reduce the complexity of pipelining
185     the events across multiple stages.
186   * This also reduced the scheduling overhead on a event device.
187
188 * **Updated testpmd.**
189
190   * Added a command line option to configure forced speed for Ethernet port.
191     ``dpdk-testpmd -- --eth-link-speed N``
192   * Added command to display Rx queue used descriptor count.
193     ``show port (port_id) rxq (queue_id) desc used count``
194
195 * **Updated ipsec-secgw sample application.**
196
197   * Updated the ``ipsec-secgw`` sample application with UDP encapsulation
198     support for NAT Traversal.
199
200
201 Removed Items
202 -------------
203
204 .. This section should contain removed items in this release. Sample format:
205
206    * Add a short 1-2 sentence description of the removed item
207      in the past tense.
208
209    This section is a comment. Do not overwrite or remove it.
210    Also, make sure to start the actual text at the margin.
211    =======================================================
212
213 * Removed support for Intel DLB V1 hardware. This is not a broad market device,
214   and existing customers already obtain the source code directly from Intel.
215
216
217 API Changes
218 -----------
219
220 .. This section should contain API changes. Sample format:
221
222    * sample: Add a short 1-2 sentence description of the API change
223      which was announced in the previous releases and made in this release.
224      Start with a scope label like "ethdev:".
225      Use fixed width quotes for ``function_names`` or ``struct_names``.
226      Use 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 * eal: The experimental TLS API added in ``rte_thread.h`` has been renamed
233   from ``rte_thread_tls_*`` to ``rte_thread_*`` to avoid naming redundancy
234   and confusion with the transport layer security term.
235
236 * pci: The value ``PCI_ANY_ID`` is marked as deprecated
237   and can be replaced with ``RTE_PCI_ANY_ID``.
238
239 * cryptodev: The experimental raw data path API for dequeue
240   ``rte_cryptodev_raw_dequeue_burst`` got a new parameter
241   ``max_nb_to_dequeue`` to provide flexible control on dequeue.
242
243
244 ABI Changes
245 -----------
246
247 .. This section should contain ABI changes. Sample format:
248
249    * sample: Add a short 1-2 sentence description of the ABI change
250      which was announced in the previous releases and made in this release.
251      Start with a scope label like "ethdev:".
252      Use fixed width quotes for ``function_names`` or ``struct_names``.
253      Use the past tense.
254
255    This section is a comment. Do not overwrite or remove it.
256    Also, make sure to start the actual text at the margin.
257    =======================================================
258
259 * No ABI change that would break compatibility with 20.11.
260
261 * The experimental function ``rte_telemetry_legacy_register`` has been
262   removed from the public API and is now an internal-only function. This
263   function was already marked as internal in the API documentation for it,
264   and was not for use by external applications.
265
266
267 Known Issues
268 ------------
269
270 .. This section should contain new known issues in this release. Sample format:
271
272    * **Add title in present tense with full stop.**
273
274      Add a short 1-2 sentence description of the known issue
275      in the present tense. Add information on any known workarounds.
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
282 Tested Platforms
283 ----------------
284
285 .. This section should contain a list of platforms that were tested
286    with this release.
287
288    The format is:
289
290    * <vendor> platform with <vendor> <type of devices> combinations
291
292      * List of CPU
293      * List of OS
294      * List of devices
295      * Other relevant details...
296
297    This section is a comment. Do not overwrite or remove it.
298    Also, make sure to start the actual text at the margin.
299    =======================================================