[PATCH v6 1/3] ethdev: skip congestion management configuration
Jerin Jacob
jerinjacobk at gmail.com
Fri Feb 10 10:27:20 CET 2023
On Fri, Feb 10, 2023 at 1:56 PM Rakesh Kudurumalla
<rkudurumalla at 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 <rkudurumalla at marvell.com>
> Acked-by: Ori Kam <orika at nvidia.com>
Acked-by: Jerin Jacob <jerinj at 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
>
More information about the dev
mailing list