ethdev: introduce IP reassembly offload
[dpdk.git] / doc / guides / rel_notes / release_22_03.rst
1 .. SPDX-License-Identifier: BSD-3-Clause
2    Copyright 2021 The DPDK contributors
3
4 .. include:: <isonum.txt>
5
6 DPDK Release 22.03
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_03.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 ability to reuse hugepages in Linux.**
59
60   It is possible to reuse files in hugetlbfs to speed up hugepage mapping,
61   which may be useful for fast restart and large allocations.
62   The new mode is activated with ``--huge-unlink=never``
63   and has security implications, refer to the user and programmer guides.
64
65 * **Added functions to calculate UDP/TCP checksum in mbuf.**
66
67   * Added the following functions to calculate UDP/TCP checksum of packets
68     which can be over multi-segments:
69     - ``rte_ipv4_udptcp_cksum_mbuf()``
70     - ``rte_ipv4_udptcp_cksum_mbuf_verify()``
71     - ``rte_ipv6_udptcp_cksum_mbuf()``
72     - ``rte_ipv6_udptcp_cksum_mbuf_verify()``
73
74 * **Added new RSS offload types for L2TPv2 in RSS flow.**
75
76   Added macro RTE_ETH_RSS_L2TPV2, now L2TPv2 session ID field can be used as
77   input set for RSS.
78
79 * **Added IP reassembly Ethernet offload API, to get and set config.**
80
81   Added IP reassembly offload APIs which provide functions to query IP
82   reassembly capabilities, to set configuration and to get currently set
83   reassembly configuration.
84
85 * **Added an API to enable queue based priority flow ctrl(PFC).**
86
87   New APIs, ``rte_eth_dev_priority_flow_ctrl_queue_info_get()`` and
88   ``rte_eth_dev_priority_flow_ctrl_queue_configure()``, was added.
89
90 * **Updated AF_XDP PMD**
91
92   * Added support for libxdp >=v1.2.2.
93
94 * **Updated Cisco enic driver.**
95
96   * Added rte_flow support for matching GENEVE packets.
97   * Added rte_flow support for matching eCPRI packets.
98
99 * **Updated Marvell cnxk crypto PMD.**
100
101   * Added SHA256-HMAC support in lookaside protocol (IPsec) for CN10K.
102   * Added SHA384-HMAC support in lookaside protocol (IPsec) for CN9K & CN10K.
103   * Added SHA512-HMAC support in lookaside protocol (IPsec) for CN9K & CN10K.
104   * Added AES-CTR support in lookaside protocol (IPsec) for CN9K & CN10K.
105   * Added NULL cipher support in lookaside protocol (IPsec) for CN9K & CN10K.
106   * Added AES-XCBC support in lookaside protocol (IPsec) for CN9K & CN10K.
107   * Added AES-CMAC support in CN9K & CN10K.
108
109 * **Added an API to retrieve event port id of ethdev Rx adapter.**
110
111   The new API ``rte_event_eth_rx_adapter_event_port_get()`` was added.
112
113 * **Updated testpmd.**
114
115   * Called ``rte_ipv4/6_udptcp_cksum_mbuf()`` functions in testpmd csum mode
116     to support software UDP/TCP checksum over multiple segments.
117
118
119 Removed Items
120 -------------
121
122 .. This section should contain removed items in this release. Sample format:
123
124    * Add a short 1-2 sentence description of the removed item
125      in the past tense.
126
127    This section is a comment. Do not overwrite or remove it.
128    Also, make sure to start the actual text at the margin.
129    =======================================================
130
131 * **Removed experimental performance thread example application.**
132
133
134 API Changes
135 -----------
136
137 .. This section should contain API changes. Sample format:
138
139    * sample: Add a short 1-2 sentence description of the API change
140      which was announced in the previous releases and made in this release.
141      Start with a scope label like "ethdev:".
142      Use fixed width quotes for ``function_names`` or ``struct_names``.
143      Use the past tense.
144
145    This section is a comment. Do not overwrite or remove it.
146    Also, make sure to start the actual text at the margin.
147    =======================================================
148
149 * net: added experimental functions ``rte_ipv4_udptcp_cksum_mbuf()``,
150   ``rte_ipv4_udptcp_cksum_mbuf_verify()``, ``rte_ipv6_udptcp_cksum_mbuf()``,
151   ``rte_ipv6_udptcp_cksum_mbuf_verify()``
152
153 * ethdev: Old public macros and enumeration constants without ``RTE_ETH_`` prefix,
154   which are kept for backward compatibility, are marked as deprecated.
155
156
157 ABI Changes
158 -----------
159
160 .. This section should contain ABI changes. Sample format:
161
162    * sample: Add a short 1-2 sentence description of the ABI change
163      which was announced in the previous releases and made in this release.
164      Start with a scope label like "ethdev:".
165      Use fixed width quotes for ``function_names`` or ``struct_names``.
166      Use the past tense.
167
168    This section is a comment. Do not overwrite or remove it.
169    Also, make sure to start the actual text at the margin.
170    =======================================================
171
172 * No ABI change that would break compatibility with 21.11.
173
174
175 Known Issues
176 ------------
177
178 .. This section should contain new known issues in this release. Sample format:
179
180    * **Add title in present tense with full stop.**
181
182      Add a short 1-2 sentence description of the known issue
183      in the present tense. Add information on any known workarounds.
184
185    This section is a comment. Do not overwrite or remove it.
186    Also, make sure to start the actual text at the margin.
187    =======================================================
188
189
190 Tested Platforms
191 ----------------
192
193 .. This section should contain a list of platforms that were tested
194    with this release.
195
196    The format is:
197
198    * <vendor> platform with <vendor> <type of devices> combinations
199
200      * List of CPU
201      * List of OS
202      * List of devices
203      * Other relevant details...
204
205    This section is a comment. Do not overwrite or remove it.
206    Also, make sure to start the actual text at the margin.
207    =======================================================