1 .. SPDX-License-Identifier: BSD-3-Clause
2 Copyright 2021 The DPDK contributors
4 .. include:: <isonum.txt>
9 .. **Read this first.**
11 The text in the sections below explains how to update the release notes.
13 Use proper spelling, capitalization and punctuation in all sections.
15 Variable and config names should be quoted as fixed width text:
18 Build the docs and view the output file to ensure the changes are correct::
21 xdg-open build/doc/html/guides/rel_notes/release_21_05.html
27 .. This section should contain new features added in this release.
30 * **Add a title in the past tense with a full stop.**
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.
36 If the feature adds a lot of sub-features you can use a bullet list
39 * Added feature foo to do something.
40 * Enhanced feature bar to do something else.
42 Refer to the previous release notes for examples.
44 Suggested order in release notes items:
45 * Core libs (EAL, mempool, ring, mbuf, buses)
46 * Device abstraction libs and PMDs
48 - cryptodev (lib, PMDs)
49 - eventdev (lib, PMDs)
52 * Apps, Examples, Tools (if significant)
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 =======================================================
58 * **Added phase-fair lock.**
60 Phase-fair lock provides fairness guarantees.
61 It has two ticket pools, one for readers and one for writers.
63 * **Added support for Marvell CN10K SoC drivers.**
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.
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
74 * **Enhanced ethdev representor syntax.**
76 * Introduced representor type of VF, SF and PF.
77 * Supported sub-function and multi-host in representor syntax::
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. */
84 * **Added queue state in queried Rx/Tx queue info.**
86 * Added new field ``queue_state`` to ``rte_eth_rxq_info`` structure to
87 provide indicated Rx queue state.
88 * Added new field ``queue_state`` to ``rte_eth_txq_info`` structure to
89 provide indicated Tx queue state.
91 * **Updated meter API.**
93 * Added packet mode in the meter profile parameters data structures
94 to support metering traffic by packet per second (PPS),
95 in addition to the initial bytes per second (BPS) mode (value 0).
96 * Added support of pre-defined meter policy via flow action list per color.
98 * **Added packet integrity match to flow rules.**
100 * Added ``RTE_FLOW_ITEM_TYPE_INTEGRITY`` flow item.
101 * Added ``rte_flow_item_integrity`` data structure.
103 * **Added TCP connection tracking offload in flow API.**
105 * Added conntrack item and action for stateful connection offload.
107 * **Updated Arkville PMD driver.**
109 Updated Arkville net driver with new features and improvements, including:
111 * Generalized passing meta data between PMD and FPGA, allowing up to 20
112 bytes of user specified information in RX and TX paths.
114 * Updated dynamic PMD extensions API using standardized names.
116 * Added support for new Atomic Rules PCI device IDs ``0x100f, 0x1010, 0x1017,
119 * **Updated Broadcom bnxt driver.**
121 * Updated HWRM structures to 1.10.2.15 version.
123 * **Updated Hisilicon hns3 driver.**
125 * Added support for module EEPROM dumping.
126 * Added support for freeing Tx mbuf on demand.
127 * Added support for copper port in Kunpeng930.
128 * Added support for runtime config to select IO burst function.
129 * Added support for outer UDP checksum in Kunpeng930.
130 * Added support for query Tx descriptor status.
131 * Added support for query Rx descriptor status.
132 * Added support for IEEE 1588 PTP.
134 * **Updated Intel iavf driver.**
136 Updated the Intel iavf driver with new features and improvements, including:
138 * Added flow filter to support GTPU inner L3/L4 fields matching.
139 * In AVX512 code, added the new RX and TX paths to use the HW offload
140 features. When the HW offload features are configured to be used, the
141 offload paths are chosen automatically. In parallel the support of HW
142 offload features was removed from the legacy AVX512 paths.
144 * **Updated Intel ice driver.**
146 * Added Intel ice support on Windows.
147 * Added GTPU TEID support for DCF switch filter.
148 * Added flow priority support for DCF switch filter.
150 * **Updated Marvell OCTEON TX2 ethdev driver.**
152 * Added support for flow action port id.
154 * **Updated Mellanox mlx5 driver.**
156 Updated the Mellanox mlx5 driver with new features and improvements, including:
158 * Added support for VXLAN and NVGRE encap as sample actions.
159 * Support push VLAN on ingress traffic and pop VLAN on egress traffic in E-Switch mode.
160 * Added support for ASO (Advanced Steering Operation) meter.
162 * **Updated NXP DPAA driver.**
164 * Added support for shared ethernet interface.
165 * Added support for external buffers in Tx.
167 * **Updated NXP DPAA2 driver.**
169 * Added support for traffic management.
170 * Added support for configurable Tx confirmation.
171 * Added support for external buffers in Tx.
173 * **Updated Wangxun txgbe driver.**
175 * Added support for txgbevf PMD.
176 * Support device arguments to handle AN training for backplane NICs.
178 * **Enabled vmxnet3 PMD on Windows.**
180 * **Enabled libpcap-based PMD on Windows.**
182 A libpcap distribution, such as Npcap or WinPcap, is required to run the PMD.
184 * **Updated the AF_XDP driver.**
186 * Added support for preferred busy polling.
188 * **Added support of multiple data-units in cryptodev API.**
190 The cryptodev library has been enhanced to allow operations on multiple
191 data-units for AES-XTS algorithm, the data-unit length should be set in the
192 transformation. A capability for it was added too.
194 * **Added a cryptodev feature flag to support cipher wrapped keys.**
196 A new feature flag has been added to allow application to provide
197 cipher wrapped keys in session xforms.
199 * **Updated the OCTEON TX crypto PMD.**
201 * Added support for DIGEST_ENCRYPTED mode in OCTEON TX crypto PMD.
203 * **Updated the OCTEON TX2 crypto PMD.**
205 * Added support for DIGEST_ENCRYPTED mode in OCTEON TX2 crypto PMD.
206 * Added support in lookaside protocol offload mode for IPsec with
207 UDP encapsulation support for NAT Traversal.
208 * Added support in lookaside protocol offload mode for IPsec with
211 * **Updated Mellanox RegEx PMD.**
213 * Added support for multi-segments mbuf.
215 * **Introduced period timer mode in eventdev timer adapter.**
217 * Added support for periodic timer mode in eventdev timer adapter.
218 * Added support for periodic timer mode in octeontx2 event device driver.
220 * **Added event device vector capability.**
222 * Added ``rte_event_vector`` data structure which is capable of holding
223 multiple ``uintptr_t`` of the same flow thereby allowing applications
224 to vectorize their pipelines and also reduce the complexity of pipelining
225 the events across multiple stages.
226 * This also reduced the scheduling overhead on a event device.
228 * **Added Predictable RSS functionality to the Toeplitz hash library.**
230 Added feature for finding collisions of the Toeplitz hash function -
231 the hash function used in NICs to spread the traffic among the queues.
232 It can be used to get predictable mapping of the flows.
234 * **Updated testpmd.**
236 * Added a command line option to configure forced speed for Ethernet port.
237 ``dpdk-testpmd -- --eth-link-speed N``
238 * Added command to show link flow control info.
239 ``show port (port_id) flow_ctrl``
240 * Added command to display Rx queue used descriptor count.
241 ``show port (port_id) rxq (queue_id) desc used count``
242 * Added command to cleanup a Tx queue's mbuf on a port.
243 ``port cleanup (port_id) txq (queue_id) (free_cnt)``
244 * Added command to dump internal representation information of single flow.
245 ``flow dump (port_id) rule (rule_id)``
246 * Added commands to create and delete meter policy.
247 ``add port meter policy (port_id) (policy_id) ...``
248 * Added commands to construct conntrack context and relevant indirect
249 action handle creation, update for conntrack action as well as conntrack
252 * **Added support for the FIB lookup method in the l3fwd example app.**
254 Previously the l3fwd sample app only supported LPM and EM lookup methods,
255 the app now supports the Forwarding Information Base (FIB) lookup method.
257 * **Updated ipsec-secgw sample application.**
259 * Updated the ``ipsec-secgw`` sample application with UDP encapsulation
260 support for NAT Traversal.
262 * **Enhanced crypto adapter forward mode.**
264 * Added ``rte_event_crypto_adapter_enqueue()`` API to enqueue events to crypto
265 adapter if forward mode is supported by driver.
266 * Added support for crypto adapter forward mode in octeontx2 event and crypto
273 .. This section should contain removed items in this release. Sample format:
275 * Add a short 1-2 sentence description of the removed item
278 This section is a comment. Do not overwrite or remove it.
279 Also, make sure to start the actual text at the margin.
280 =======================================================
282 * Removed support for Intel DLB V1 hardware. This is not a broad market device,
283 and existing customers already obtain the source code directly from Intel.
289 .. This section should contain API changes. Sample format:
291 * sample: Add a short 1-2 sentence description of the API change
292 which was announced in the previous releases and made in this release.
293 Start with a scope label like "ethdev:".
294 Use fixed width quotes for ``function_names`` or ``struct_names``.
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 =======================================================
301 * eal: The experimental TLS API added in ``rte_thread.h`` has been renamed
302 from ``rte_thread_tls_*`` to ``rte_thread_*`` to avoid naming redundancy
303 and confusion with the transport layer security term.
305 * pci: The value ``PCI_ANY_ID`` is marked as deprecated
306 and can be replaced with ``RTE_PCI_ANY_ID``.
308 * ethdev: Added a ``rte_flow`` pointer parameter to the function
309 ``rte_flow_dev_dump()`` allowing dump for single flow.
311 * cryptodev: The experimental raw data path API for dequeue
312 ``rte_cryptodev_raw_dequeue_burst`` got a new parameter
313 ``max_nb_to_dequeue`` to provide flexible control on dequeue.
315 * ethdev: The experimental flow API for shared action has been generalized
316 as a flow action handle used in rules through an indirect action.
317 The functions ``rte_flow_shared_action_*`` manipulating the action object
318 are replaced with ``rte_flow_action_handle_*``.
319 The action ``RTE_FLOW_ACTION_TYPE_SHARED`` is deprecated and can be
320 replaced with ``RTE_FLOW_ACTION_TYPE_INDIRECT``.
322 * ethdev: The experimental function ``rte_mtr_policer_actions_update()``,
323 the enum ``rte_mtr_policer_action``, and the struct members
324 ``policer_action_recolor_supported`` and ``policer_action_drop_supported``
331 .. This section should contain ABI changes. Sample format:
333 * sample: Add a short 1-2 sentence description of the ABI change
334 which was announced in the previous releases and made in this release.
335 Start with a scope label like "ethdev:".
336 Use fixed width quotes for ``function_names`` or ``struct_names``.
339 This section is a comment. Do not overwrite or remove it.
340 Also, make sure to start the actual text at the margin.
341 =======================================================
343 * No ABI change that would break compatibility with 20.11.
345 * The experimental function ``rte_telemetry_legacy_register`` has been
346 removed from the public API and is now an internal-only function. This
347 function was already marked as internal in the API documentation for it,
348 and was not for use by external applications.
354 .. This section should contain new known issues in this release. Sample format:
356 * **Add title in present tense with full stop.**
358 Add a short 1-2 sentence description of the known issue
359 in the present tense. Add information on any known workarounds.
361 This section is a comment. Do not overwrite or remove it.
362 Also, make sure to start the actual text at the margin.
363 =======================================================
369 .. This section should contain a list of platforms that were tested
374 * <vendor> platform with <vendor> <type of devices> combinations
379 * Other relevant details...
381 This section is a comment. Do not overwrite or remove it.
382 Also, make sure to start the actual text at the margin.
383 =======================================================