raw/cnxk_bphy: support changing CPRI misc settings
[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 Rx queue available descriptors threshold and event.**
83
84   Added ethdev API and corresponding driver operations to set Rx queue
85   available descriptors threshold and query for queues with reached
86   threshold when a new event ``RTE_ETH_EVENT_RX_AVAIL_THRESH`` is received.
87
88 * **Added telemetry for module EEPROM.**
89
90   Added telemetry command to dump module EEPROM.
91   Added support for module EEPROM information format defined in:
92
93     * SFF-8079 revision 1.7
94     * SFF-8472 revision 12.0
95     * SFF-8636 revision 2.7
96
97 * **Added vhost API to get the number of in-flight packets.**
98
99   Added an API which can get the number of in-flight packets in
100   vhost async data path without using lock.
101
102 * **Added vhost async dequeue API to receive packets from guest.**
103
104   Added vhost async dequeue API which can leverage DMA devices to
105   accelerate receiving packets from guest.
106
107 * **Added vhost API to get the device type of a vDPA device.**
108
109   Added an API which can get the device type of vDPA device.
110
111 * **Updated Amazon ena driver.**
112
113   The new driver version (v2.7.0) includes:
114
115   * Added fast mbuf free feature support.
116   * Added ``enable_llq`` device argument for controlling the PMD LLQ
117     (Low Latency Queue) mode.
118
119 * **Updated Atomic Rules' Arkville PMD.**
120
121   * A firmware version update to Arkville 22.07 is required.
122   * Added support for Atomic Rules PCI device IDs ``0x101a, 0x101b, 0x101c``.
123   * Added PMD support for virtual functions and vfio_pci driver.
124
125 * **Updated Intel iavf driver.**
126
127   * Added Tx QoS queue rate limitation support.
128   * Added quanta size configuration support.
129   * Added ``DEV_RX_OFFLOAD_TIMESTAMP`` support.
130   * Added Protocol Agnostic Flow Offloading support in AVF FDIR and RSS.
131
132 * **Updated Intel ice driver.**
133
134  * Added support for RSS RETA configure in DCF mode.
135  * Added support for RSS HASH configure in DCF mode.
136  * Added support for MTU configure in DCF mode.
137  * Added support for promisc configuration in DCF mode.
138  * Added support for MAC configuration in DCF mode.
139  * Added support for VLAN filter and offload configuration in DCF mode.
140  * Added Tx QoS queue / queue group rate limitation configure support.
141  * Added Tx QoS queue / queue group priority configuration support.
142  * Added Tx QoS queue weight configuration support.
143
144 * **Updated Intel igc driver.**
145
146   Added Intel Foxville I226 devices in ``igc`` driver.
147   See the doc:`../nics/igc` NIC guide for more details.
148
149 * **Updated Mellanox mlx5 driver.**
150
151   * Added support for promiscuous mode on Windows.
152   * Added support for MTU on Windows.
153   * Added matching and RSS on IPsec ESP.
154
155 * **Updated VMware vmxnet3 networking driver.**
156
157   * Added version 5 support.
158   * Added RETA query and RETA update support.
159   * Added version 6 support with some new features:
160
161     * Increased maximum MTU up to 9190;
162     * Increased maximum number of Rx and Tx queues;
163     * Removed power-of-two limitations on Rx and Tx queue size;
164     * Extended interrupt structures (required for additional queues).
165
166 * **Updated Wangxun ngbe driver.**
167
168   * Added support for yt8531s PHY.
169
170 * **Added Elliptic Curve Diffie-Hellman (ECDH) algorithm in cryptodev.**
171
172   Added support for Elliptic Curve Diffie Hellman (ECDH) asymmetric
173   algorithm in cryptodev.
174
175 * **Updated Marvell cnxk crypto driver.**
176
177   * Added AH mode support in lookaside protocol (IPsec) for CN9K & CN10K.
178   * Added AES-GMAC support in lookaside protocol (IPsec) for CN9K & CN10K.
179
180 * **Updated Intel QuickAssist Technology (QAT) crypto PMD.**
181
182   * Added support for secp384r1 elliptic curve.
183
184 * **Added eventdev API to quiesce an event port.**
185
186   Added the function ``rte_event_port_quiesce()``
187   to quiesce any lcore-specific resources consumed by the event port,
188   when the lcore is no more associated with an event port.
189
190 * **Added support for setting queue attributes at runtime in eventdev.**
191
192   Added new API ``rte_event_queue_attr_set()``, to set event queue attributes
193   at runtime.
194
195 * **Added new queues attributes weight and affinity in eventdev.**
196
197   Defined new event queue attributes weight and affinity as below:
198
199   * ``RTE_EVENT_QUEUE_ATTR_WEIGHT``
200   * ``RTE_EVENT_QUEUE_ATTR_AFFINITY``
201
202 * **Added telemetry to dmadev library.**
203
204   Added telemetry callback functions which allow for a list of DMA devices,
205   statistics and other DMA device information to be queried.
206
207 * **Added scalar version of the LPM library.**
208
209   Added scalar implementation of ``rte_lpm_lookupx4``.
210   This is a fall-back implementation for platforms that
211   don't support vector operations.
212
213 * **Merged l3fwd-acl into l3fwd example.**
214
215   Merged l3fwd-acl code into l3fwd as l3fwd-acl contains duplicate
216   and common functions to l3fwd.
217
218
219 Removed Items
220 -------------
221
222 .. This section should contain removed items in this release. Sample format:
223
224    * Add a short 1-2 sentence description of the removed item
225      in the past tense.
226
227    This section is a comment. Do not overwrite or remove it.
228    Also, make sure to start the actual text at the margin.
229    =======================================================
230
231
232 API Changes
233 -----------
234
235 .. This section should contain API changes. Sample format:
236
237    * sample: Add a short 1-2 sentence description of the API change
238      which was announced in the previous releases and made in this release.
239      Start with a scope label like "ethdev:".
240      Use fixed width quotes for ``function_names`` or ``struct_names``.
241      Use the past tense.
242
243    This section is a comment. Do not overwrite or remove it.
244    Also, make sure to start the actual text at the margin.
245    =======================================================
246
247 * The DPDK header file ``rte_altivec.h``,
248   which is a wrapper for the PPC header file ``altivec.h``,
249   undefines the AltiVec keyword ``vector``.
250   The alternative keyword ``__vector`` should be used instead.
251
252 * Experimental structures ``struct rte_mtr_params``
253   and ``struct rte_mtr_capabilities`` updated to support
254   protocol based input color for meter.
255
256
257 ABI Changes
258 -----------
259
260 .. This section should contain ABI changes. Sample format:
261
262    * sample: Add a short 1-2 sentence description of the ABI change
263      which was announced in the previous releases and made in this release.
264      Start with a scope label like "ethdev:".
265      Use fixed width quotes for ``function_names`` or ``struct_names``.
266      Use the past tense.
267
268    This section is a comment. Do not overwrite or remove it.
269    Also, make sure to start the actual text at the margin.
270    =======================================================
271
272 * No ABI change that would break compatibility with 21.11.
273
274
275 Known Issues
276 ------------
277
278 .. This section should contain new known issues in this release. Sample format:
279
280    * **Add title in present tense with full stop.**
281
282      Add a short 1-2 sentence description of the known issue
283      in the present tense. Add information on any known workarounds.
284
285    This section is a comment. Do not overwrite or remove it.
286    Also, make sure to start the actual text at the margin.
287    =======================================================
288
289
290 Tested Platforms
291 ----------------
292
293 .. This section should contain a list of platforms that were tested
294    with this release.
295
296    The format is:
297
298    * <vendor> platform with <vendor> <type of devices> combinations
299
300      * List of CPU
301      * List of OS
302      * List of devices
303      * Other relevant details...
304
305    This section is a comment. Do not overwrite or remove it.
306    Also, make sure to start the actual text at the margin.
307    =======================================================