From 7e6be917987c3ab0261bf543eb307cbb2679294f Mon Sep 17 00:00:00 2001 From: Jeremy Sowden Date: Sun, 18 Sep 2022 18:22:12 +0100 Subject: segtree: fix decomposition of unclosed intervals containing address prefixes The code which decomposes unclosed intervals doesn't check for prefixes. This leads to incorrect output for sets which contain these. For example, # nft -f - < Signed-off-by: Florian Westphal --- .../sets/dumps/0071unclosed_prefix_interval_0.nft | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 tests/shell/testcases/sets/dumps/0071unclosed_prefix_interval_0.nft (limited to 'tests/shell/testcases/sets/dumps/0071unclosed_prefix_interval_0.nft') diff --git a/tests/shell/testcases/sets/dumps/0071unclosed_prefix_interval_0.nft b/tests/shell/testcases/sets/dumps/0071unclosed_prefix_interval_0.nft new file mode 100644 index 00000000..4eed94c2 --- /dev/null +++ b/tests/shell/testcases/sets/dumps/0071unclosed_prefix_interval_0.nft @@ -0,0 +1,19 @@ +table inet t { + set s1 { + type ipv4_addr + flags interval + elements = { 10.0.0.0/8, 192.0.0.0/2 } + } + + set s2 { + type ipv6_addr + flags interval + elements = { fe80::/10, + ff00::/8 } + } + + chain c { + ip saddr @s1 accept + ip6 daddr @s2 accept + } +} -- cgit v1.2.3