On 2/15/2023 6:25 AM, Rakesh Kudurumalla wrote:
> Introduce new flow action to skip congestion management configuration
> 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
> 
> Signed-off-by: Rakesh Kudurumalla <rkuduruma...@marvell.com>
> Acked-by: Ori Kam <or...@nvidia.com>
> Acked-by: Jerin Jacob <jer...@marvell.com>
> ---
> v9: Distributed doc updates to relevant patches
> 
>  doc/guides/nics/features/default.ini   |  1 +
>  doc/guides/prog_guide/rte_flow.rst     | 22 ++++++++++++++++++++++
>  doc/guides/rel_notes/release_23_03.rst |  6 ++++++
>  lib/ethdev/rte_flow.h                  | 11 +++++++++++
>  4 files changed, 40 insertions(+)
> 
> diff --git a/doc/guides/nics/features/default.ini 
> b/doc/guides/nics/features/default.ini
> index 510cc6679d..b93f053a2b 100644
> --- a/doc/guides/nics/features/default.ini
> +++ b/doc/guides/nics/features/default.ini
> @@ -198,6 +198,7 @@ set_tag              =
>  set_tp_dst           =
>  set_tp_src           =
>  set_ttl              =
> +skip_cman            =
>  vf                   =
>  vxlan_decap          =
>  vxlan_encap          =
> diff --git a/doc/guides/prog_guide/rte_flow.rst 
> b/doc/guides/prog_guide/rte_flow.rst
> index 3e6242803d..4efadcc87b 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/doc/guides/rel_notes/release_23_03.rst 
> b/doc/guides/rel_notes/release_23_03.rst
> index bf90feba68..1dd10e26db 100644
> --- a/doc/guides/rel_notes/release_23_03.rst
> +++ b/doc/guides/rel_notes/release_23_03.rst
> @@ -60,6 +60,12 @@ New Features
>    Added lock annotations attributes so that clang can statically analyze lock
>    correctness.
>  
> +* **Added support to skip congestion management configuration.**
> +
> +  Added a new action ``RTE_FLOW_ACTION_TYPE_SKIP_CMAN`` to skip
> +  congestion management processing based on per flow or packet color
> +  identified by rte_flow meter object
> +

Can you please rebase on next-net [1], there you will see other flow API
entries?


[1]
https://dpdk.org/git/next/dpdk-next-net

>  * **Updated AMD axgbe driver.**
>  
>    * Added multi-process support.
> diff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h
> index b60987db4b..6ab632df9d 100644
> --- a/lib/ethdev/rte_flow.h
> +++ b/lib/ethdev/rte_flow.h
> @@ -2736,6 +2736,17 @@ enum rte_flow_action_type {
>        * No associated configuration structure.
>        */
>       RTE_FLOW_ACTION_TYPE_SEND_TO_KERNEL,
> +
> +     /**
> +      * 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.
> +      *
> +      */
> +     RTE_FLOW_ACTION_TYPE_SKIP_CMAN,
>  };
>  
>  /**

Reply via email to