X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=doc%2Fguides%2Frel_notes%2Frelease_20_05.rst;h=c287cb48a0789f33d6b68037c9cc60a7ea36d327;hb=cafe1242595d168d711cf62447191fe218b76773;hp=ce885316fe9f8b559ad97c52e5cca62b38c159ff;hpb=c13cecf60f128cc6ae89557d9799f4f92d785cdc;p=dpdk.git diff --git a/doc/guides/rel_notes/release_20_05.rst b/doc/guides/rel_notes/release_20_05.rst index ce885316fe..c287cb48a0 100644 --- a/doc/guides/rel_notes/release_20_05.rst +++ b/doc/guides/rel_notes/release_20_05.rst @@ -56,6 +56,16 @@ New Features Also, make sure to start the actual text at the margin. ========================================================= +* **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 new API for rte_ring.** * New synchronization modes for rte_ring. @@ -72,17 +82,89 @@ New Features (enqueue/dequeue start; enqueue/dequeue finish). That allows user to inspect objects in the ring without removing them from it (aka MT safe peek). +* **Added flow aging support.** + + Added flow aging support to detect and report aged-out flows, including: + + * Added new action: ``RTE_FLOW_ACTION_TYPE_AGE`` to set the timeout + and the application flow context for each flow. + * Added new event: ``RTE_ETH_EVENT_FLOW_AGED`` for the driver to report + that there are new aged-out flows. + * Added new query: ``rte_flow_get_aged_flows`` to get the aged-out flows + contexts from the port. + +* **Updated Amazon ena driver.** + + Updated 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 support for accelerated LLQ mode. + * Handling of the 0 length descriptors on the Rx path. + +* **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. + * Added support for RSS using L3/L4 source/destination only. + * Added support for setting hash function in rte flow. + +* **Updated the Intel iavf driver.** + + Update the Intel iavf driver with new features and improvements, including: + + * Added generic filter support. + * Added advanced iavf with FDIR capability. + * Added advanced RSS configuration for VFs. + +* **Updated the Intel ice driver.** + + 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. + +* **Updated Marvell OCTEON TX2 ethdev driver.** + + Updated Marvell OCTEON TX2 ethdev driver with traffic manager support with + below features. + + * Hierarchial Scheduling with DWRR and SP. + * Single rate - Two color, Two rate - Three color shaping. + * **Updated Mellanox mlx5 driver.** Updated Mellanox mlx5 driver with new features and improvements, including: * Added support for matching on IPv4 Time To Live and IPv6 Hop Limit. + * Added support for creating Relaxed Ordering Memory Regions. + * Added support for jumbo frame size (9K MTU) in Multi-Packet RQ mode. + * Optimized the memory consumption of flow. * **Updated the AESNI MB crypto PMD.** + * Added support for intel-ipsec-mb version 0.54. * Updated the AESNI MB PMD with AES-256 DOCSIS algorithm. * Added support for synchronous Crypto burst API. +* **Updated the AESNI GCM 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 host based flow table management + * Added flow counters to extended stats + * Added PCI function stats to extended stats + * **Added handling of mixed crypto algorithms in QAT PMD for GEN2.** Enabled handling of mixed algorithms in encrypted digest hash-cipher @@ -90,6 +172,11 @@ New Features 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 support for plain SHA-1, SHA-224, SHA-256, SHA-384 and SHA-512 hashes + to QAT PMD. + * **Added QAT intermediate buffer too small handling in QAT compression PMD.** Added a special way of buffer handling when internal QAT intermediate buffer @@ -104,6 +191,12 @@ New Features Supported large size code blocks which does not fit in one mbuf segment. +* **Added Intel FPGA_5GNR_FEC bbdev PMD.** + + Added a new ``fpga_5gnr_fec`` bbdev driver for the Intel\ |reg| FPGA PAC + (Programmable Acceleration Card) N3000. See the + :doc:`../bbdevs/fpga_5gnr_fec` BBDEV guide for more details on this new driver. + * **Updated ipsec-secgw sample application with following features.** * Updated ipsec-secgw application to add event based packet processing. @@ -119,6 +212,38 @@ New Features * Added IPsec inbound load-distribution support for ipsec-secgw application using NIC load distribution feature(Flow Director). +* **Added rte_graph library.** + + 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 rte_node library which consists of a set of packet processing nodes.** + + 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: + + * 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 + 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. + * 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. + Removed Items ------------- @@ -148,6 +273,10 @@ API Changes Also, make sure to start the actual text at the margin. ========================================================= +* mempool: The API of ``rte_mempool_populate_iova()`` and + ``rte_mempool_populate_virt()`` changed to return 0 instead of -EINVAL + when there is not enough room to store one object. + ABI Changes -----------