[v4,70/86] net/ntnic: add aging documentation

Message ID 20241029164243.1648775-71-sil-plv@napatech.com (mailing list archive)
State Superseded, archived
Delegated to: Ferruh Yigit
Headers
Series Provide flow filter API and statistics |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

Serhii Iliushyk Oct. 29, 2024, 4:42 p.m. UTC
From: Danylo Vodopianov <dvo-plv@napatech.com>

ntnic.rst document was exntede with age feature specification.
ntnic.ini was extended with rte_flow action age support.

Signed-off-by: Danylo Vodopianov <dvo-plv@napatech.com>
---
 doc/guides/nics/features/ntnic.ini     |  1 +
 doc/guides/nics/ntnic.rst              | 18 ++++++++++++++++++
 doc/guides/rel_notes/release_24_11.rst |  1 +
 3 files changed, 20 insertions(+)
  

Comments

Ferruh Yigit Oct. 30, 2024, 1:56 a.m. UTC | #1
On 10/29/2024 4:42 PM, Serhii Iliushyk wrote:
> From: Danylo Vodopianov <dvo-plv@napatech.com>
> 
> ntnic.rst document was exntede with age feature specification.
> ntnic.ini was extended with rte_flow action age support.
> 
> Signed-off-by: Danylo Vodopianov <dvo-plv@napatech.com>
> ---
>  doc/guides/nics/features/ntnic.ini     |  1 +
>  doc/guides/nics/ntnic.rst              | 18 ++++++++++++++++++
>  doc/guides/rel_notes/release_24_11.rst |  1 +
>  3 files changed, 20 insertions(+)
> 
> diff --git a/doc/guides/nics/features/ntnic.ini b/doc/guides/nics/features/ntnic.ini
> index 947c7ba3a1..af2981ccf6 100644
> --- a/doc/guides/nics/features/ntnic.ini
> +++ b/doc/guides/nics/features/ntnic.ini
> @@ -33,6 +33,7 @@ udp                  = Y
>  vlan                 = Y
>  
>  [rte_flow actions]
> +age                  = Y
>  drop                 = Y
>  jump                 = Y
>  mark                 = Y
> diff --git a/doc/guides/nics/ntnic.rst b/doc/guides/nics/ntnic.rst
> index e7e1cbcff7..e5a8d71892 100644
> --- a/doc/guides/nics/ntnic.rst
> +++ b/doc/guides/nics/ntnic.rst
> @@ -148,3 +148,21 @@ FILTER
>  To enable logging on all levels use wildcard in the following way::
>  
>     --log-level=pmd.net.ntnic.*,8
> +
> +Flow Scanner
> +------------
> +
> +Flow Scanner is DPDK mechanism that constantly and periodically scans the RTE flow tables to check for aged-out flows.
> +When flow timeout is reached, i.e. no packets were matched by the flow within timeout period,
> +``RTE_ETH_EVENT_FLOW_AGED`` event is reported, and flow is marked as aged-out.
> +
> +Therefore, flow scanner functionality is closely connected to the RTE flows' ``age`` action.
> +
> +There are list of characteristics that ``age timeout`` action has:
> +    - functions only in group > 0;
> +    - flow timeout is specified in seconds;
> +    - flow scanner checks flows age timeout once in 1-480 seconds, therefore, flows may not age-out immediately, depedning on how big are intervals of flow scanner mechanism checks;
> +    - aging counters can display maximum of **n - 1** aged flows when aging counters are set to **n**;
> +    - overall 15 different timeouts can be specified for the flows at the same time (note that this limit is combined for all actions, therefore, 15 different actions can be created at the same time, maximum limit of 15 can be reached only across different groups - when 5 flows with different timeouts are created per one group, otherwise the limit within one group is 14 distinct flows);
> +    - after flow is aged-out it's not automatically deleted;
> +    - aged-out flow can be updated with ``flow update`` command, and its aged-out status will be reverted;
> diff --git a/doc/guides/rel_notes/release_24_11.rst b/doc/guides/rel_notes/release_24_11.rst
> index 75769d1992..b449b01dc8 100644
> --- a/doc/guides/rel_notes/release_24_11.rst
> +++ b/doc/guides/rel_notes/release_24_11.rst
> @@ -162,6 +162,7 @@ New Features
>    * Added basic handling of the virtual queues.
>    * Added flow handling API
>    * Added statistics API
> +  * Added age rte flow action support
>  

Similar comment as previous, please merge this patch with the patch that
introduces the flow aging functionality.

Same for "meter documentation" patch, "documentation for flow actions
update" patch, "flow API documentation" patch and "documentation for set
MTU" patch.
  

Patch

diff --git a/doc/guides/nics/features/ntnic.ini b/doc/guides/nics/features/ntnic.ini
index 947c7ba3a1..af2981ccf6 100644
--- a/doc/guides/nics/features/ntnic.ini
+++ b/doc/guides/nics/features/ntnic.ini
@@ -33,6 +33,7 @@  udp                  = Y
 vlan                 = Y
 
 [rte_flow actions]
+age                  = Y
 drop                 = Y
 jump                 = Y
 mark                 = Y
diff --git a/doc/guides/nics/ntnic.rst b/doc/guides/nics/ntnic.rst
index e7e1cbcff7..e5a8d71892 100644
--- a/doc/guides/nics/ntnic.rst
+++ b/doc/guides/nics/ntnic.rst
@@ -148,3 +148,21 @@  FILTER
 To enable logging on all levels use wildcard in the following way::
 
    --log-level=pmd.net.ntnic.*,8
+
+Flow Scanner
+------------
+
+Flow Scanner is DPDK mechanism that constantly and periodically scans the RTE flow tables to check for aged-out flows.
+When flow timeout is reached, i.e. no packets were matched by the flow within timeout period,
+``RTE_ETH_EVENT_FLOW_AGED`` event is reported, and flow is marked as aged-out.
+
+Therefore, flow scanner functionality is closely connected to the RTE flows' ``age`` action.
+
+There are list of characteristics that ``age timeout`` action has:
+    - functions only in group > 0;
+    - flow timeout is specified in seconds;
+    - flow scanner checks flows age timeout once in 1-480 seconds, therefore, flows may not age-out immediately, depedning on how big are intervals of flow scanner mechanism checks;
+    - aging counters can display maximum of **n - 1** aged flows when aging counters are set to **n**;
+    - overall 15 different timeouts can be specified for the flows at the same time (note that this limit is combined for all actions, therefore, 15 different actions can be created at the same time, maximum limit of 15 can be reached only across different groups - when 5 flows with different timeouts are created per one group, otherwise the limit within one group is 14 distinct flows);
+    - after flow is aged-out it's not automatically deleted;
+    - aged-out flow can be updated with ``flow update`` command, and its aged-out status will be reverted;
diff --git a/doc/guides/rel_notes/release_24_11.rst b/doc/guides/rel_notes/release_24_11.rst
index 75769d1992..b449b01dc8 100644
--- a/doc/guides/rel_notes/release_24_11.rst
+++ b/doc/guides/rel_notes/release_24_11.rst
@@ -162,6 +162,7 @@  New Features
   * Added basic handling of the virtual queues.
   * Added flow handling API
   * Added statistics API
+  * Added age rte flow action support
 
 * **Added cryptodev queue pair reset support.**