X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;ds=sidebyside;f=doc%2Fguides%2Frel_notes%2Frelease_20_11.rst;h=5fe3dd005ea1603c7360f94a37c0adc407ba85d9;hb=9ab9514c150ed74f732b153c55c9c2e9bdae1f10;hp=9e9e7fa37121d9562ba2381348cf00d0e81a0f16;hpb=4d9fd85fb5458a3445bc3aabf971d0a3edb2dfb3;p=dpdk.git diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst index 9e9e7fa371..5fe3dd005e 100644 --- a/doc/guides/rel_notes/release_20_11.rst +++ b/doc/guides/rel_notes/release_20_11.rst @@ -77,12 +77,34 @@ New Features This API is specific to x86 and implemented as a stub for other architectures. +* **Added support for limiting maximum SIMD bitwidth.** + + Added a new EAL config setting ``max_simd_bitwidth`` to limit the vector + path selection at runtime. This value can be set by apps using the + ``rte_vect_set_max_simd_bitwidth`` function, or by the user with EAL flag + ``--force-max-simd-bitwidth``. + +* **Added zero copy APIs for rte_ring.** + + For rings with producer/consumer in ``RTE_RING_SYNC_ST``, ``RTE_RING_SYNC_MT_HTS`` + modes, these APIs split enqueue/dequeue operation into three phases + (enqueue/dequeue start, copy data to/from ring, enqueue/dequeue finish). + Along with the advantages of the peek APIs, these provide the ability to + copy the data to the ring memory directly without the need for temporary + storage. + * **Updated CRC modules of the net library.** * Added runtime selection of the optimal architecture-specific CRC path. * Added optimized implementations of CRC32-Ethernet and CRC16-CCITT using the AVX512 and VPCLMULQDQ instruction sets. +* **Introduced extended buffer description for receiving.** + + Added the extended Rx buffer description for Rx queue setup routine + providing the individual settings for each Rx segment with maximal size, + buffer offset and memory pool to allocate data buffers from. + * **Added the FEC API, for a generic FEC query and config.** Added the FEC API which provides functions for query FEC capabilities and @@ -110,6 +132,22 @@ New Features as flow action. * Added new flow APIs to create/update/destroy/query shared action. +* **Flow rules allowed to use private PMD items / actions.** + + * Flow rule verification was updated to accept private PMD + items and actions. + +* **Added generic API to offload tunneled traffic and restore missed packet.** + + * Added a new hardware independent helper to flow API that + offloads tunneled traffic and restores missed packets. + +* **Updated the ethdev library to support hairpin between two ports.** + + New APIs are introduced to support binding / unbinding 2 ports hairpin. + Hairpin Tx part flow rules can be inserted explicitly. + New API is added to get the hairpin peer ports list. + * **Updated Broadcom bnxt driver.** Updated the Broadcom bnxt driver with new features and improvements, including: @@ -131,12 +169,37 @@ New Features Added the FEC PMD which provides functions for query FEC capabilities and current FEC mode from device. Also, PMD for configuring FEC mode is also provided. +* **Updated Intel iavf driver.** + + * Added support of AVX512 instructions in Rx and Tx path. + +* **Updated Intel ice driver.** + + * Used write combining stores. + * Added ACL filter support for Intel DCF. + +* **Updated Mellanox mlx5 driver.** + + Updated Mellanox mlx5 driver with new features and improvements, including: + + * Added support for matching on fragmented/non-fragmented IPv4/IPv6 packets. + * Updated the supported timeout for Age action to the maximal value supported + by rte_flow API. + * Added support of Age action query. + * **Updated Solarflare network PMD.** Updated the Solarflare ``sfc_efx`` driver with changes including: * Added SR-IOV PF support - * Added Alveo SN1000 SmartNICs (EF100 architecture) support + * Added Alveo SN1000 SmartNICs (EF100 architecture) support including + flow API transfer rules for switch HW offload + +* **Added Wangxun txgbe PMD.** + + Added a new PMD driver for Wangxun 10 Gigabit Ethernet NICs. + + See the :doc:`../nics/txgbe` for more details. * **Updated Virtio driver.** @@ -152,10 +215,6 @@ New Features Updated the Intel ixgbe driver to use write combining stores. -* **Updated Intel ice driver.** - - Updated the Intel ice driver to use write combining stores. - * **Updated Intel qat driver.** Updated the Intel qat driver to use write combining stores. @@ -257,6 +316,16 @@ New Features Added performance tuning arguments to allow tuning the scheduler for better throughtput in high core count use cases. +* **Added a new driver for the Intel Dynamic Load Balancer v1.0 device.** + + Added the new ``dlb`` eventdev driver for the Intel DLB V1.0 device. See the + :doc:`../eventdevs/dlb` eventdev guide for more details on this new driver. + +* **Added a new driver for the Intel Dynamic Load Balancer v2.0 device.** + + Added the new ``dlb2`` eventdev driver for the Intel DLB V2.0 device. See the + :doc:`../eventdevs/dlb2` eventdev guide for more details on this new driver. + * **Updated ioat rawdev driver** The ioat rawdev driver has been updated and enhanced. Changes include: @@ -296,6 +365,10 @@ New Features * Added new ``RTE_ACL_CLASSIFY_AVX512X32`` vector implementation, which can process up to 32 flows in parallel. Requires AVX512 support. +* **Added AVX512 lookup implementation for FIB.** + + Added a AVX512 lookup functions implementation into FIB and FIB6 libraries. + * **Added support to update subport bandwidth dynamically.** * Added new API ``rte_sched_port_subport_profile_add`` to add new @@ -308,6 +381,20 @@ New Features * Added scatter gather support. * Added NIST GCMVS complaint GMAC test method support. +* **Updated l3wfd-acl sample application.** + + * Added new optional parameter ``--eth-dest`` for the ``l3fwd-acl`` to allow + the user to specify the destination mac address for each ethernet port + used. + * Replaced ``--scalar`` command-line option with ``--alg=``, to allow + the user to select the desired classify method. + +* **Updated vhost sample application.** + + Added vhost asynchronous APIs support, which demonstrated how the application + leverage IOAT DMA channel with vhost asynchronous APIs. + See the :doc:`../sample_app_ug/vhost` for more details. + Removed Items ------------- @@ -321,6 +408,10 @@ Removed Items Also, make sure to start the actual text at the margin. ======================================================= +* build: Support for the Make build system was removed for compiling DPDK, + Meson is now the primary build system. + Sample applications can still be built with Make standalone, using pkg-config. + * vhost: Dequeue zero-copy support has been removed. * kernel: The module ``igb_uio`` has been moved to the git repository @@ -328,6 +419,9 @@ Removed Items * Removed Python 2 support since it was EOL'd in January 2020. +* Removed TEP termination sample application. + + API Changes ----------- @@ -347,6 +441,13 @@ API Changes The information provided by these macros is available through standard compiler macros. +* eal: Replaced the function ``rte_get_master_lcore()`` to + ``rte_get_main_lcore()``. The old function is deprecated. + + The iterator for worker lcores is also changed: + ``RTE_LCORE_FOREACH_SLAVE`` is replaced with + ``RTE_LCORE_FOREACH_WORKER``. + * eal: The ``rte_logs`` struct and global symbol was made private and is no longer part of the API. @@ -378,6 +479,16 @@ API Changes the structures ``rte_mbuf`` and ``rte_mbuf_ext_shared_info``. The field ``refcnt`` is remaining from the old unions. +* mbuf: Removed the unioned fields ``userdata`` and ``udata64`` + from the structure ``rte_mbuf``. It is replaced with dynamic fields. + +* mbuf: Removed the field ``seqn`` from the structure ``rte_mbuf``. + It is replaced with dynamic fields. + +* mbuf: Removed the field ``timestamp`` from the structure ``rte_mbuf``. + It is replaced with the dynamic field RTE_MBUF_DYNFIELD_TIMESTAMP_NAME + which was previously used only for Tx. + * pci: Removed the ``rte_kernel_driver`` enum defined in rte_dev.h and replaced with a private enum in the PCI subsystem. @@ -400,6 +511,11 @@ API Changes * ethdev: Added capability to query age flow action. +* ethdev: Changed ``rte_eth_dev_stop`` return value from ``void`` to + ``int`` to provide a way to report various error conditions. + +* ethdev: Added ``int`` return type to ``rte_eth_dev_close()``. + * ethdev: Renamed internal functions: * ``_rte_eth_dev_callback_process()`` -> ``rte_eth_dev_callback_process()`` @@ -438,6 +554,12 @@ API Changes ``uint32_t`` to ``uint8_t`` so that a new field ``sdap_enabled`` can be added to support SDAP. +* security: The API ``rte_security_session_create`` is updated to take two + mempool objects one for session and other for session private data. + So the application need to create two mempools and get the size of session + private data using API ``rte_security_session_get_size`` for private session + mempool. + * ipsec: ``RTE_SATP_LOG2_NUM`` has been dropped from ``enum`` and subsequently moved ``rte_ipsec`` lib from experimental to stable. @@ -474,6 +596,12 @@ API Changes * bpf: ``RTE_BPF_XTYPE_NUM`` has been dropped from ``rte_bpf_xtype``. +* gso: Changed ``rte_gso_segment`` behaviour and return value: + + * ``pkt`` is not saved to ``pkts_out[0]`` if not GSOed. + * Return 0 instead of 1 for the above case. + * ``pkt`` is not freed, no matter whether it is GSOed, leaving to the caller. + * acl: ``RTE_ACL_CLASSIFY_NUM`` enum value has been removed. This enum value was not used inside DPDK, while it prevented to add new classify algorithms without causing an ABI breakage. @@ -517,6 +645,27 @@ ABI Changes * ``ethdev`` internal functions are marked with ``__rte_internal`` tag. + * Added extensions' attributes to struct ``rte_flow_item_ipv6``. + A set of additional values added to struct, indicating the existence of + every defined extension header type. + Applications should use the new values for identification of existing + extensions in the packet header. + + * Added fields ``rx_seg`` and ``rx_nseg`` to ``rte_eth_rxconf`` structure + to provide extended description of the receiving buffer. + + * ``struct rte_eth_hairpin_conf`` has two new members: + + * ``uint32_t tx_explicit:1;`` + * ``uint32_t manual_bind:1;`` + + * Added new field ``has_vlan`` to structure ``rte_flow_item_eth``, + indicating that packet header contains at least one VLAN. + + * Added new field ``has_more_vlan`` to structure + ``rte_flow_item_vlan``, indicating that packet header contains + at least one more VLAN, after this VLAN. + * eventdev: Following structures are modified to support DLB/DLB2 PMDs and future extensions: @@ -526,6 +675,9 @@ ABI Changes * sched: Added new fields to ``struct rte_sched_subport_port_params``. +* lpm: Removed fields other than ``tbl24`` and ``tbl8`` from the struct + ``rte_lpm``. The removed fields were made internal. + Known Issues ------------