ethdev: add represented port action to flow API
[dpdk.git] / doc / guides / rel_notes / release_21_11.rst
index 99f10c9..81e5d9c 100644 (file)
@@ -75,16 +75,34 @@ New Features
     operations.
   * Added multi-process support.
 
     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 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_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 Broadcom bnxt PMD.**
 
   * Added flow offload support for Thor.
@@ -119,6 +137,13 @@ New Features
   Updated the Mellanox mlx5 driver with new features and improvements, including:
 
   * Added implicit mempool registration to avoid data path hiccups (opt-out).
   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.**
 
 
 * **Updated Marvell cnxk crypto PMD.**
 
@@ -138,10 +163,12 @@ New Features
 
   * Added DES-CBC, AES-XCBC-MAC, AES-CMAC and non-HMAC algo support.
   * Added PDCP short MAC-I support.
 
   * 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.
 
 * **Updated NXP dpaa2_sec crypto PMD.**
 
   * Added PDCP short MAC-I support.
+  * Added raw vector datapath API support.
 
 * **Updated the ACC100 bbdev PMD.**
 
 
 * **Updated the ACC100 bbdev PMD.**
 
@@ -151,10 +178,18 @@ New Features
 
   Added support for more comprehensive CRC options.
 
 
   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.
 * **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 multi-process support for testpmd.**
 
@@ -165,6 +200,7 @@ New Features
 
   * Added support for asymmetric crypto throughput performance measurement.
     Only modex is supported for now.
 
   * 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.**
 
 
 * **Added lookaside protocol (IPsec) tests in dpdk-test.**
 
@@ -208,6 +244,14 @@ Removed Items
   ``rte_eth_mirror_rule_reset`` along with the associated macros
   ``ETH_MIRROR_*`` are removed.
 
   ``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.
 * i40e: Removed i40evf driver.
   iavf already became the default VF driver for i40e devices,
   so there is no need to maintain i40evf.
@@ -250,6 +294,9 @@ API Changes
 * net: Renamed ``s_addr`` and ``d_addr`` fields of ``rte_ether_hdr`` structure
   to ``src_addr`` and ``dst_addr``, respectively.
 
 * net: Renamed ``s_addr`` and ``d_addr`` fields of ``rte_ether_hdr`` structure
   to ``src_addr`` and ``dst_addr``, respectively.
 
+* ethdev: Added items and actions ``PORT_REPRESENTOR``, ``REPRESENTED_PORT`` 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 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.
@@ -266,6 +313,14 @@ API Changes
 * 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 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
 -----------
 
 ABI Changes
 -----------
@@ -282,6 +337,18 @@ ABI Changes
    Also, make sure to start the actual text at the margin.
    =======================================================
 
    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
 * 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
@@ -315,6 +382,10 @@ ABI Changes
   application to start from an arbitrary ESN value for debug and SA lifetime
   enforcement purposes.
 
   application to start from an arbitrary ESN value for debug and SA lifetime
   enforcement purposes.
 
+* security: A new structure ``udp`` was added in structure
+  ``rte_security_ipsec_xform`` to allow setting the source and destination ports
+  for UDP encapsulated IPsec traffic.
+
 * bbdev: Added capability related to more comprehensive CRC options,
   shifting values of the ``enum rte_bbdev_op_ldpcdec_flag_bitmasks``.
 
 * bbdev: Added capability related to more comprehensive CRC options,
   shifting values of the ``enum rte_bbdev_op_ldpcdec_flag_bitmasks``.