On Fri, Feb 10, 2023 at 1:56 PM Rakesh Kudurumalla
<rkuduruma...@marvell.com> 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>


> ---
> v6: Moved cnxk.ini and cnxk_vf.ini to cnxk specific patch
>  doc/guides/nics/features/default.ini |  1 +
>  doc/guides/prog_guide/rte_flow.rst   | 22 ++++++++++++++++++++++
>  lib/ethdev/rte_flow.h                | 11 +++++++++++
>  3 files changed, 34 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/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h
> index b60987db4b..f4eb4232d4 100644
> --- a/lib/ethdev/rte_flow.h
> +++ b/lib/ethdev/rte_flow.h
> @@ -2203,6 +2203,17 @@ enum rte_flow_action_type {
>          */
>         RTE_FLOW_ACTION_TYPE_DROP,
>
> +       /**
> +        * 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,
> +
>         /**
>          * Enables counters for this flow rule.
>          *
> --
> 2.25.1
>

Reply via email to