1 .. SPDX-License-Identifier: BSD-3-Clause
2 Copyright 2021 The DPDK contributors
4 .. include:: <isonum.txt>
12 * **Added ability to reuse hugepages in Linux.**
14 It is now possible to reuse files in hugetlbfs to speed up hugepage mapping,
15 which may be useful for fast restart and large allocations.
16 The new mode is activated with ``--huge-unlink=never``
17 and has security implications, refer to the user and programmer guides.
19 * **Added functions to calculate UDP/TCP checksum in mbuf.**
21 Added the following functions to calculate UDP/TCP checksum of packets
22 which can be over multi-segments:
24 - ``rte_ipv4_udptcp_cksum_mbuf()``
25 - ``rte_ipv4_udptcp_cksum_mbuf_verify()``
26 - ``rte_ipv6_udptcp_cksum_mbuf()``
27 - ``rte_ipv6_udptcp_cksum_mbuf_verify()``
29 * **Added functions to configure the flow engine.**
31 Added the ``rte_flow_configure`` API to configure the flow management
32 engine, allowing preallocation of some resources for better performance.
33 Added ``rte_flow_info_get`` API to retrieve available resources.
35 Added ``rte_flow_template_table_create`` API to group flow rules
36 with the same flow attributes and common matching patterns and actions
37 defined by ``rte_flow_pattern_template_create`` and
38 ``rte_flow_actions_template_create`` respectively.
39 The corresponding functions to destroy these entities are:
40 ``rte_flow_template_table_destroy``, ``rte_flow_pattern_template_destroy``
41 and ``rte_flow_actions_template_destroy``.
43 * **Added functions for asynchronous flow rules creation and destruction.**
45 Added the ``rte_flow_async_create`` and ``rte_flow_async_destroy`` APIs
46 to enqueue flow creation/destruction operations asynchronously as well as
47 ``rte_flow_pull`` to poll and retrieve results of these operations and
48 ``rte_flow_push`` to push all the in-flight operations to the NIC.
50 Added asynchronous APIs for indirect actions management:
52 - ``rte_flow_async_action_handle_create``
53 - ``rte_flow_async_action_handle_destroy``
54 - ``rte_flow_async_action_handle_update``
56 * **Added rte_flow support for matching GRE optional fields.**
58 Added ``gre_option`` item in rte_flow to support checksum/key/sequence
59 matching in GRE packets.
61 * **Added new RSS offload types for L2TPv2 in RSS flow.**
63 Added ``RTE_ETH_RSS_L2TPV2`` macro so that he L2TPv2 session ID field can be used as
66 * **Added IP reassembly Ethernet offload APIs to get and set config.**
68 Added IP reassembly offload APIs which provide functions to query IP
69 reassembly capabilities, to set configuration and to get currently set
70 reassembly configuration.
72 * **Added an API to enable queue based priority flow ctrl (PFC).**
74 Added new APIs, ``rte_eth_dev_priority_flow_ctrl_queue_info_get()`` and
75 ``rte_eth_dev_priority_flow_ctrl_queue_configure()`` for queue based
76 priority flow ctrl (PFC).
78 * **Added a private dump API, to dump private info from device.**
80 Added the private dump API which provides a facility for querying private info from a device.
81 There exists many private properties in different PMD drivers and
82 the information in these properties is useful for debugging.
84 * **Updated AF_XDP PMD.**
86 * Added support for libxdp >= v1.2.2.
87 * Re-enabled secondary process support. RX/TX is not supported.
89 * **Updated Amazon ENA PMD.**
91 The new driver version (v2.6.0) introduces bug fixes and improvements, including:
93 * Added new checksum related xstats: ``l3_csum_bad``, ``l4_csum_bad`` and
95 * Added support for the link status configuration.
96 * Added optimized memcpy support for the ARM platforms.
97 * Added ENA admin queue support for the MP applications.
98 * Added free Tx mbuf on demand feature support.
99 * Added ``rte_eth_xstats_get_names_by_id`` API support.
100 * Added ``miss_txc_to`` device argument for setting the Tx completion timeout.
102 * **Updated Cisco enic driver.**
104 * Added rte_flow support for matching GENEVE packets.
105 * Added rte_flow support for matching eCPRI packets.
107 * **Updated Intel iavf driver.**
109 * Added L2TPv2 (include PPP over L2TPv2) RSS support based on outer
110 MAC src/dst address and L2TPv2 session ID.
111 * Added L2TPv2 (include PPP over L2TPv2) FDIR support based on outer
112 MAC src/dst address and L2TPv2 session ID.
113 * Added PPPoL2TPv2oUDP FDIR distribute packets based on inner IP
114 src/dst address and UDP/TCP src/dst port.
116 * **Updated Marvell cnxk ethdev PMD.**
118 * Added queue based priority flow control support for CN9K and CN10K.
119 * Added support for IP reassembly for inline inbound IPsec packets.
120 * Added support for packet marking in traffic manager.
121 * Added support for CNF95xx B0 variant SoC.
123 * **Updated Mellanox mlx5 driver.**
125 * Added support for ConnectX-7 capability to schedule traffic sending on timestamp.
126 * Added WQE based hardware steering support with ``rte_flow_async`` API.
127 * Added steering for external Rx queue created outside the PMD.
128 * Added GRE optional fields matching.
130 * **Updated Wangxun ngbe driver.**
132 * Added support for devices of custom PHY interfaces.
134 - M88E1512 PHY connects to RJ45
135 - M88E1512 PHY connects to RGMII combo
136 - YT8521S PHY connects to SFP
138 * Added LED OEM support.
140 * **Updated Wangxun txgbe driver.**
142 Added LED OEM support.
144 * **Added an API for private user data in asymmetric crypto session.**
146 An API was added to get/set an asymmetric crypto session's user data.
148 * **Updated Marvell cnxk crypto PMD.**
150 * Added SHA256-HMAC support in lookaside protocol (IPsec) for CN10K.
151 * Added SHA384-HMAC support in lookaside protocol (IPsec) for CN9K & CN10K.
152 * Added SHA512-HMAC support in lookaside protocol (IPsec) for CN9K & CN10K.
153 * Added AES-CTR support in lookaside protocol (IPsec) for CN9K & CN10K.
154 * Added NULL cipher support in lookaside protocol (IPsec) for CN9K & CN10K.
155 * Added AES-XCBC support in lookaside protocol (IPsec) for CN9K & CN10K.
156 * Added AES-CMAC support in CN9K & CN10K.
157 * Added ESN and anti-replay support in lookaside protocol (IPsec) for CN10K.
159 * **Updated Intel QuickAssist Technology crypto PMD.**
161 * Added support for CPM2.0b (4942) devices.
162 * Added ECDSA algorithm support.
163 * Added ECPM algorithm support.
165 * **Added an API to retrieve event port id of ethdev Rx adapter.**
167 The new API ``rte_event_eth_rx_adapter_event_port_get()`` was added.
169 * **Added support for Kunpeng930 DMA devices to HiSilicon DMA PMD.**
171 Kunpeng930 DMA devices are now enabled for HiSilicon DMA PMD.
173 * **Added CNXK GPIO PMD.**
175 Added a new rawdevice PMD which allows managing userspace GPIOs and installing
176 custom GPIO interrupt handlers which bypass the kernel. This is especially useful
177 for applications that as well as providing standard dataplane functionality
178 also want to have fast and low latency access to GPIO pin state.
180 See the :doc:`../rawdevs/cnxk_gpio` rawdev guide for more details on this
183 * **Updated testpmd to support software UDP/TCP checksum over multiple segments.**
185 Updated ``rte_ipv4/6_udptcp_cksum_mbuf()`` functions in testpmd csum mode
186 to support software UDP/TCP checksum over multiple segments.
188 * **Added crypto producer mode in test-eventdev.**
190 Crypto producer mode helps to measure performance of OP_NEW and OP_FORWARD
191 modes of event crypto adapter.
197 * **Removed experimental performance thread example application.**
203 * net: added experimental functions ``rte_ipv4_udptcp_cksum_mbuf()``,
204 ``rte_ipv4_udptcp_cksum_mbuf_verify()``, ``rte_ipv6_udptcp_cksum_mbuf()``,
205 ``rte_ipv6_udptcp_cksum_mbuf_verify()``
207 * ethdev: Old public macros and enumeration constants without ``RTE_ETH_`` prefix,
208 which are kept for backward compatibility, are marked as deprecated.
210 * cryptodev: The asymmetric session handling was modified to use a single
211 mempool object. An API ``rte_cryptodev_asym_session_pool_create`` was added
212 to create a mempool with element size big enough to hold the generic asymmetric
213 session header, max size for a device private session data, and user data size.
214 The session structure was moved to ``cryptodev_pmd.h``,
215 hiding it from applications.
216 The API ``rte_cryptodev_asym_session_init`` was removed as the initialization
217 is now moved to ``rte_cryptodev_asym_session_create``, which was updated to
218 return an integer value to indicate initialisation errors.
224 * No ABI change that would break compatibility with 21.11.
230 * **Possible reduced power saving with PMD Power Management.**
232 Users may see reduced power savings when using PMD Power Management.
233 This issue occurs when compiling DPDK applications with GCC-9
234 on platforms with TSX enabled.
235 The function ``rte_power_monitor_multi()`` may return
236 without successfully starting the RTM transaction (``_xbegin()`` fails).
238 There are three workarounds for this issue.
239 Either build DPDK with GCC-11 or newer, build with shared libraries,
240 or build DPDK with fewer drivers.
246 * Intel\ |reg| platforms with Intel\ |reg| NICs combinations
250 * Intel\ |reg| Atom\ |trade| CPU C3758 @ 2.20GHz
251 * Intel\ |reg| Xeon\ |reg| CPU D-1553N @ 2.30GHz
252 * Intel\ |reg| Xeon\ |reg| CPU E5-2680 v2 @ 2.80GHz
253 * Intel\ |reg| Xeon\ |reg| CPU E5-2699 v3 @ 2.30GHz
254 * Intel\ |reg| Xeon\ |reg| CPU E5-2699 v4 @ 2.20GHz
255 * Intel\ |reg| Xeon\ |reg| Gold 6139 CPU @ 2.30GHz
256 * Intel\ |reg| Xeon\ |reg| Gold 6140M CPU @ 2.30GHz
257 * Intel\ |reg| Xeon\ |reg| Gold 6252N CPU @ 2.30GHz
258 * Intel\ |reg| Xeon\ |reg| Gold 6348 CPU @ 2.60GHz
259 * Intel\ |reg| Xeon\ |reg| Platinum 8180 CPU @ 2.50GHz
260 * Intel\ |reg| Xeon\ |reg| Platinum 8180M CPU @ 2.50GHz
261 * Intel\ |reg| Xeon\ |reg| Platinum 8280M CPU @ 2.70GHz
262 * Intel\ |reg| Xeon\ |reg| Platinum 8380 CPU @ 2.30GHz
269 * Red Hat Enterprise Linux Server release 8.4
270 * Red Hat Enterprise Linux Server release 8.5
277 * Intel\ |reg| Ethernet Controller E810-C for SFP (4x25G)
279 * Firmware version: 3.22 0x8000d83c 1.3146.0
280 * Device id (pf/vf): 8086:1593 / 8086:1889
281 * Driver version: 1.8.3_2_g5c2ff303 (ice)
282 * OS Default DDP: 1.3.28.0
283 * COMMS DDP: 1.3.35.0
284 * Wireless Edge DDP: 1.3.8.0
286 * Intel\ |reg| Ethernet Controller E810-C for QSFP (2x100G)
288 * Firmware version: 3.20 0x8000d83e 1.3146.0
289 * Device id (pf/vf): 8086:1592 / 8086:1889
290 * Driver version: 1.8.3_2_g5c2ff303 (ice)
291 * OS Default DDP: 1.3.28.0
292 * COMMS DDP: 1.3.35.0
293 * Wireless Edge DDP: 1.3.8.0
295 * Intel\ |reg| 82599ES 10 Gigabit Ethernet Controller
297 * Firmware version: 0x61bf0001
298 * Device id (pf/vf): 8086:10fb / 8086:10ed
299 * Driver version(in-tree): 5.1.0-k (ixgbe)
300 * Driver version(out-tree): 5.13.4 (ixgbe)
302 * Intel\ |reg| Ethernet Converged Network Adapter X710-DA4 (4x10G)
304 * Firmware version(PF): 8.30 0x8000a49d 1.2926.0
305 * Firmware version(VF): 8.50 0x8000b6d9 1.3082.0
306 * Device id (pf/vf): 8086:1572 / 8086:154c
307 * Driver version: 2.17.15 (i40e)
309 * Intel\ |reg| Corporation Ethernet Connection X722 for 10GbE SFP+ (2x10G)
311 * Firmware version: 5.50 0x80003327 1.3082.0
312 * Device id (pf/vf): 8086:37d0 / 8086:37cd
313 * Driver version(out-tree): 2.17.15 (i40e)
314 * Driver version(in-tree): 2.8.20-k (i40e)
316 * Intel\ |reg| Corporation Ethernet Connection X722 for 10GBASE-T
318 * Firmware version: 5.50 0x800032e0 1.2935.0
319 * Device id (pf/vf): 8086:37d2 / 8086:37cd
320 * Driver version(out-tree): 2.17.15 (i40e)
321 * Driver version(in-tree): 2.8.20-k (i40e)
323 * Intel\ |reg| Ethernet Converged Network Adapter XXV710-DA2 (2x25G)
325 * Firmware version(PF): 8.30 0x8000a483 1.2926.0
326 * Firmware version(VF): 8.50 0x8000b703 1.3082.0
327 * Device id (pf/vf): 8086:158b / 8086:154c
328 * Driver version: 2.17.15 (i40e)
330 * Intel\ |reg| Ethernet Converged Network Adapter XL710-QDA2 (2X40G)
332 * Firmware version(PF): 8.30 0x8000a4ae 1.2926.0
333 * Firmware version(VF): 8.50 0x8000b6c7 1.3082.0
334 * Device id (pf/vf): 8086:1583 / 8086:154c
335 * Driver version: 2.17.15 (i40e)
337 * Intel\ |reg| Ethernet Converged Network Adapter X710-T2L
339 * Firmware version: 8.30 0x8000a489 1.2879.0
340 * Device id (pf): 8086:15ff
341 * Driver version: 2.17.15 (i40e)
343 * Intel\ |reg| platforms with Mellanox\ |reg| NICs combinations
347 * Intel\ |reg| Xeon\ |reg| Gold 6154 CPU @ 3.00GHz
348 * Intel\ |reg| Xeon\ |reg| CPU E5-2697A v4 @ 2.60GHz
349 * Intel\ |reg| Xeon\ |reg| CPU E5-2697 v3 @ 2.60GHz
350 * Intel\ |reg| Xeon\ |reg| CPU E5-2680 v2 @ 2.80GHz
351 * Intel\ |reg| Xeon\ |reg| CPU E5-2670 0 @ 2.60GHz
352 * Intel\ |reg| Xeon\ |reg| CPU E5-2650 v4 @ 2.20GHz
353 * Intel\ |reg| Xeon\ |reg| CPU E5-2650 v3 @ 2.30GHz
354 * Intel\ |reg| Xeon\ |reg| CPU E5-2640 @ 2.50GHz
355 * Intel\ |reg| Xeon\ |reg| CPU E5-2650 0 @ 2.00GHz
356 * Intel\ |reg| Xeon\ |reg| CPU E5-2620 v4 @ 2.10GHz
360 * Red Hat Enterprise Linux release 8.2 (Ootpa)
361 * Red Hat Enterprise Linux Server release 7.8 (Maipo)
362 * Red Hat Enterprise Linux Server release 7.6 (Maipo)
363 * Red Hat Enterprise Linux Server release 7.5 (Maipo)
364 * Red Hat Enterprise Linux Server release 7.4 (Maipo)
365 * Red Hat Enterprise Linux Server release 7.3 (Maipo)
366 * Red Hat Enterprise Linux Server release 7.2 (Maipo)
370 * SUSE Enterprise Linux 15 SP2
371 * SUSE Enterprise Linux 12 SP4
375 * MLNX_OFED 5.5-1.0.3.2 and above
376 * MLNX_OFED 5.4-3.1.0.0
380 * Linux 5.17.0-rc4 and above
384 * rdma-core-39.0 and above
388 * Mellanox\ |reg| ConnectX\ |reg|-3 Pro 40G MCX354A-FCC_Ax (2x40G)
390 * Host interface: PCI Express 3.0 x8
391 * Device ID: 15b3:1007
392 * Firmware version: 2.42.5000
394 * Mellanox\ |reg| ConnectX\ |reg|-3 Pro 40G MCX354A-FCCT (2x40G)
396 * Host interface: PCI Express 3.0 x8
397 * Device ID: 15b3:1007
398 * Firmware version: 2.42.5000
400 * Mellanox\ |reg| ConnectX\ |reg|-4 Lx 25G MCX4121A-ACAT (2x25G)
402 * Host interface: PCI Express 3.0 x8
403 * Device ID: 15b3:1015
404 * Firmware version: 14.32.1010 and above
406 * Mellanox\ |reg| ConnectX\ |reg|-4 Lx 50G MCX4131A-GCAT (1x50G)
408 * Host interface: PCI Express 3.0 x8
409 * Device ID: 15b3:1015
410 * Firmware version: 14.32.1010 and above
412 * Mellanox\ |reg| ConnectX\ |reg|-5 100G MCX516A-CCAT (2x100G)
414 * Host interface: PCI Express 3.0 x16
415 * Device ID: 15b3:1017
416 * Firmware version: 16.32.1010 and above
418 * Mellanox\ |reg| ConnectX\ |reg|-5 100G MCX556A-ECAT (2x100G)
420 * Host interface: PCI Express 3.0 x16
421 * Device ID: 15b3:1017
422 * Firmware version: 16.32.1010 and above
424 * Mellanox\ |reg| ConnectX\ |reg|-5 100G MCX556A-EDAT (2x100G)
426 * Host interface: PCI Express 3.0 x16
427 * Device ID: 15b3:1017
428 * Firmware version: 16.32.1010 and above
430 * Mellanox\ |reg| ConnectX\ |reg|-5 Ex EN 100G MCX516A-CDAT (2x100G)
432 * Host interface: PCI Express 4.0 x16
433 * Device ID: 15b3:1019
434 * Firmware version: 16.32.1010 and above
436 * Mellanox\ |reg| ConnectX\ |reg|-6 Dx EN 100G MCX623106AN-CDAT (2x100G)
438 * Host interface: PCI Express 4.0 x16
439 * Device ID: 15b3:101d
440 * Firmware version: 22.32.1010 and above
442 * Mellanox\ |reg| ConnectX\ |reg|-6 Lx EN 25G MCX631102AN-ADAT (2x25G)
444 * Host interface: PCI Express 4.0 x8
445 * Device ID: 15b3:101f
446 * Firmware version: 26.32.1010 and above
448 * Mellanox\ |reg| BlueField\ |reg| SmartNIC
450 * Mellanox\ |reg| BlueField\ |reg| 2 SmartNIC MT41686 - MBF2H332A-AEEOT_A1 (2x25G)
452 * Host interface: PCI Express 3.0 x16
453 * Device ID: 15b3:a2d6
454 * Firmware version: 24.32.2004 and above
459 * MLNX_OFED 5.5-2.1.7.0 and above
460 * DPDK application running on Arm cores
462 * IBM Power 9 platforms with Mellanox\ |reg| NICs combinations
466 * POWER9 2.2 (pvr 004e 1202)
470 * Red Hat Enterprise Linux Server release 8.2
474 * Mellanox\ |reg| ConnectX\ |reg|-5 100G MCX556A-ECAT (2x100G)
476 * Host interface: PCI Express 4.0 x16
477 * Device ID: 15b3:1017
478 * Firmware version: 16.32.1010
480 * Mellanox\ |reg| ConnectX\ |reg|-6 Dx 100G MCX623106AN-CDAT (2x100G)
482 * Host interface: PCI Express 4.0 x16
483 * Device ID: 15b3:101d
484 * Firmware version: 22.32.1010
488 * MLNX_OFED 5.5-1.0.3.2