X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=doc%2Fguides%2Frel_notes%2Frelease_21_11.rst;h=771122f05f58d82d788a8172e9aa1cf614ea7a63;hb=febcac7b46cdff5e3e12dd049ea191963cabbff7;hp=2af6aca4ea47c2b177efb9278d6287cb363cee0f;hpb=d35e61322de5274ff3881d064f7d996d00b871ec;p=dpdk.git diff --git a/doc/guides/rel_notes/release_21_11.rst b/doc/guides/rel_notes/release_21_11.rst index 2af6aca4ea..771122f05f 100644 --- a/doc/guides/rel_notes/release_21_11.rst +++ b/doc/guides/rel_notes/release_21_11.rst @@ -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 + `_ (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 @@ -441,6 +638,8 @@ ABI Changes 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 ------------