[dpdk-dev] [PATCH 1/2] ethdev: introduce transfer attribute to shared action conf
Ori Kam
orika at nvidia.com
Sun Nov 1 10:35:15 CET 2020
Hi Ivan
> -----Original Message-----
> From: Ori Kam
> Sent: Sunday, November 1, 2020 10:12 AM
> Subject: RE: [dpdk-dev] [PATCH 1/2] ethdev: introduce transfer attribute to
> shared action conf
>
> Hi Ivan,
>
> > -----Original Message-----
> > From: Ivan Malov <Ivan.Malov at oktetlabs.ru>
> > Sent: Friday, October 30, 2020 10:35 PM
> > Subject: Re: [dpdk-dev] [PATCH 1/2] ethdev: introduce transfer attribute to
> > shared action conf
> >
> > Hi,
> >
> > On 30/10/2020 18:49, Xueming(Steven) Li wrote:
> > > Hi Ivan,
> > >
> > >> -----Original Message-----
> > >> From: dev <dev-bounces at dpdk.org> On Behalf Of Ivan Malov
> > >> Sent: Thursday, October 29, 2020 7:47 PM
> > >> To: dev at dpdk.org
> > >> Cc: Ori Kam <orika at nvidia.com>; NBU-Contact-Thomas Monjalon
> > >> <thomas at monjalon.net>; Ferruh Yigit <ferruh.yigit at intel.com>; Andrew
> > >> Rybchenko <andrew.rybchenko at oktetlabs.ru>
> > >> Subject: [dpdk-dev] [PATCH 1/2] ethdev: introduce transfer attribute to
> > >> shared action conf
> > >>
> > >> In a flow rule, attribute "transfer" means operation level at which both
> > traffic
> > >> is matched and actions are conducted.
> > >>
> > >> Add the very same attribute to shared action configuration.
> > >> If a driver needs to prepare HW resources in two different ways,
> depending
> > >> on the operation level, in order to set up an action, then this new attribute
> > >> will indicate the level.
> > >> Also, when handling a flow rule insertion, the driver will be able to turn
> > >> down a shared action if its level is unfit.
> > > Most actions apply to both level, rss and queue action applies on non-
> transfer
> > level,
> > > Port action applies to transfer level. Is there a particular scenario for this
> new
> > attribute?
> >
> > Most doesn't mean all, and you've already described some of the
> > exceptions. And that's exactly the deal. Particular scenarios are don't
> > cares given the fact that such an attribute is meant to be a generic
> > solution. If an action happens to be supported on both levels, this
> > doesn't necessarily mean that HW resources/objects that need to be
> > prepared in the two cases are of the same type (or programmed to the NIC
> > the same way). This is exactly what applies to flow rules (which do have
> > attribute transfer) and what should be done to shared action conf, too.
> >
> > If this still seems vague, please let me know.
> >
>
> The only question is can we see a reason to share action between transfer and
> non transfer?
>
> I don't see such a reason and I think it can improve the code. So I vote to add it.
>
>
> In any case, you are missing the rte_flow rst update.
> I can see that the rst also misses the ingress bits, can you please also
> create a fix for those?
>
Please disregard my last comment about doc update.
Ori
> Thanks,
> Ori
>
>
> > >
> > >>
> > >> Signed-off-by: Ivan Malov <ivan.malov at oktetlabs.ru>
> > >> ---
> > >> lib/librte_ethdev/rte_flow.h | 7 +++++++
> > >> 1 file changed, 7 insertions(+)
> > >>
> > >> diff --git a/lib/librte_ethdev/rte_flow.h b/lib/librte_ethdev/rte_flow.h
> index
> > >> a8eac4deb..0b993d8eb 100644
> > >> --- a/lib/librte_ethdev/rte_flow.h
> > >> +++ b/lib/librte_ethdev/rte_flow.h
> > >> @@ -3487,6 +3487,13 @@ struct rte_flow_shared_action_conf {
> > >> /**< Action valid for rules applied to ingress traffic. */
> > >> uint32_t egress:1;
> > >> /**< Action valid for rules applied to egress traffic. */
> > >> +
> > >> + /**
> > >> + * This attribute matches that of the flow rules which
> > >> + * are supposed to comprise the given shared action.
> > >> + * See struct rte_flow_attr.
> > >> + */
> > >> + uint32_t transfer:1;
> > >> };
> > >>
> > >> /**
> > >> --
> > >> 2.20.1
> >
> > --
> > Ivan M
More information about the dev
mailing list