Skip the congestion management configuration applied using
rte_eth_cman_config_set() API on the given ethdev Rx queue.

Signed-off-by: Rakesh Kudurumalla <rkuduruma...@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
+        *
+        * 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.
         *
-- 
2.25.1

Reply via email to