From: Pablo Neira Ayuso Date: Wed, 4 Jan 2023 10:25:07 +0000 (+0100) Subject: optimize: payload expression requires inner_desc comparison X-Git-Tag: v1.0.7~38 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=798499bdcfd3a745027c77687275b6a3abdd952e;p=thirdparty%2Fnftables.git optimize: payload expression requires inner_desc comparison Since 772892a018b4 ("src: add vxlan matching support"), payload expressions have an inner_desc field that provides the description for the outer tunnel header. When searching for common mergeable selectors, compare the inner description too. Signed-off-by: Pablo Neira Ayuso --- diff --git a/src/optimize.c b/src/optimize.c index 09013efc..32aed866 100644 --- a/src/optimize.c +++ b/src/optimize.c @@ -46,6 +46,8 @@ static bool __expr_cmp(const struct expr *expr_a, const struct expr *expr_b) return false; if (expr_a->payload.desc != expr_b->payload.desc) return false; + if (expr_a->payload.inner_desc != expr_b->payload.inner_desc) + return false; if (expr_a->payload.tmpl != expr_b->payload.tmpl) return false; break;