[v3,1/3] lib: skip congestion management configuration

Message ID 20230209072402.957747-1-rkudurumalla@marvell.com (mailing list archive)
State Superseded, archived
Delegated to: Ferruh Yigit
Headers
Series [v3,1/3] lib: skip congestion management configuration |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

Rakesh Kudurumalla Feb. 9, 2023, 7:24 a.m. UTC
  Skip the congestion management configuration applied using
rte_eth_cman_config_set() API on the given ethdev Rx queue.

Signed-off-by: Rakesh Kudurumalla <rkudurumalla@marvell.com>
---
v3: Updated comments and programmers guide regrading
new action
 doc/guides/prog_guide/rte_flow.rst | 22 ++++++++++++++++++++++
 lib/ethdev/rte_flow.h              | 20 ++++++++++++++++++++
 2 files changed, 42 insertions(+)
  

Comments

Jerin Jacob Feb. 9, 2023, 7:31 a.m. UTC | #1
On Thu, Feb 9, 2023 at 12:54 PM Rakesh Kudurumalla
<rkudurumalla@marvell.com> wrote:
>
> Skip the congestion management configuration applied using
> rte_eth_cman_config_set() API on the given ethdev Rx queue.
>
> Signed-off-by: Rakesh Kudurumalla <rkudurumalla@marvell.com>
> ---
> v3: Updated comments and programmers guide regrading
> new action
>  doc/guides/prog_guide/rte_flow.rst | 22 ++++++++++++++++++++++
>  lib/ethdev/rte_flow.h              | 20 ++++++++++++++++++++
>  2 files changed, 42 insertions(+)
>
> diff --git a/doc/guides/prog_guide/rte_flow.rst b/doc/guides/prog_guide/rte_flow.rst
> index 3e6242803d..0737b877da 100644
> --- a/doc/guides/prog_guide/rte_flow.rst
> +++ b/doc/guides/prog_guide/rte_flow.rst
> @@ -1840,6 +1840,28 @@ Drop packets.
>     | no properties |
>     +---------------+
>
> +
> +Action: ``SKIP_CMAN``
> +^^^^^^^^^^^^^^^^^^^
> +
> +Skip congestion management on received packets
> +
> +- Using ``rte_eth_cman_config_set()``, application can configure ethdev Rx
> +  queue's congestion mechanism.Once applied packets congestion configuration
> +  is bypassed on that particular ethdev Rx queue for all packets directed
> +  to that receive queue
> +
> +.. _table_rte_flow_action_skip_cman:
> +
> +.. table:: SKIP_CMAN
> +
> +   +---------------+
> +   | Field         |
> +   +===============+
> +   | no properties |
> +   +---------------+
> +
> +
>  Action: ``COUNT``
>  ^^^^^^^^^^^^^^^^^
>
> diff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h
> index b60987db4b..5ae00e2245 100644
> --- a/lib/ethdev/rte_flow.h
> +++ b/lib/ethdev/rte_flow.h
> @@ -2203,6 +2203,26 @@ enum rte_flow_action_type {
>          */
>         RTE_FLOW_ACTION_TYPE_DROP,
>
> +       /**
> +        * Skip congestion management configuration
> +        *
> +        * ethdev: introduce flow action to skip congestion
> +        * management configuration

This supposes to be git commit heading.

> +        *
> +        * Using rte_eth_cman_config_set() API the application
> +        * can configure ethdev Rx queue's congestion mechanism.
> +        * Introducing RTE_FLOW_ACTION_TYPE_SKIP_CMAN flow action to skip the
> +        * congestion configuration applied to the given ethdev Rx queue.

This paragraph is OK here.

> +        *
> +        * This feature helps to skip the congestion management processing
> +        * based on per flow or the packet color identified by
> +        * rte_flow meter object. For example, If one Rx queue configured as
> +        * RED congestion and application wants tobypass the RED congestion
> +        * processing for all GREEN color packet can be expressed though
> +        * RTE_FLOW_ACTION_TYPE_SKIP_CMAN flow action

Move this to git commit log

> +        */
> +       RTE_FLOW_ACTION_TYPE_SKIP_CMAN,
> +
>         /**
>          * Enables counters for this flow rule.
>          *
> --
> 2.25.1
>
  

Patch

diff --git a/doc/guides/prog_guide/rte_flow.rst b/doc/guides/prog_guide/rte_flow.rst
index 3e6242803d..0737b877da 100644
--- a/doc/guides/prog_guide/rte_flow.rst
+++ b/doc/guides/prog_guide/rte_flow.rst
@@ -1840,6 +1840,28 @@  Drop packets.
    | no properties |
    +---------------+
 
+
+Action: ``SKIP_CMAN``
+^^^^^^^^^^^^^^^^^^^
+
+Skip congestion management on received packets
+
+- Using ``rte_eth_cman_config_set()``, application can configure ethdev Rx
+  queue's congestion mechanism.Once applied packets congestion configuration
+  is bypassed on that particular ethdev Rx queue for all packets directed
+  to that receive queue
+
+.. _table_rte_flow_action_skip_cman:
+
+.. table:: SKIP_CMAN
+
+   +---------------+
+   | Field         |
+   +===============+
+   | no properties |
+   +---------------+
+
+
 Action: ``COUNT``
 ^^^^^^^^^^^^^^^^^
 
diff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h
index b60987db4b..5ae00e2245 100644
--- a/lib/ethdev/rte_flow.h
+++ b/lib/ethdev/rte_flow.h
@@ -2203,6 +2203,26 @@  enum rte_flow_action_type {
 	 */
 	RTE_FLOW_ACTION_TYPE_DROP,
 
+	/**
+	 * Skip congestion management configuration
+	 *
+	 * ethdev: introduce flow action to skip congestion
+	 * management configuration
+	 *
+	 * Using rte_eth_cman_config_set() API the application
+	 * can configure ethdev Rx queue's congestion mechanism.
+	 * Introducing RTE_FLOW_ACTION_TYPE_SKIP_CMAN flow action to skip the
+	 * congestion configuration applied to the given ethdev Rx queue.
+	 *
+	 * This feature helps to skip the congestion management processing
+	 * based on per flow or the packet color identified by
+	 * rte_flow meter object. For example, If one Rx queue configured as
+	 * RED congestion and application wants tobypass the RED congestion
+	 * processing for all GREEN color packet can be expressed though
+	 * RTE_FLOW_ACTION_TYPE_SKIP_CMAN flow action
+	 */
+	RTE_FLOW_ACTION_TYPE_SKIP_CMAN,
+
 	/**
 	 * Enables counters for this flow rule.
 	 *