X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=doc%2Fguides%2Frel_notes%2Frelease_21_11.rst;h=b86733c7b9c0c28b60d4cafae4185bf01f75d73c;hb=f30157d988cf65543983d288684bf1bf1f3ea96a;hp=48e0bb60a1d7666f3e879de60abdba6938c76216;hpb=0668d829085c4e92a6a1117e2b7cb8653eff8038;p=dpdk.git diff --git a/doc/guides/rel_notes/release_21_11.rst b/doc/guides/rel_notes/release_21_11.rst index 48e0bb60a1..b86733c7b9 100644 --- a/doc/guides/rel_notes/release_21_11.rst +++ b/doc/guides/rel_notes/release_21_11.rst @@ -75,20 +75,73 @@ 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 + 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 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 + an arbitrary user-specified network protocol header, + configure the hardware accordingly, and perform match on this header + with desired patterns and masks. + +* **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`` + +* **Added an API to get a proxy port to manage "transfer" flows.** + + A new API, ``rte_flow_pick_transfer_proxy()``, was added. + * **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. +* **Added API to get device configuration in ethdev.** + + Added an ethdev API which can help users get device configuration. + * **Updated AF_XDP PMD.** * Disabled secondary process support. +* **Updated Amazon ENA PMD.** + + Updated the Amazon ENA PMD. The new driver version (v2.5.0) introduced + bug fixes and improvements, including: + + * Support for the tx_free_thresh and rx_free_thresh configuration parameters. + * NUMA aware allocations for the queue helper structures. + * Watchdog's feature which is checking for missing Tx completions. + * **Updated Broadcom bnxt PMD.** * Added flow offload support for Thor. @@ -99,6 +152,7 @@ New Features * 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. * **Updated Intel ice driver.** @@ -117,12 +171,21 @@ New Features * Added rte_tm support. * Added support for Inline IPsec for CN9K event mode and CN10K poll mode and event mode. + * Added support for ingress meter for CN10K platform. * **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 + * Added flow API transfer proxy support * **Updated Marvell cnxk crypto PMD.** @@ -193,6 +256,18 @@ New Features * Added tests to verify tunnel header verification in IPsec inbound. * Added tests to verify inner checksum. +* **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. + Removed Items ------------- @@ -223,6 +298,14 @@ Removed Items ``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. @@ -247,6 +330,14 @@ API Changes 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). @@ -265,6 +356,25 @@ API Changes * net: Renamed ``s_addr`` and ``d_addr`` fields of ``rte_ether_hdr`` structure to ``src_addr`` and ``dst_addr``, respectively. +* net: Added ``version`` and ``ihl`` bit-fields to ``struct rte_ipv4_hdr``. + Existing ``version_ihl`` field is kept for backward compatibility. + +* ethdev: Added items and actions ``PORT_REPRESENTOR``, ``REPRESENTED_PORT`` to + flow API. + +* ethdev: Deprecated items and actions ``PF``, ``VF``, ``PHY_PORT``, ``PORT_ID``. + Suggested items and actions ``PORT_REPRESENTOR``, ``REPRESENTED_PORT`` instead. + +* ethdev: Deprecated the use of attributes ``ingress`` / ``egress`` combined + with ``transfer``. See items ``PORT_REPRESENTOR``, ``REPRESENTED_PORT``. + +* ethdev: ``rte_flow_action_modify_data`` structure updated, immediate data + array is extended, data pointer field is explicitly added to union, the + action behavior is defined in more strict fashion and documentation updated. + The immediate value behavior has been changed, the entire immediate field + should be provided, and offset for immediate source bitfield is assigned + from destination one. + * 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. @@ -289,6 +399,9 @@ 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. + ABI Changes ----------- @@ -305,6 +418,18 @@ 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 @@ -345,6 +470,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 ------------