[dpdk-dev] [PATCH 04/13] acl: allow zero verdict
Ananyev, Konstantin
konstantin.ananyev at intel.com
Tue Dec 13 11:36:16 CET 2016
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.
Konstantin
> diff --git a/lib/librte_acl/rte_acl.h b/lib/librte_acl/rte_acl.h
> index caa91f7..b53179a 100644
> --- a/lib/librte_acl/rte_acl.h
> +++ b/lib/librte_acl/rte_acl.h
> @@ -120,8 +120,6 @@ enum {
> RTE_ACL_MIN_PRIORITY = 0,
> };
>
> -#define RTE_ACL_INVALID_USERDATA 0
> -
> #define RTE_ACL_MASKLEN_TO_BITMASK(v, s) \
> ((v) == 0 ? (v) : (typeof(v))((uint64_t)-1 << ((s) * CHAR_BIT - (v))))
>
> diff --git a/lib/librte_table/rte_table_acl.c b/lib/librte_table/rte_table_acl.c
> index 8f1f8ce..94b69a9 100644
> --- a/lib/librte_table/rte_table_acl.c
> +++ b/lib/librte_table/rte_table_acl.c
> @@ -792,7 +792,7 @@ rte_table_acl_lookup(
>
> pkts_mask &= ~pkt_mask;
>
> - if (action_table_pos != RTE_ACL_INVALID_USERDATA) {
> + if (action_table_pos != 0) {
> pkts_out_mask |= pkt_mask;
> entries[pkt_pos] = (void *)
> &acl->memory[action_table_pos *
> --
> 2.10.2
More information about the dev
mailing list