eventdev: introduce event vector capability
[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 support for Marvell CN10K SoC drivers.**
59
60   Added Marvell CN10K SoC support. Marvell CN10K SoC are based on Octeon 10
61   family of ARM64 processors with ARM Neoverse N2 core with accelerators for
62   packet processing, timers, cryptography, etc.
63
64   * Added common/cnxk driver consisting of common API to be used by
65     net, crypto and event PMD's.
66   * Added mempool/cnxk driver which provides the support for the integrated
67     mempool device.
68
69 * **Enhanced ethdev representor syntax.**
70
71   * Introduced representor type of VF, SF and PF.
72   * Supported sub-function and multi-host in representor syntax::
73
74       representor=#            [0,2-4]      /* Legacy VF compatible.         */
75       representor=[[c#]pf#]vf# c1pf2vf3     /* VF 3 on PF 2 of controller 1. */
76       representor=[[c#]pf#]sf# sf[0,2-1023] /* 1023 SFs.                     */
77       representor=[c#]pf#      c2pf[0,1]    /* 2 PFs on controller 2.        */
78
79 * **Updated Arkville PMD driver.**
80
81   Updated Arkville net driver with new features and improvements, including:
82
83   * Generalized passing meta data between PMD and FPGA, allowing up to 20
84     bytes of user specified information in RX and TX paths.
85
86   * Updated dynamic PMD extensions API using standardized names.
87
88   * Added support for new Atomic Rules PCI device IDs ``0x100f, 0x1010, 0x1017,
89     0x1018, 0x1019``.
90
91 * **Updated Broadcom bnxt driver.**
92
93   * Updated HWRM structures to 1.10.2.15 version.
94
95 * **Updated Hisilicon hns3 driver.**
96
97   * Added support for module EEPROM dumping.
98   * Added support for freeing Tx mbuf on demand.
99   * Added support for copper port in Kunpeng930.
100   * Added support for runtime config to select IO burst function.
101   * Added support for outer UDP checksum in Kunpeng930.
102   * Added support for query Tx descriptor status.
103   * Added support for query Rx descriptor status.
104   * Added support for IEEE 1588 PTP.
105
106 * **Updated Intel iavf driver.**
107
108   Updated the Intel iavf driver with new features and improvements, including:
109
110   * Added flow filter to support GTPU inner L3/L4 fields matching.
111
112 * **Updated Intel ice driver.**
113
114   * Added Intel ice support on Windows.
115
116 * **Updated Marvell OCTEON TX2 ethdev driver.**
117
118   * Added support for flow action port id.
119
120 * **Updated Mellanox mlx5 driver.**
121
122   Updated the Mellanox mlx5 driver with new features and improvements, including:
123
124   * Added support for VXLAN and NVGRE encap as sample actions.
125
126 * **Updated NXP DPAA driver.**
127
128   * Added support for shared ethernet interface.
129   * Added support for external buffers in Tx.
130
131 * **Updated NXP DPAA2 driver.**
132
133   * Added support for traffic management.
134   * Added support for configurable Tx confirmation.
135   * Added support for external buffers in Tx.
136
137 * **Updated Wangxun txgbe driver.**
138
139   * Added support for txgbevf PMD.
140   * Support device arguments to handle AN training for backplane NICs.
141
142 * **Enabled vmxnet3 PMD on Windows.**
143
144 * **Updated the AF_XDP driver.**
145
146   * Added support for preferred busy polling.
147
148 * **Updated Mellanox RegEx PMD.**
149
150   * Added support for multi-segments mbuf.
151
152 * **Introduced period timer mode in eventdev timer adapter.**
153
154   * Added support for periodic timer mode in eventdev timer adapter.
155   * Added support for periodic timer mode in octeontx2 event device driver.
156
157 * **Added event device vector capability.**
158
159   * Added ``rte_event_vector`` data structure which is capable of holding
160     multiple ``uintptr_t`` of the same flow thereby allowing applications
161     to vectorize their pipelines and also reduce the complexity of pipelining
162     the events across multiple stages.
163   * This also reduced the scheduling overhead on a event device.
164
165 * **Updated testpmd.**
166
167   * Added a command line option to configure forced speed for Ethernet port.
168     ``dpdk-testpmd -- --eth-link-speed N``
169   * Added command to display Rx queue used descriptor count.
170     ``show port (port_id) rxq (queue_id) desc used count``
171
172
173 Removed Items
174 -------------
175
176 .. This section should contain removed items in this release. Sample format:
177
178    * Add a short 1-2 sentence description of the removed item
179      in the past tense.
180
181    This section is a comment. Do not overwrite or remove it.
182    Also, make sure to start the actual text at the margin.
183    =======================================================
184
185 * Removed support for Intel DLB V1 hardware. This is not a broad market device,
186   and existing customers already obtain the source code directly from Intel.
187
188
189 API Changes
190 -----------
191
192 .. This section should contain API changes. Sample format:
193
194    * sample: Add a short 1-2 sentence description of the API change
195      which was announced in the previous releases and made in this release.
196      Start with a scope label like "ethdev:".
197      Use fixed width quotes for ``function_names`` or ``struct_names``.
198      Use the past tense.
199
200    This section is a comment. Do not overwrite or remove it.
201    Also, make sure to start the actual text at the margin.
202    =======================================================
203
204 * eal: The experimental TLS API added in ``rte_thread.h`` has been renamed
205   from ``rte_thread_tls_*`` to ``rte_thread_*`` to avoid naming redundancy
206   and confusion with the transport layer security term.
207
208 * pci: The value ``PCI_ANY_ID`` is marked as deprecated
209   and can be replaced with ``RTE_PCI_ANY_ID``.
210
211
212 ABI Changes
213 -----------
214
215 .. This section should contain ABI changes. Sample format:
216
217    * sample: Add a short 1-2 sentence description of the ABI change
218      which was announced in the previous releases and made in this release.
219      Start with a scope label like "ethdev:".
220      Use fixed width quotes for ``function_names`` or ``struct_names``.
221      Use the past tense.
222
223    This section is a comment. Do not overwrite or remove it.
224    Also, make sure to start the actual text at the margin.
225    =======================================================
226
227 * No ABI change that would break compatibility with 20.11.
228
229 * The experimental function ``rte_telemetry_legacy_register`` has been
230   removed from the public API and is now an internal-only function. This
231   function was already marked as internal in the API documentation for it,
232   and was not for use by external applications.
233
234
235 Known Issues
236 ------------
237
238 .. This section should contain new known issues in this release. Sample format:
239
240    * **Add title in present tense with full stop.**
241
242      Add a short 1-2 sentence description of the known issue
243      in the present tense. Add information on any known workarounds.
244
245    This section is a comment. Do not overwrite or remove it.
246    Also, make sure to start the actual text at the margin.
247    =======================================================
248
249
250 Tested Platforms
251 ----------------
252
253 .. This section should contain a list of platforms that were tested
254    with this release.
255
256    The format is:
257
258    * <vendor> platform with <vendor> <type of devices> combinations
259
260      * List of CPU
261      * List of OS
262      * List of devices
263      * Other relevant details...
264
265    This section is a comment. Do not overwrite or remove it.
266    Also, make sure to start the actual text at the margin.
267    =======================================================