X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=doc%2Fguides%2Frel_notes%2Frelease_21_11.rst;h=6fb3164d17e1239b87347a159fba9deb741d4668;hb=081e42dab11d1add2d038fdf2bd4c86b20043d08;hp=675b5738348b70e78b118c4f590ee52f7737d090;hpb=b344eb5d941a7522ff27b6b7b5419f68c3fea9a0;p=dpdk.git diff --git a/doc/guides/rel_notes/release_21_11.rst b/doc/guides/rel_notes/release_21_11.rst index 675b573834..6fb3164d17 100644 --- a/doc/guides/rel_notes/release_21_11.rst +++ b/doc/guides/rel_notes/release_21_11.rst @@ -17,8 +17,8 @@ DPDK Release 21.11 Build the docs and view the output file to ensure the changes are correct:: - make doc-guides-html - xdg-open build/doc/html/guides/rel_notes/release_21_11.html + ninja -C build doc + xdg-open build/doc/guides/html/rel_notes/release_21_11.html New Features @@ -62,6 +62,158 @@ New Features * Added bus-level parsing of the devargs syntax. * Kept compatibility with the legacy syntax as parsing fallback. +* **Updated EAL hugetlbfs mount handling for Linux.** + + * Modified to allow ``--huge-dir`` option to specify a sub-directory + within a hugetlbfs mountpoint. + +* **Added dmadev library.** + + * Added a DMA device framework for management and provision of + hardware and software DMA devices. + * Added generic API which support a number of different DMA + 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. + * Implement support for tunnel offload. + * Updated HWRM API to version 1.10.2.44 + +* **Updated Intel iavf driver.** + + * Added Intel iavf support on Windows. + * Added IPv4 and L4 (TCP/UDP/SCTP) checksum hash support in RSS flow. + +* **Updated Intel ice driver.** + + * 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. + * Added timesync API support under scalar path. + +* **Updated Intel ixgbe driver.** + + * Added Intel ixgbe support on Windows. + +* **Updated Marvell cnxk ethdev driver.** + + * Added rte_flow support for dual VLAN insert and strip actions. + * Added rte_tm support. + * Added support for Inline IPsec for CN9K event mode and CN10K + poll mode and event mode. + +* **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 + +* **Updated Marvell cnxk crypto PMD.** + + * Added AES-CBC SHA1-HMAC support in lookaside protocol (IPsec) for CN10K. + * Added Transport mode support in lookaside protocol (IPsec) for CN10K. + * Added UDP encapsulation support in lookaside protocol (IPsec) for CN10K. + * Added support for lookaside protocol (IPsec) offload for CN9K. + * 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 support for event crypto adapter on Marvell CN10K and CN9K.** + + * Added event crypto adapter OP_FORWARD mode support. + +* **Updated NXP dpaa_sec 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. + +* **Updated the turbo_sw 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 command-line options to specify total number of processes and + current process ID. Each process owns subset of Rx and Tx queues. + +* **Updated test-crypto-perf application with new cases.** + + * 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 known vector tests (AES-GCM 128, 192, 256). + * Added tests to verify error reporting with ICV corruption. + * Added tests to verify IV generation. + * Added tests to verify UDP encapsulation. + * Added tests to verify UDP encapsulation ports. + * Added tests to validate packets soft expiry. + * Added tests to validate packets hard expiry. + * Added tests to verify tunnel header verification in IPsec inbound. + * Added tests to verify inner checksum. + Removed Items ------------- @@ -75,6 +227,35 @@ Removed Items Also, make sure to start the actual text at the margin. ======================================================= +* eal: Removed the deprecated function ``rte_get_master_lcore()`` + and the iterator macro ``RTE_LCORE_FOREACH_SLAVE``. + +* eal: The old api arguments that were deprecated for + blacklist/whitelist are removed. Users must use the new + block/allow list arguments. + +* mbuf: Removed offload flag ``PKT_RX_EIP_CKSUM_BAD``. + ``PKT_RX_OUTER_IP_CKSUM_BAD`` should be used as a replacement. + +* ethdev: Removed the port mirroring API. A more fine-grain flow API + action ``RTE_FLOW_ACTION_TYPE_SAMPLE`` should be used instead. + The structures ``rte_eth_mirror_conf`` and ``rte_eth_vlan_mirror`` and + the functions ``rte_eth_mirror_rule_set`` and + ``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. + API Changes ----------- @@ -91,6 +272,54 @@ API Changes Also, make sure to start the actual text at the margin. ======================================================= +* kvargs: The experimental function ``rte_kvargs_strcmp()`` has been + removed. Its usages have been replaced by a new function + ``rte_kvargs_get_with_value()``. + +* 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). + +* mempool: The mempool flags ``MEMPOOL_F_*`` will be deprecated in the future. + Newly added flags with ``RTE_MEMPOOL_F_`` prefix should be used instead. + +* mempool: Helper macro ``MEMPOOL_HEADER_SIZE()`` is deprecated. + The replacement macro ``RTE_MEMPOOL_HEADER_SIZE()`` is internal only. + +* mempool: Macro to register mempool driver ``MEMPOOL_REGISTER_OPS()`` is + deprecated. Use replacement ``RTE_MEMPOOL_REGISTER_OPS()``. + +* mempool: The mempool API macros ``MEMPOOL_PG_*`` are deprecated and + will be removed in DPDK 22.11. + +* net: Renamed ``s_addr`` and ``d_addr`` fields of ``rte_ether_hdr`` structure + to ``src_addr`` and ``dst_addr``, respectively. + +* ethdev: Added item ``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 rte_cryptodev_pmd.* files are renamed as cryptodev_pmd.* + as it is for drivers only and should be private to DPDK, and not + installed for app use. + +* cryptodev: A ``reserved`` byte from structure ``rte_crypto_op`` was + renamed to ``aux_flags`` to indicate warnings and other information from + the crypto/security operation. This field will be used to communicate + events such as soft expiry with IPsec in lookaside mode. + +* 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 ----------- @@ -107,6 +336,58 @@ 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 + have much processing in PMD specific callbacks but just 64-bit set/get. + This avoids a per packet function pointer jump overhead for such PMDs. + +* security: A new option ``iv_gen_disable`` was added in structure + ``rte_security_ipsec_sa_options`` to disable IV generation inside PMD, + so that application can provide its own IV and test known test vectors. + +* security: A new option ``tunnel_hdr_verify`` was added in structure + ``rte_security_ipsec_sa_options`` to indicate whether outer header + verification need to be done as part of inbound IPsec processing. + +* security: A new option ``udp_ports_verify`` was added in structure + ``rte_security_ipsec_sa_options`` to indicate whether UDP ports + verification need to be done as part of inbound IPsec processing. + +* security: A new structure ``rte_security_ipsec_lifetime`` was added to + replace ``esn_soft_limit`` in IPsec configuration structure + ``rte_security_ipsec_xform`` to allow applications to configure SA soft + and hard expiry limits. Limits can be either in number of packets or bytes. + +* security: The new options ``ip_csum_enable`` and ``l4_csum_enable`` were added + in structure ``rte_security_ipsec_sa_options`` to indicate whether inner + packet IPv4 header checksum and L4 checksum need to be offloaded to + security device. + +* security: A new structure ``esn`` was added in structure + ``rte_security_ipsec_xform`` to set an initial ESN value. This permits + 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``. + Known Issues ------------