From 281074a45d6d87a1ba2b9bca1f5ebd42b89595c9 Mon Sep 17 00:00:00 2001 From: John McNamara Date: Mon, 25 May 2020 20:11:34 +0100 Subject: [PATCH] doc: update release notes for 20.05 Fix grammar, spelling and formatting of DPDK 20.05 release notes. Signed-off-by: John McNamara --- doc/guides/rel_notes/release_20_05.rst | 274 ++++++++++++------------- 1 file changed, 129 insertions(+), 145 deletions(-) diff --git a/doc/guides/rel_notes/release_20_05.rst b/doc/guides/rel_notes/release_20_05.rst index 03927d0c18..985c845de4 100644 --- a/doc/guides/rel_notes/release_20_05.rst +++ b/doc/guides/rel_notes/release_20_05.rst @@ -56,38 +56,38 @@ New Features Also, make sure to start the actual text at the margin. ========================================================= -* **Added Trace Library and Tracepoints** +* **Added Trace Library and Tracepoints.** - A native implementation of ``common trace format(CTF)`` based trace library - has been added to provide the ability to add tracepoints in - application/library to get runtime trace/debug information for control and - fast APIs with minimum impact on fast path performance. - Typical trace overhead is ~20 cycles and instrumentation overhead is 1 cycle. - Added tracepoints in ``EAL``, ``ethdev``, ``cryptodev``, ``eventdev`` and - ``mempool`` libraries for important functions. + Added a native implementation of the "common trace format" (CTF) based trace + library. This allows the user add tracepoints in an application/library to + get runtime trace/debug information for control, and fast APIs with minimum + impact on fast path performance. Typical trace overhead is ~20 cycles and + instrumentation overhead is 1 cycle. Added tracepoints in ``EAL``, + ``ethdev``, ``cryptodev``, ``eventdev`` and ``mempool`` libraries for + important functions. -* **Added APIs for RCU defer queue.** +* **Added APIs for RCU defer queues.** - Added APIs to create and delete defer queue. Additional APIs are provided + Added APIs to create and delete defer queues. Additional APIs are provided to enqueue a deleted resource and reclaim the resource in the future. - These APIs help the application use lock-free data structures with + These APIs help an application use lock-free data structures with less effort. * **Added new API for rte_ring.** - * New synchronization modes for rte_ring. + * Introduced new synchronization modes for ``rte_ring``. - Introduced new optional MT synchronization modes for rte_ring: - Relaxed Tail Sync (RTS) mode and Head/Tail Sync (HTS) mode. - With these mode selected, rte_ring shows significant improvements for - average enqueue/dequeue times on overcommitted systems. + Introduced new optional MT synchronization modes for ``rte_ring``: + Relaxed Tail Sync (RTS) mode and Head/Tail Sync (HTS) mode. + With these modes selected, ``rte_ring`` shows significant improvements for + average enqueue/dequeue times on overcommitted systems. - * Added peek style API for rte_ring. + * Added peek style API for ``rte_ring``. - For rings with producer/consumer in RTE_RING_SYNC_ST, RTE_RING_SYNC_MT_HTS - mode, provide an ability to split enqueue/dequeue operation into two phases - (enqueue/dequeue start; enqueue/dequeue finish). That allows user to inspect - objects in the ring without removing them from it (aka MT safe peek). + For rings with producer/consumer in ``RTE_RING_SYNC_ST``, ``RTE_RING_SYNC_MT_HTS`` + mode, provide the ability to split enqueue/dequeue operation into two phases + (enqueue/dequeue start and enqueue/dequeue finish). This allows the user to inspect + objects in the ring without removing them (aka MT safe peek). * **Added flow aging support.** @@ -100,29 +100,44 @@ New Features * Added new query: ``rte_flow_get_aged_flows`` to get the aged-out flows contexts from the port. -* **ethdev: Added a new value to link speed for 200Gbps** +* **ethdev: Added a new value to link speed for 200Gbps.** -* **Updated Amazon ena driver.** + Added a new ethdev value to for link speeds of 200Gbps. - Updated ena PMD with new features and improvements, including: +* **Updated the Amazon ena driver.** + + Updated the ena PMD with new features and improvements, including: * Added support for large LLQ (Low-latency queue) headers. - * Added Tx drops as new extended driver statistic. + * Added Tx drops as a new extended driver statistic. * Added support for accelerated LLQ mode. * Handling of the 0 length descriptors on the Rx path. +* **Updated Broadcom bnxt driver.** + + Updated the Broadcom bnxt driver with new features and improvements, including: + + * Added support for host based flow table management. + * Added flow counters to extended stats. + * Added PCI function stats to extended stats. + * **Updated Hisilicon hns3 driver.** Updated Hisilicon hns3 driver with new features and improvements, including: - * Added support for TSO - * Added support for configuring promiscuous and allmulticast mode for VF + * Added support for TSO. + * Added support for configuring promiscuous and allmulticast mode for VF. + +* **Added a new driver for Intel Foxville I225 devices.** + + Added the new ``igc`` net driver for Intel Foxville I225 devices. See the + :doc:`../nics/igc` NIC guide for more details on this new driver. * **Updated Intel i40e driver.** Updated i40e PMD with new features and improvements, including: - * Enable MAC address as FDIR input set for ipv4-other, ipv4-udp and ipv4-tcp. + * Enabled MAC address as FDIR input set for ipv4-other, ipv4-udp and ipv4-tcp. * Added support for RSS using L3/L4 source/destination only. * Added support for setting hash function in rte flow. @@ -139,14 +154,14 @@ New Features Updated the Intel ice driver with new features and improvements, including: * Added support for DCF (Device Config Function) feature. - * Added switch filter support for intel DCF. + * Added switch filter support for Intel DCF. * **Updated Marvell OCTEON TX2 ethdev driver.** - Updated Marvell OCTEON TX2 ethdev driver with traffic manager support with - below features. + Updated Marvell OCTEON TX2 ethdev driver with traffic manager support, + including: - * Hierarchial Scheduling with DWRR and SP. + * Hierarchical Scheduling with DWRR and SP. * Single rate - Two color, Two rate - Three color shaping. * **Updated Mellanox mlx5 driver.** @@ -158,14 +173,14 @@ New Features * Added support for configuring Hairpin queue data buffer size. * Added support for jumbo frame size (9K MTU) in Multi-Packet RQ mode. * Removed flow rules caching for memory saving and compliance with ethdev API. - * Optimized the memory consumption of flow. - * Added support for flow aging based on hardware counter. - * Added support for flow pattern with wildcard VLAN item (without VID value). - * Updated support for matching on GTP header, added match on GTP flags. + * Optimized the memory consumption of flows. + * Added support for flow aging based on hardware counters. + * Added support for flow patterns with wildcard VLAN items (without VID value). + * Updated support for matching on GTP headers, added match on GTP flags. * **Added Chacha20-Poly1305 algorithm to Cryptodev API.** - Chacha20-Poly1305 AEAD algorithm can now be supported in Cryptodev. + Added support for Chacha20-Poly1305 AEAD algorithm in Cryptodev. * **Updated the AESNI MB crypto PMD.** @@ -175,7 +190,7 @@ New Features * **Updated the AESNI GCM crypto PMD.** - * Added support for intel-ipsec-mb version 0.54. + Added support for intel-ipsec-mb version 0.54. * **Updated the ZUC crypto PMD.** @@ -186,60 +201,51 @@ New Features * **Updated the SNOW3G crypto PMD.** - * Added support for intel-ipsec-mb version 0.54. + Added support for intel-ipsec-mb version 0.54. * **Updated the KASUMI crypto PMD.** - * Added support for intel-ipsec-mb version 0.54. - -* **Added a new driver for Intel Foxville I225 devices.** - - Added the new ``igc`` net driver for Intel Foxville I225 devices. See the - :doc:`../nics/igc` NIC guide for more details on this new driver. - -* **Updated Broadcom bnxt driver.** - - Updated Broadcom bnxt driver with new features and improvements, including: + Added support for intel-ipsec-mb version 0.54. - * Added support for host based flow table management - * Added flow counters to extended stats - * Added PCI function stats to extended stats +* **Updated the QuickAssist Technology (QAT) Crypto PMD.** -* **Added handling of mixed crypto algorithms in QAT PMD for GEN2.** + * Added handling of mixed crypto algorithms in QAT PMD for GEN2. - Enabled handling of mixed algorithms in encrypted digest hash-cipher - (generation) and cipher-hash (verification) requests in QAT PMD - when running on GEN2 QAT hardware with particular firmware versions - (GEN3 support was added in DPDK 20.02). + Enabled handling of mixed algorithms in encrypted digest hash-cipher + (generation) and cipher-hash (verification) requests in QAT PMD when + running on GEN2 QAT hardware with particular firmware versions (GEN3 + support was added in DPDK 20.02). -* **Added plain SHA-1,224,256,384,512 support to QAT PMD.** + * Added plain SHA-1, 224, 256, 384, 512 support to QAT PMD. - Added support for plain SHA-1, SHA-224, SHA-256, SHA-384 and SHA-512 hashes - to QAT PMD. + Added support for plain SHA-1, SHA-224, SHA-256, SHA-384 and SHA-512 + hashes to QAT PMD. -* **Added AES-GCM/GMAC J0 support to QAT PMD.** + * Added AES-GCM/GMAC J0 support to QAT PMD. - Added support for AES-GCM/GMAC J0 to Intel QuickAssist Technology PMD. User can - use this feature by passing zero length IV in appropriate xform. For more - info please refer to rte_crypto_sym.h J0 comments. + Added support for AES-GCM/GMAC J0 to Intel QuickAssist Technology PMD. The + user can use this feature by passing a zero length IV in the appropriate + xform. For more information refer to the doxygen comments in + ``rte_crypto_sym.h`` for ``J0``. -* **Updated the QAT PMD for AES-256 DOCSIS.** + * Updated the QAT PMD for AES-256 DOCSIS. - Added AES-256 DOCSIS algorithm support to QAT PMD. + Added AES-256 DOCSIS algorithm support to the QAT PMD. -* **Added QAT intermediate buffer too small handling in QAT compression PMD.** +* **Updated the QuickAssist Technology (QAT) Compression PMD.** - Added a special way of buffer handling when internal QAT intermediate buffer - is too small for Huffman dynamic compression operation. Instead of falling + Added special buffer handling when the internal QAT intermediate buffer is + too small for the Huffman dynamic compression operation. Instead of falling back to fixed compression, the operation is now split into multiple smaller - dynamic compression requests (possible to execute on QAT) and their results - are then combined and copied into the output buffer. This is not possible if - any checksum calculation was requested - in such case the code falls back to - fixed compression as before. + dynamic compression requests (which are possible to execute on QAT) and + their results are then combined and copied into the output buffer. This is + not possible if any checksum calculation was requested - in such cases the + code falls back to fixed compression as before. * **Updated the turbo_sw bbdev PMD.** - Supported large size code blocks which does not fit in one mbuf segment. + Added support for large size code blocks which do not fit in one mbuf + segment. * **Added Intel FPGA_5GNR_FEC bbdev PMD.** @@ -255,31 +261,32 @@ New Features accurate load balancing. * Improved behavior on high-core count systems. * Reduced latency in low-load situations. - * Extended DSW xstats with migration- and load-related statistics. + * Extended DSW xstats with migration and load-related statistics. -* **Updated ipsec-secgw sample application with following features.** +* **Updated ipsec-secgw sample application.** - * Updated ipsec-secgw application to add event based packet processing. - The worker thread(s) would receive events and submit them back to the - event device after the processing. This way, multicore scaling and HW - assisted scheduling is achieved by making use of the event device - capabilities. The event mode currently supports only inline IPsec - protocol offload. + Updated the ``ipsec-secgw`` sample application with the following features: - * Updated ipsec-secgw application to support key sizes for AES-192-CBC, - AES-192-GCM, AES-256-GCM algorithms. + * Updated the application to add event based packet processing. The worker + thread(s) would receive events and submit them back to the event device + after the processing. This way, multicore scaling and HW assisted + scheduling is achieved by making use of the event device capabilities. The + event mode currently only supports inline IPsec protocol offload. - * Added IPsec inbound load-distribution support for ipsec-secgw application - using NIC load distribution feature(Flow Director). + * Updated the application to support key sizes for AES-192-CBC, AES-192-GCM, + AES-256-GCM algorithms. + + * Added IPsec inbound load-distribution support for the application using + NIC load distribution feature (Flow Director). * **Updated Telemetry Library.** - The updated Telemetry library has many improvements on the original version - to make it more accessible and scalable: + The updated Telemetry library has been significantly improved in relation to + the original version to make it more accessible and scalable: - * It enables DPDK libraries and applications provide their own specific - telemetry information, rather than being limited to what could be reported - through the metrics library. + * It now enables DPDK libraries and applications to provide their own + specific telemetry information, rather than being limited to what could be + reported through the metrics library. * It is no longer dependent on the external Jansson library, which allows Telemetry be enabled by default. @@ -287,61 +294,53 @@ New Features * The socket handling has been simplified making it easier for clients to connect and retrieve information. -* **Added rte_graph library.** +* **Added the rte_graph library.** + + The Graph architecture abstracts the data processing functions as ``nodes`` + and ``links`` them together to create a complex ``graph`` to enable + reusable/modular data processing functions. The graph library provides APIs + to enable graph framework operations such as create, lookup, dump and + destroy on graph and node operations such as clone, edge update, and edge + shrink, etc. The API also allows the creation of a stats cluster to monitor + per graph and per node statistics. - Graph architecture abstracts the data processing functions as a ``node`` and - ``links`` them together to create a complex ``graph`` to enable reusable/modular - data processing functions. The graph library provides API to enable graph - framework operations such as create, lookup, dump and destroy on graph and node - operations such as clone, edge update, and edge shrink, etc. - The API also allows to create the stats cluster to monitor per graph and per node stats. +* **Added the rte_node library.** -* **Added rte_node library which consists of a set of packet processing nodes.** + Added the ``rte_node`` library that consists of nodes used by the + ``rte_graph`` library. Each node performs a specific packet processing + function based on the application configuration. - The rte_node library that consists of nodes used by rte_graph library. Each - node performs a specific packet processing function based on application - configuration. The following nodes are added: + The following nodes are added: - * Null node: Skeleton node that defines the general structure of a node. - * Ethernet device node: Consists of ethernet Rx/Tx nodes as well as ethernet + * Null node: A skeleton node that defines the general structure of a node. + * Ethernet device node: Consists of Ethernet Rx/Tx nodes as well as Ethernet control APIs. - * IPv4 lookup node: Consists of ipv4 extract and lpm lookup node. Routes can - be configured by the application through ``rte_node_ip4_route_add`` function. - * IPv4 rewrite node: Consists of ipv4 and ethernet header rewrite functionality - that can be configured through ``rte_node_ip4_rewrite_add`` function. + * IPv4 lookup node: Consists of IPv4 extract and LPM lookup node. Routes can + be configured by the application through the ``rte_node_ip4_route_add`` + function. + * IPv4 rewrite node: Consists of IPv4 and Ethernet header rewrite + functionality that can be configured through the + ``rte_node_ip4_rewrite_add`` function. * Packet drop node: Frees the packets received to their respective mempool. * **Added new l3fwd-graph sample application.** - Added an example application ``l3fwd-graph``. It demonstrates the usage of graph - library and node library for packet processing. In addition to the library usage - demonstration, this application can use for performance comparison with existing - ``l3fwd`` (The static code without any nodes) with the modular ``l3fwd-graph`` - approach. + Added an example application ``l3fwd-graph``. This demonstrates the usage of + the graph library and node library for packet processing. In addition to the + library usage demonstration, this application can be used for performance + comparison of the existing ``l3fwd`` (static code without any nodes) with + the modular ``l3fwd-graph`` approach. -* **Updated testpmd application.** +* **Updated the testpmd application.** - * Added a new cmdline option ``--rx-mq-mode`` which can be used to test PMD's - behaviour on handling Rx mq mode. + Added a new cmdline option ``--rx-mq-mode`` which can be used to test PMD's + behaviour on handling Rx mq mode. * **Added support for GCC 10.** Added support for building with GCC 10.1. -Removed Items -------------- - -.. This section should contain removed items in this release. Sample format: - - * Add a short 1-2 sentence description of the removed item - in the past tense. - - This section is a comment. Do not overwrite or remove it. - Also, make sure to start the actual text at the margin. - ========================================================= - - API Changes ----------- @@ -358,7 +357,7 @@ API Changes ========================================================= * mempool: The API of ``rte_mempool_populate_iova()`` and - ``rte_mempool_populate_virt()`` changed to return 0 instead of -EINVAL + ``rte_mempool_populate_virt()`` changed to return 0 instead of ``-EINVAL`` when there is not enough room to store one object. @@ -380,21 +379,6 @@ ABI Changes * No ABI change that would break compatibility with DPDK 20.02 and 19.11. -Known Issues ------------- - -.. This section should contain new known issues in this release. Sample format: - - * **Add title in present tense with full stop.** - - Add a short 1-2 sentence description of the known issue - in the present tense. Add information on any known workarounds. - - This section is a comment. Do not overwrite or remove it. - Also, make sure to start the actual text at the margin. - ========================================================= - - Tested Platforms ---------------- -- 2.20.1