doc: add l3fwd-graph application user guide
[dpdk.git] / doc / guides / rel_notes / release_20_05.rst
index 2cc5836..c287cb4 100644 (file)
@@ -82,6 +82,17 @@ 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:
@@ -104,6 +115,8 @@ New Features
   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.**
 
@@ -126,6 +139,8 @@ New Features
 
   * 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.**
 
@@ -142,6 +157,14 @@ New Features
   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
@@ -189,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
 -------------
@@ -218,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
 -----------