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 >