Thread (79 messages) 79 messages, 9 authors, 2017-05-05

Re: [PATCH 04/13] acl: allow zero verdict

From: Michal Miroslaw <mirq-linux@rere.qmqm.pl>
Date: 2016-12-13 13:54:44

On Tue, Dec 13, 2016 at 10:36:16AM +0000, Ananyev, Konstantin wrote:
Hi Michal,
quoted
-----Original Message-----
From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Michal Miroslaw
Sent: Tuesday, December 13, 2016 1:08 AM
To: dev@dpdk.org
Subject: [dpdk-dev] [PATCH 04/13] acl: allow zero verdict

Signed-off-by: Michał Mirosław <redacted>
---
 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help