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
+ an arbitrary user-specified network protocol header,
+ configure the hardware accordingly, and perform match on this header
+ with desired patterns and masks.
+
* **Added ethdev support to control delivery of Rx metadata from the HW to the PMD.**
A new API, ``rte_eth_rx_metadata_negotiate()``, was added.
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
unless ``DEV_RX_OFFLOAD_VLAN_STRIP`` offload is enabled.
+* **Added API to get device configuration in ethdev.**
+
+ Added an ethdev API which can help users get device configuration.
+
* **Updated AF_XDP PMD.**
* Disabled secondary process support.
+* **Updated Amazon ENA PMD.**
+
+ Updated the Amazon ENA PMD. The new driver version (v2.5.0) introduced
+ bug fixes and improvements, including:
+
+ * Support for the tx_free_thresh and rx_free_thresh configuration parameters.
+ * NUMA aware allocations for the queue helper structures.
+ * Watchdog's feature which is checking for missing Tx completions.
+
* **Updated Broadcom bnxt PMD.**
* Added flow offload support for Thor.
* 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 rte_tm support.
* Added support for Inline IPsec for CN9K event mode and CN10K
poll mode and event mode.
+ * Added support for ingress meter for CN10K platform.
* **Updated Mellanox mlx5 driver.**
Updated the Solarflare ``sfc_efx`` driver with changes including:
* Added port representors support on SN1000 SmartNICs
+ * Added flow API transfer proxy support
* **Updated Marvell cnxk crypto PMD.**
* 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).
* net: Renamed ``s_addr`` and ``d_addr`` fields of ``rte_ether_hdr`` structure
to ``src_addr`` and ``dst_addr``, respectively.
+* net: Added ``version`` and ``ihl`` bit-fields to ``struct rte_ipv4_hdr``.
+ Existing ``version_ihl`` field is kept for backward compatibility.
+
* ethdev: Added items and actions ``PORT_REPRESENTOR``, ``REPRESENTED_PORT`` to
flow API.
* 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
* bbdev: Added capability related to more comprehensive CRC options,
shifting values of the ``enum rte_bbdev_op_ldpcdec_flag_bitmasks``.
+* eventdev: New variables ``rx_event_buf_count`` and ``rx_event_buf_size``
+ were added in structure ``rte_event_eth_rx_adapter_stats`` to get additional
+ status.
+
+* eventdev: A new structure ``rte_event_fp_ops`` has been added which is now used
+ by the fastpath inline functions. The structures ``rte_eventdev``,
+ ``rte_eventdev_data`` have been made internal. ``rte_eventdevs[]`` can't be
+ accessed directly by user any more. This change is transparent to both
+ applications and PMDs.
+
+* eventdev: Re-arranged fields in ``rte_event_timer`` to remove holes.
+
Known Issues
------------