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