summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2023-01-04 11:25:07 +0100
committerPablo Neira Ayuso <pablo@netfilter.org>2023-01-04 12:34:36 +0100
commit798499bdcfd3a745027c77687275b6a3abdd952e (patch)
tree79e39cf614fba916754e84fb5c16bf9c4a4f15f3 /src
parent9215d41addac21da9cf4747680a1021e7fd8396f (diff)
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 <pablo@netfilter.org>
Diffstat (limited to 'src')
-rw-r--r--src/optimize.c2
1 files changed, 2 insertions, 0 deletions
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;