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 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``
+
* **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.
+* **Updated AF_XDP PMD.**
+
+ * Disabled secondary process support.
+
* **Updated Broadcom bnxt PMD.**
* Added flow offload support for Thor.
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
* **Updated Marvell cnxk crypto PMD.**
* Added DES-CBC, AES-XCBC-MAC, AES-CMAC and non-HMAC algo support.
* Added PDCP short MAC-I support.
+ * Added raw vector datapath API support.
* **Updated NXP dpaa2_sec crypto PMD.**
* Added PDCP short MAC-I support.
+ * Added raw vector datapath API support.
* **Updated the ACC100 bbdev 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
and AES_GMAC.
+ * Added support for NAT-T / UDP encapsulated ESP.
+ * Added support for SA telemetry.
+ * Added support for setting a non default starting ESN value.
* **Added multi-process support for testpmd.**
* 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.
+* ethdev: Added items ``PORT_REPRESENTOR``, ``REPRESENTED_PORT`` and action
+ ``PORT_REPRESENTOR`` to flow API.
+
* 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.
* cryptodev: The field ``dataunit_len`` of the ``struct rte_crypto_cipher_xform``
moved to the end of the structure and extended to ``uint32_t``.
+* cryptodev: The structure ``rte_crypto_vec`` was updated to add ``tot_len``
+ field to support total buffer length to facilitate protocol offload case.
+
+* cryptodev: The structure ``rte_crypto_sym_vec`` was updated to add
+ ``dest_sgl`` to support out of place processing.
+
+* bbdev: Added device info related to data byte endianness processing.
+
ABI Changes
-----------
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