net/ena: support fast mbuf free
[dpdk.git] / doc / guides / rel_notes / release_22_07.rst
1 .. SPDX-License-Identifier: BSD-3-Clause
2    Copyright 2022 The DPDK contributors
3
4 .. include:: <isonum.txt>
5
6 DPDK Release 22.07
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       ninja -C build doc
21       xdg-open build/doc/guides/html/rel_notes/release_22_07.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 (ordered alphabetically by vendor name)
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 initial RISC-V architecture support.***
59
60   Added EAL implementation for RISC-V architecture.
61   The initial device the porting was tested on is
62   a HiFive Unmatched development board based on the SiFive Freedom U740 SoC.
63   In theory this implementation should work
64   with any ``rv64gc`` ISA compatible implementation
65   with MMU supporting a reasonable address space size (U740 uses sv39 MMU).
66
67 * **Added Sequence Lock.**
68
69   Added a new synchronization primitive: the sequence lock
70   (seqlock). A seqlock allows for low overhead, parallel reads. The
71   DPDK seqlock uses a spinlock to serialize multiple writing threads.
72
73 * **Added protocol based input color selection for meter.**
74
75   Added new functions ``rte_mtr_color_in_protocol_set()``,
76   ``rte_mtr_color_in_protocol_get()``,
77   ``rte_mtr_color_in_protocol_priority_get()``,
78   ``rte_mtr_meter_vlan_table_update()``
79   and updated ``struct rte_mtr_params`` and ``struct rte_mtr_capabilities`` to
80   support protocol based input color selection for meter.
81
82 * **Added telemetry for module EEPROM.**
83
84   Added telemetry command to dump module EEPROM.
85   Added support for module EEPROM information format defined in:
86
87     * SFF-8079 revision 1.7
88     * SFF-8472 revision 12.0
89     * SFF-8636 revision 2.7
90
91 * **Added vhost API to get the number of in-flight packets.**
92
93   Added an API which can get the number of in-flight packets in
94   vhost async data path without using lock.
95
96 * **Added vhost async dequeue API to receive packets from guest.**
97
98   Added vhost async dequeue API which can leverage DMA devices to
99   accelerate receiving packets from guest.
100
101 * **Added vhost API to get the device type of a vDPA device.**
102
103   Added an API which can get the device type of vDPA device.
104
105 * **Updated Amazon ena driver.**
106
107   The new driver version (v2.7.0) includes:
108
109   * Added fast mbuf free feature support.
110
111 * **Updated Intel iavf driver.**
112
113   * Added Tx QoS queue rate limitation support.
114   * Added quanta size configuration support.
115   * Added ``DEV_RX_OFFLOAD_TIMESTAMP`` support.
116   * Added Protocol Agnostic Flow Offloading support in AVF FDIR and RSS.
117
118 * **Updated Intel ice driver.**
119
120  * Added support for RSS RETA configure in DCF mode.
121  * Added support for RSS HASH configure in DCF mode.
122  * Added support for MTU configure in DCF mode.
123  * Added support for promisc configuration in DCF mode.
124  * Added support for MAC configuration in DCF mode.
125  * Added support for VLAN filter and offload configuration in DCF mode.
126  * Added Tx QoS queue / queue group rate limitation configure support.
127  * Added Tx QoS queue / queue group priority configuration support.
128  * Added Tx QoS queue weight configuration support.
129
130 * **Updated Intel igc driver.**
131
132   Added Intel Foxville I226 devices in ``igc`` driver.
133   See the doc:`../nics/igc` NIC guide for more details.
134
135 * **Updated Mellanox mlx5 driver.**
136
137   * Added support for promiscuous mode on Windows.
138   * Added support for MTU on Windows.
139   * Added matching and RSS on IPsec ESP.
140
141 * **Updated VMware vmxnet3 networking driver.**
142
143   * Added version 5 support.
144   * Added RETA query and RETA update support.
145   * Added version 6 support with some new features:
146
147     * Increased maximum MTU up to 9190;
148     * Increased maximum number of Rx and Tx queues;
149     * Removed power-of-two limitations on Rx and Tx queue size;
150     * Extended interrupt structures (required for additional queues).
151
152 * **Updated Wangxun ngbe driver.**
153
154   * Added support for yt8531s PHY.
155
156 * **Added Elliptic Curve Diffie-Hellman (ECDH) algorithm in cryptodev.**
157
158   Added support for Elliptic Curve Diffie Hellman (ECDH) asymmetric
159   algorithm in cryptodev.
160
161 * **Updated Marvell cnxk crypto driver.**
162
163   * Added AH mode support in lookaside protocol (IPsec) for CN9K & CN10K.
164   * Added AES-GMAC support in lookaside protocol (IPsec) for CN9K & CN10K.
165
166 * **Updated Intel QuickAssist Technology (QAT) crypto PMD.**
167
168   * Added support for secp384r1 elliptic curve.
169
170 * **Added eventdev API to quiesce an event port.**
171
172   Added the function ``rte_event_port_quiesce()``
173   to quiesce any lcore-specific resources consumed by the event port,
174   when the lcore is no more associated with an event port.
175
176 * **Added support for setting queue attributes at runtime in eventdev.**
177
178   Added new API ``rte_event_queue_attr_set()``, to set event queue attributes
179   at runtime.
180
181 * **Added new queues attributes weight and affinity in eventdev.**
182
183   Defined new event queue attributes weight and affinity as below:
184
185   * ``RTE_EVENT_QUEUE_ATTR_WEIGHT``
186   * ``RTE_EVENT_QUEUE_ATTR_AFFINITY``
187
188 * **Added telemetry to dmadev library.**
189
190   Added telemetry callback functions which allow for a list of DMA devices,
191   statistics and other DMA device information to be queried.
192
193 * **Added scalar version of the LPM library.**
194
195   Added scalar implementation of ``rte_lpm_lookupx4``.
196   This is a fall-back implementation for platforms that
197   don't support vector operations.
198
199 * **Merged l3fwd-acl into l3fwd example.**
200
201   Merged l3fwd-acl code into l3fwd as l3fwd-acl contains duplicate
202   and common functions to l3fwd.
203
204
205 Removed Items
206 -------------
207
208 .. This section should contain removed items in this release. Sample format:
209
210    * Add a short 1-2 sentence description of the removed item
211      in the past tense.
212
213    This section is a comment. Do not overwrite or remove it.
214    Also, make sure to start the actual text at the margin.
215    =======================================================
216
217
218 API Changes
219 -----------
220
221 .. This section should contain API changes. Sample format:
222
223    * sample: Add a short 1-2 sentence description of the API change
224      which was announced in the previous releases and made in this release.
225      Start with a scope label like "ethdev:".
226      Use fixed width quotes for ``function_names`` or ``struct_names``.
227      Use the past tense.
228
229    This section is a comment. Do not overwrite or remove it.
230    Also, make sure to start the actual text at the margin.
231    =======================================================
232
233 * The DPDK header file ``rte_altivec.h``,
234   which is a wrapper for the PPC header file ``altivec.h``,
235   undefines the AltiVec keyword ``vector``.
236   The alternative keyword ``__vector`` should be used instead.
237
238 * Experimental structures ``struct rte_mtr_params``
239   and ``struct rte_mtr_capabilities`` updated to support
240   protocol based input color for meter.
241
242
243 ABI Changes
244 -----------
245
246 .. This section should contain ABI changes. Sample format:
247
248    * sample: Add a short 1-2 sentence description of the ABI change
249      which was announced in the previous releases and made in this release.
250      Start with a scope label like "ethdev:".
251      Use fixed width quotes for ``function_names`` or ``struct_names``.
252      Use the past tense.
253
254    This section is a comment. Do not overwrite or remove it.
255    Also, make sure to start the actual text at the margin.
256    =======================================================
257
258 * No ABI change that would break compatibility with 21.11.
259
260
261 Known Issues
262 ------------
263
264 .. This section should contain new known issues in this release. Sample format:
265
266    * **Add title in present tense with full stop.**
267
268      Add a short 1-2 sentence description of the known issue
269      in the present tense. Add information on any known workarounds.
270
271    This section is a comment. Do not overwrite or remove it.
272    Also, make sure to start the actual text at the margin.
273    =======================================================
274
275
276 Tested Platforms
277 ----------------
278
279 .. This section should contain a list of platforms that were tested
280    with this release.
281
282    The format is:
283
284    * <vendor> platform with <vendor> <type of devices> combinations
285
286      * List of CPU
287      * List of OS
288      * List of devices
289      * Other relevant details...
290
291    This section is a comment. Do not overwrite or remove it.
292    Also, make sure to start the actual text at the margin.
293    =======================================================