]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
tests: shell: split set NAT interval test
authorPablo Neira Ayuso <pablo@netfilter.org>
Tue, 7 Nov 2023 10:41:19 +0000 (11:41 +0100)
committerPablo Neira Ayuso <pablo@netfilter.org>
Sat, 11 Nov 2023 09:05:26 +0000 (10:05 +0100)
Split test in two, one for interval sets and another with concatenation
+ intervals, so at least intervals are tested in older kernels with no
pipapo support.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
tests/shell/testcases/sets/0067nat_concat_interval_0
tests/shell/testcases/sets/0067nat_interval_0 [new file with mode: 0755]
tests/shell/testcases/sets/dumps/0067nat_concat_interval_0.nft
tests/shell/testcases/sets/dumps/0067nat_interval_0.nft [new file with mode: 0644]

index 55cc0d4b43dfd63973428fff88d3019b66e1b92e..816219573870a7a74b5be9887169945a7d896880 100755 (executable)
@@ -1,21 +1,8 @@
 #!/bin/bash
 
-set -e
-
-EXPECTED="table ip nat {
-       map ipportmap {
-                type ipv4_addr : interval ipv4_addr . inet_service
-                flags interval
-                elements = { 192.168.1.2 : 10.141.10.1-10.141.10.3 . 8888-8999 }
-       }
-       chain prerouting {
-                type nat hook prerouting priority dstnat; policy accept;
-                ip protocol tcp dnat ip to ip saddr map @ipportmap
-       }
-}"
+# NFT_TEST_REQUIRES(NFT_TEST_HAVE_pipapo)
 
-$NFT -f - <<< $EXPECTED
-$NFT add element ip nat ipportmap { 192.168.2.0/24 : 10.141.11.5-10.141.11.20 . 8888-8999 }
+set -e
 
 EXPECTED="table ip nat {
         map ipportmap2 {
diff --git a/tests/shell/testcases/sets/0067nat_interval_0 b/tests/shell/testcases/sets/0067nat_interval_0
new file mode 100755 (executable)
index 0000000..c90203d
--- /dev/null
@@ -0,0 +1,18 @@
+#!/bin/bash
+
+set -e
+
+EXPECTED="table ip nat {
+       map ipportmap {
+                type ipv4_addr : interval ipv4_addr . inet_service
+                flags interval
+                elements = { 192.168.1.2 : 10.141.10.1-10.141.10.3 . 8888-8999 }
+       }
+       chain prerouting {
+                type nat hook prerouting priority dstnat; policy accept;
+                ip protocol tcp dnat ip to ip saddr map @ipportmap
+       }
+}"
+
+$NFT -f - <<< $EXPECTED
+$NFT add element ip nat ipportmap { 192.168.2.0/24 : 10.141.11.5-10.141.11.20 . 8888-8999 }
index 0215691e28eec2f9ccc49ba542f0eeba36f4f155..9ac3774a7222c7cc18683e76381617f3605544f0 100644 (file)
@@ -1,10 +1,4 @@
 table ip nat {
-       map ipportmap {
-               type ipv4_addr : interval ipv4_addr . inet_service
-               flags interval
-               elements = { 192.168.1.2 : 10.141.10.1-10.141.10.3 . 8888-8999, 192.168.2.0/24 : 10.141.11.5-10.141.11.20 . 8888-8999 }
-       }
-
        map ipportmap2 {
                type ipv4_addr . ipv4_addr : interval ipv4_addr . inet_service
                flags interval
@@ -33,7 +27,6 @@ table ip nat {
 
        chain prerouting {
                type nat hook prerouting priority dstnat; policy accept;
-               ip protocol tcp dnat ip to ip saddr map @ipportmap
                ip protocol tcp dnat ip to ip saddr . ip daddr map @ipportmap2
                meta l4proto { tcp, udp } dnat ip to ip daddr . th dport map @fwdtoip_th
                dnat ip to iifname . ip saddr map @ipportmap4
diff --git a/tests/shell/testcases/sets/dumps/0067nat_interval_0.nft b/tests/shell/testcases/sets/dumps/0067nat_interval_0.nft
new file mode 100644 (file)
index 0000000..b6d07fc
--- /dev/null
@@ -0,0 +1,12 @@
+table ip nat {
+       map ipportmap {
+               type ipv4_addr : interval ipv4_addr . inet_service
+               flags interval
+               elements = { 192.168.1.2 : 10.141.10.1-10.141.10.3 . 8888-8999, 192.168.2.0/24 : 10.141.11.5-10.141.11.20 . 8888-8999 }
+       }
+
+       chain prerouting {
+               type nat hook prerouting priority dstnat; policy accept;
+               ip protocol tcp dnat ip to ip saddr map @ipportmap
+       }
+}