operations.
* Added multi-process support.
+* **Added IDXD dmadev driver implementation.**
+
+ The IDXD dmadev driver provide device drivers for the Intel DSA devices.
+ This device driver can be used through the generic dmadev API.
+
+* **Added IOAT dmadev driver implementation.**
+
+ The Intel I/O Acceleration Technology (IOAT) dmadev driver provides a device
+ driver for Intel IOAT devices such as Crystal Beach DMA (CBDMA) on Ice Lake,
+ Skylake and Broadwell. This device driver can be used through the generic dmadev API.
+
* **Added support to get all MAC addresses of a device.**
Added ``rte_eth_macaddrs_get`` to allow user to retrieve all Ethernet
Added macros ETH_RSS_IPV4_CHKSUM and ETH_RSS_L4_CHKSUM, now IPv4 and
TCP/UDP/SCTP header checksum field can be used as input set for RSS.
+* **Added L2TPv2 and PPP protocol support in flow API.**
+
+ Added flow pattern items and header formats of L2TPv2 and PPP protocol.
+
* **Added flow flex item.**
The configurable flow flex item provides the capability to introduce
A new API, ``rte_flow_pick_transfer_proxy()``, was added.
+* **Added ethdev shared Rx queue support.**
+
+ * Added new device capability flag and Rx domain field to switch info.
+ * Added share group and share queue ID to Rx queue configuration.
+ * Added testpmd support and dedicate forwarding engine.
+
* **Updated af_packet ethdev driver.**
* Default VLAN strip behavior was changed. VLAN tag won't be stripped
* Implement support for tunnel offload.
* Updated HWRM API to version 1.10.2.44
+* **Updated Intel e1000 emulated driver.**
+
+ * Added Intel e1000 support on Windows.
+
* **Updated Intel iavf driver.**
* Added Intel iavf support on Windows.
* Added IPv4 and L4 (TCP/UDP/SCTP) checksum hash support in RSS flow.
+ * Added PPPoL2TPv2oUDP RSS hash based on inner IP address and TCP/UDP port.
* **Updated Intel ice driver.**
* Added PDCP short MAC-I support.
* Added raw vector datapath API support.
+* **Added framework for consolidation of IPsec_MB dependent SW Crypto PMDs.**
+
+ * The IPsec_MB framework was added to share common code between Intel
+ SW Crypto PMDs that depend on the intel-ipsec-mb library.
+ * Multiprocess support was added for the consolidated PMDs,
+ which requires v1.1 of the intel-ipsec-mb library.
+ * The following PMDs were moved into a single source folder,
+ however their usage and EAL options remain unchanged.
+ * AESNI_MB PMD.
+ * AESNI_GCM PMD.
+ * KASUMI PMD.
+ * SNOW3G PMD.
+ * ZUC PMD.
+ * CHACHA20_POLY1305 - A new PMD added.
+
+* **Updated the aesni_mb crypto PMD.**
+
+ * Added support for ZUC-EEA3-256 and ZUC-EIA3-256.
+
+* **Added digest appended ops support for Snow3G PMD.**
+
+ * Added support for out-of-place auth-cipher operations that encrypt
+ the digest along with the rest of the raw data.
+ * Added support for partially encrypted digest when using auth-cipher
+ operations.
+
* **Updated the ACC100 bbdev PMD.**
Added support for more comprehensive CRC options.
* Added tests to validate packets hard expiry.
* Added tests to verify tunnel header verification in IPsec inbound.
* Added tests to verify inner checksum.
+ * Added tests for CHACHA20_POLY1305 PMD, including a new testcase for SGL OOP.
+
+* **Revised packet capture framework.**
+
+ * New dpdk-dumpcap program that has most of the features
+ of the wireshark dumpcap utility including:
+ capture of multiple interfaces, filtering,
+ and stopping after number of bytes, packets.
+ * New library for writing pcapng packet capture files.
+ * Enhancements to the pdump library to support:
+ * Packet filter with BPF.
+ * Pcapng format with timestamps and meta-data.
+ * Fixes packet capture with stripped VLAN tags.
Removed Items
removed. Its usages have been replaced by a new function
``rte_kvargs_get_with_value()``.
+* cmdline: ``cmdline_stdin_exit()`` now frees the ``cmdline`` structure.
+ Calls to ``cmdline_free()`` after it need to be deleted from applications.
+
+* cmdline: Made ``cmdline`` structure definition hidden on Linux and FreeBSD.
+
+* cmdline: Made ``rdline`` structure definition hidden. Functions are added
+ to dynamically allocate and free it, and to access user data in callbacks.
+
* mempool: Added ``RTE_MEMPOOL_F_NON_IO`` flag to give a hint to DPDK components
that objects from this pool will not be used for device IO (e.g. DMA).
* mempool: The mempool API macros ``MEMPOOL_PG_*`` are deprecated and
will be removed in DPDK 22.11.
+* mbuf: The mbuf offload flags ``PKT_*`` are renamed as ``RTE_MBUF_F_*``. A
+ compatibility layer will be kept until DPDK 22.11.
* net: Renamed ``s_addr`` and ``d_addr`` fields of ``rte_ether_hdr`` structure
to ``src_addr`` and ``dst_addr``, respectively.
* bbdev: Added device info related to data byte endianness processing.
+* eventdev: Moved memory used by timer adapters to hugepage. This will prevent
+ TLB misses if any and aligns to memory structure of other subsystems.
+
ABI Changes
-----------
Also, make sure to start the actual text at the margin.
=======================================================
+* ethdev: All enums & macros updated to have ``RTE_ETH`` prefix and structures
+ updated to have ``rte_eth`` prefix. DPDK components updated to use new names.
+
* ethdev: Input parameters for ``eth_rx_queue_count_t`` was changed.
Instead of pointer to ``rte_eth_dev`` and queue index, now it accepts pointer
to internal queue data as input parameter. While this change is transparent
to be transparent for both users (no changes in user app is required) and
PMD developers (no changes in PMD is required).
+* cryptodev: Made ``rte_cryptodev``, ``rte_cryptodev_data`` private
+ structures internal to DPDK. ``rte_cryptodevs`` can't be accessed directly
+ by user any more. While it is an ABI breakage, this change is intended
+ to be transparent for both users (no changes in user app is required) and
+ PMD developers (no changes in PMD is required).
+
* security: ``rte_security_set_pkt_metadata`` and ``rte_security_get_userdata``
routines used by inline outbound and inline inbound security processing were
made inline and enhanced to do simple 64-bit set/get for PMDs that do not