net/mlx5: support Rx queue delay drop
[dpdk.git] / doc / guides / rel_notes / release_21_11.rst
index 74776ca..771122f 100644 (file)
@@ -75,6 +75,17 @@ New Features
     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
@@ -85,6 +96,10 @@ New Features
   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
@@ -105,6 +120,12 @@ New Features
 
   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
@@ -130,16 +151,34 @@ New Features
 * **Updated Broadcom bnxt PMD.**
 
   * Added flow offload support for Thor.
+  * Added TruFlow and AFM SRAM partitioning support.
   * Implement support for tunnel offload.
-  * Updated HWRM API to version 1.10.2.44
+  * Updated HWRM API to version 1.10.2.68.
+  * Added NAT support for dest IP and port combination.
+  * Added support for socket redirection.
+  * Added wildcard match support for ingress flows.
+  * Added support for inner IP header for GRE tunnel flows.
+  * Removed devargs option for stats accumulation.
+
+* **Updated Cisco enic driver.**
+
+  * Added rte_flow support for matching GTP, GTP-C and GTP-U headers.
+
+* **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.
+  * Added Intel iavf inline crypto support.
 
 * **Updated Intel ice driver.**
 
+  * Added protocol agnostic flow offloading support in Flow Director.
+  * Added protocol agnostic flow offloading support in RSS hash.
   * Added 1PPS out support by a devargs.
   * Added IPv4 and L4 (TCP/UDP/SCTP) checksum hash support in RSS flow.
   * Added DEV_RX_OFFLOAD_TIMESTAMP support.
@@ -162,7 +201,9 @@ New Features
   Updated the Mellanox mlx5 driver with new features and improvements, including:
 
   * Added implicit mempool registration to avoid data path hiccups (opt-out).
+  * Added delay drop support for Rx queue.
   * Added NIC offloads for the PMD on Windows (TSO, VLAN strip, CRC keep).
+  * Added socket direct mode bonding support.
 
 * **Updated Solarflare network PMD.**
 
@@ -170,6 +211,50 @@ New Features
 
   * Added port representors support on SN1000 SmartNICs
   * Added flow API transfer proxy support
+  * Added SN1000 virtual functions (VF) support
+  * Added support for flow counters without service cores
+
+* **Added power monitor API in vhost library.**
+
+  Added an API to support power monitor in vhost library.
+
+* **Updated vhost PMD.**
+
+  Add power monitor support in vhost PMD.
+
+* **Updated virtio PMD.**
+
+  * Initial support for RSS receive mode has been added to the Virtio PMD,
+    with the capability for the application to configure the hash key,
+    the RETA and the hash types.
+    Virtio hash reporting is yet to be added.
+  * Added power monitor support in virtio PMD.
+
+* **Updated Wangxun ngbe driver.**
+
+  * Added offloads and packet type on RxTx.
+  * Added VLAN and MAC filters.
+  * Added device basic statistics and extended stats.
+  * Added multi-queue and RSS.
+  * Added SRIOV.
+  * Added flow control.
+  * Added IEEE 1588.
+
+* **Added new vDPA PMD based on Xilinx devices.**
+
+  Added a new Xilinx vDPA  (``sfc_vdpa``) PMD.
+  See the :doc:`../vdpadevs/sfc` guide for more details on this driver.
+
+* **Added telemetry callbacks to cryptodev library.**
+
+  Added telemetry callback functions which allow a list of crypto devices,
+  stats for a crypto device, and other device information to be queried.
+  Also added callback to get cryptodev capabilities.
+
+* **Added telemetry to security library.**
+
+  Added telemetry callback functions to query security capabilities of
+  crypto device.
 
 * **Updated Marvell cnxk crypto PMD.**
 
@@ -180,11 +265,17 @@ New Features
   * Added support for ZUC algorithm with 256-bit key length for CN10K.
   * Added support for CN98xx dual block.
   * Added inner checksum support in lookaside protocol (IPsec) for CN10K.
+  * Added AES-CBC NULL auth support in lookaside protocol (IPsec) for CN10K.
+  * Added ESN and anti-replay support in lookaside protocol (IPsec) for CN9K.
 
 * **Added support for event crypto adapter on Marvell CN10K and CN9K.**
 
   * Added event crypto adapter OP_FORWARD mode support.
 
+* **Updated Mellanox mlx5 crypto driver.**
+
+  * Added Windows support.
+
 * **Updated NXP dpaa_sec crypto PMD.**
 
   * Added DES-CBC, AES-XCBC-MAC, AES-CMAC and non-HMAC algo support.
@@ -196,6 +287,32 @@ New Features
   * 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.
@@ -209,6 +326,14 @@ New Features
   * Added a new baseband PMD driver for NXP LA12xx Software defined radio.
   * See the :doc:`../bbdevs/la12xx` for more details.
 
+* **Updated Mellanox compress driver.**
+
+  * Added devargs option to allow manual setting of Huffman block size.
+
+* **Updated Mellanox regex driver.**
+
+  * Added support for new ROF file format.
+
 * **Updated IPsec library.**
 
   * Added support for more AEAD algorithms AES_CCM, CHACHA20_POLY1305
@@ -216,6 +341,11 @@ New Features
   * Added support for NAT-T / UDP encapsulated ESP.
   * Added support for SA telemetry.
   * Added support for setting a non default starting ESN value.
+  * Added support for TSO in inline crypto mode.
+
+* **Added optimized Toeplitz hash implementation.**
+
+  Added optimized Toeplitz hash implementation using Galois Fields New Instructions.
 
 * **Added multi-process support for testpmd.**
 
@@ -239,6 +369,36 @@ New Features
   * 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.
+
+* **Updated IPsec Security Gateway sample application with new features.**
+
+  * Added support for TSO (only for inline crypto TCP packets).
+  * Added support for telemetry.
+  * Added support for more AEAD algorithms: AES-GMAC, AES_CTR, AES_XCBC_MAC,
+    AES_CCM, CHACHA20_POLY1305
+  * Added support for event vectors for inline protocol offload mode.
+
+* **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.
+
+* **Added ASan support.**
+
+  `AddressSanitizer
+  <https://github.com/google/sanitizers/wiki/AddressSanitizer>`_ (ASan)
+  is a widely-used debugging tool to detect memory access errors.
+  It helps to detect issues like use-after-free, various kinds of buffer
+  overruns in C/C++ programs, and other similar errors, as well as
+  printing out detailed debug information whenever an error is detected.
 
 
 Removed Items
@@ -298,10 +458,24 @@ API Changes
    Also, make sure to start the actual text at the margin.
    =======================================================
 
+* eal: The lcore state ``FINISHED`` is removed from
+  the ``enum rte_lcore_state_t``.
+  The lcore state ``WAIT`` is enough to represent the same state.
+
+* eal: Made ``rte_intr_handle`` structure definition hidden.
+
 * kvargs: The experimental function ``rte_kvargs_strcmp()`` has been
   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).
 
@@ -317,6 +491,8 @@ API Changes
 * 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.
 
@@ -339,6 +515,10 @@ API Changes
   should be provided, and offset for immediate source bitfield is assigned
   from destination one.
 
+* vhost: ``rte_vdpa_register_device``, ``rte_vdpa_unregister_device``,
+  ``rte_vhost_host_notifier_ctrl`` and ``rte_vdpa_relay_vring_used`` vDPA
+  driver interface are marked as internal.
+
 * 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.
@@ -363,6 +543,12 @@ API Changes
 
 * 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.
+
+* fib: Added the ``rib_ext_sz`` field to ``rte_fib_conf`` and ``rte_fib6_conf``
+  so that user can specify the size of the RIB extension inside the FIB.
+
 
 ABI Changes
 -----------
@@ -379,6 +565,9 @@ 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
@@ -391,6 +580,14 @@ ABI Changes
   to be transparent for both users (no changes in user app is required) and
   PMD developers (no changes in PMD is required).
 
+* vhost: rename ``struct vhost_device_ops`` to ``struct rte_vhost_device_ops``.
+
+* 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
@@ -431,6 +628,18 @@ ABI Changes
 * 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
 ------------