[dpdk-dev] [PATCH 04/13] acl: allow zero verdict
Michal Miroslaw
mirq-linux at rere.qmqm.pl
Tue Dec 13 14:54:43 CET 2016
On Tue, Dec 13, 2016 at 10:36:16AM +0000, Ananyev, Konstantin wrote:
> Hi Michal,
>
> > -----Original Message-----
> > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Michal Miroslaw
> > Sent: Tuesday, December 13, 2016 1:08 AM
> > To: dev at dpdk.org
> > Subject: [dpdk-dev] [PATCH 04/13] acl: allow zero verdict
> >
> > Signed-off-by: Michał Mirosław <michal.miroslaw at atendesoftware.pl>
> > ---
> > lib/librte_acl/rte_acl.c | 3 +--
> > lib/librte_acl/rte_acl.h | 2 --
> > lib/librte_table/rte_table_acl.c | 2 +-
> > 3 files changed, 2 insertions(+), 5 deletions(-)
> >
> > diff --git a/lib/librte_acl/rte_acl.c b/lib/librte_acl/rte_acl.c
> > index 8b7e92c..d1f40be 100644
> > --- a/lib/librte_acl/rte_acl.c
> > +++ b/lib/librte_acl/rte_acl.c
> > @@ -313,8 +313,7 @@ acl_check_rule(const struct rte_acl_rule_data *rd)
> > if ((RTE_LEN2MASK(RTE_ACL_MAX_CATEGORIES, typeof(rd->category_mask)) &
> > rd->category_mask) == 0 ||
> > rd->priority > RTE_ACL_MAX_PRIORITY ||
> > - rd->priority < RTE_ACL_MIN_PRIORITY ||
> > - rd->userdata == RTE_ACL_INVALID_USERDATA)
> > + rd->priority < RTE_ACL_MIN_PRIORITY)
> > return -EINVAL;
> > return 0;
> > }
>
> I am not sure, how it supposed to work properly?
> Zero value is reserved and ifnicates that no match were found for that input.
This is actually in use by us. In our use we don't need to differentiate
matching a rule with zero verdict vs not matching a rule at all. I also
have a patch that changes the value returned in non-matching case, but
it's in "dirty hack" state, as of yet.
The ACL code does not treat zero userdata specially, so this is only
a policy choice and as such would be better to be made by the user.
Best Regards,
Michał Mirosław
More information about the dev
mailing list