Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> --- src/optimize.c | 3 ++- .../testcases/optimizations/dumps/merge_reject.nft | 6 ++++++ tests/shell/testcases/optimizations/merge_reject | 11 +++++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/optimize.c b/src/optimize.c index e4508fa5116a..c6b85d74d302 100644 --- a/src/optimize.c +++ b/src/optimize.c @@ -944,7 +944,8 @@ static enum stmt_types merge_stmt_type(const struct optimize_ctx *ctx) } } - return STMT_INVALID; + /* actually no verdict, this assumes rules have the same verdict. */ + return STMT_VERDICT; } static void merge_rules(const struct optimize_ctx *ctx, diff --git a/tests/shell/testcases/optimizations/dumps/merge_reject.nft b/tests/shell/testcases/optimizations/dumps/merge_reject.nft index 9a13e2b96faa..c29ad6d5648b 100644 --- a/tests/shell/testcases/optimizations/dumps/merge_reject.nft +++ b/tests/shell/testcases/optimizations/dumps/merge_reject.nft @@ -5,3 +5,9 @@ table ip x { ip daddr 172.30.254.252 tcp dport 3306 counter packets 0 bytes 0 reject with tcp reset } } +table ip6 x { + chain y { + meta l4proto . ip6 daddr . tcp dport { tcp . aaaa::3 . 8080, tcp . aaaa::2 . 3306, tcp . aaaa::4 . 3306 } counter packets 0 bytes 0 reject + ip6 daddr aaaa::5 tcp dport 3306 counter packets 0 bytes 0 reject with tcp reset + } +} diff --git a/tests/shell/testcases/optimizations/merge_reject b/tests/shell/testcases/optimizations/merge_reject index 497e8f64dc5d..c0ef9cacbbf0 100755 --- a/tests/shell/testcases/optimizations/merge_reject +++ b/tests/shell/testcases/optimizations/merge_reject @@ -13,3 +13,14 @@ RULESET="table ip x { }" $NFT -o -f - <<< $RULESET + +RULESET="table ip6 x { + chain y { + meta l4proto tcp ip6 daddr aaaa::2 tcp dport 3306 counter packets 0 bytes 0 reject + meta l4proto tcp ip6 daddr aaaa::3 tcp dport 8080 counter packets 0 bytes 0 reject + meta l4proto tcp ip6 daddr aaaa::4 tcp dport 3306 counter packets 0 bytes 0 reject + meta l4proto tcp ip6 daddr aaaa::5 tcp dport 3306 counter packets 0 bytes 0 reject with tcp reset + } +}" + +$NFT -o -f - <<< $RULESET -- 2.30.2