From: Pablo Neira Ayuso Date: Fri, 17 Jun 2022 16:05:15 +0000 (+0200) Subject: optimize: add hash expression support X-Git-Tag: v1.0.5~38 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8f61a69e035d04834937fc28a42cf1841d825054;p=thirdparty%2Fnftables.git optimize: add hash expression support Extend expr_cmp() to compare hash expressions used in relational. Signed-off-by: Pablo Neira Ayuso --- diff --git a/src/optimize.c b/src/optimize.c index 1fa46cb6..abd0b72f 100644 --- a/src/optimize.c +++ b/src/optimize.c @@ -107,6 +107,18 @@ static bool __expr_cmp(const struct expr *expr_a, const struct expr *expr_b) if (expr_a->numgen.offset != expr_b->numgen.offset) return false; break; + case EXPR_HASH: + if (expr_a->hash.mod != expr_b->hash.mod) + return false; + if (expr_a->hash.seed_set != expr_b->hash.seed_set) + return false; + if (expr_a->hash.seed != expr_b->hash.seed) + return false; + if (expr_a->hash.offset != expr_b->hash.offset) + return false; + if (expr_a->hash.type != expr_b->hash.type) + return false; + break; case EXPR_BINOP: return __expr_cmp(expr_a->left, expr_b->left); default: