operations.
* Added multi-process support.
+* **Added support to get all MAC addresses of a device.**
+
+ Added ``rte_eth_macaddrs_get`` to allow user to retrieve all Ethernet
+ addresses assigned to given ethernet port.
+
* **Added new RSS offload types for IPv4/L4 checksum in RSS flow.**
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 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.
+ The following parts of Rx metadata were defined:
+
+ * ``RTE_ETH_RX_METADATA_USER_FLAG``
+ * ``RTE_ETH_RX_METADATA_USER_MARK``
+ * ``RTE_ETH_RX_METADATA_TUNNEL_ID``
+
+* **Added an API to get a proxy port to manage "transfer" flows.**
+
+ A new API, ``rte_flow_pick_transfer_proxy()``, was added.
+
* **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.
* 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 Mellanox mlx5 driver with new features and improvements, including:
* Added implicit mempool registration to avoid data path hiccups (opt-out).
+ * Added NIC offloads for the PMD on Windows (TSO, VLAN strip, CRC keep).
+
+* **Updated Solarflare network PMD.**
+
+ 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 support for more comprehensive CRC options.
+* **Added NXP LA12xx baseband PMD.**
+
+ * Added a new baseband PMD driver for NXP LA12xx Software defined radio.
+ * See the :doc:`../bbdevs/la12xx` for more details.
+
* **Updated IPsec library.**
* Added support for more AEAD algorithms AES_CCM, CHACHA20_POLY1305
* Added support for asymmetric crypto throughput performance measurement.
Only modex is supported for now.
+ * Added support for lookaside IPsec protocol offload throughput measurement.
* **Added lookaside protocol (IPsec) tests in dpdk-test.**
``rte_eth_mirror_rule_reset`` along with the associated macros
``ETH_MIRROR_*`` are removed.
+* ethdev: Removed ``rte_eth_rx_descriptor_done`` API function and its
+ driver callback. It is replaced by the more complete function
+ ``rte_eth_rx_descriptor_status``.
+
+* ethdev: Removed deprecated ``shared`` attribute of the
+ ``struct rte_flow_action_count``. Shared counters should be managed
+ using indirect actions API (``rte_flow_action_handle_create`` etc).
+
* i40e: Removed i40evf driver.
iavf already became the default VF driver for i40e devices,
so there is no need to maintain i40evf.
* 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.
+
+* ethdev: Deprecated items and actions ``PF``, ``VF``, ``PHY_PORT``, ``PORT_ID``.
+ Suggested items and actions ``PORT_REPRESENTOR``, ``REPRESENTED_PORT`` instead.
+
+* ethdev: Deprecated the use of attributes ``ingress`` / ``egress`` combined
+ with ``transfer``. See items ``PORT_REPRESENTOR``, ``REPRESENTED_PORT``.
+
+* ethdev: ``rte_flow_action_modify_data`` structure updated, immediate data
+ array is extended, data pointer field is explicitly added to union, the
+ action behavior is defined in more strict fashion and documentation updated.
+ The immediate value behavior has been changed, the entire immediate field
+ should be provided, and offset for immediate source bitfield is assigned
+ from destination one.
+
* cryptodev: The API rte_cryptodev_pmd_is_valid_dev is modified to
rte_cryptodev_is_valid_dev as it can be used by the application as
well as PMD to check whether the device is valid or not.
Also, make sure to start the actual text at the margin.
=======================================================
+* 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 user, it still counts as an ABI change, as ``eth_rx_queue_count_t``
+ is used by public inline function ``rte_eth_rx_queue_count``.
+
+* ethdev: Made ``rte_eth_dev``, ``rte_eth_dev_data``, ``rte_eth_rxtx_callback``
+ private data structures. ``rte_eth_devices[]`` 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
* 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.
+
Known Issues
------------