124 lines
4.6 KiB
Diff
124 lines
4.6 KiB
Diff
From 20b2a43a27321b052fb9d626b13eb6de3668a9c8 Mon Sep 17 00:00:00 2001
|
|
From: Phil Sutter <psutter@redhat.com>
|
|
Date: Fri, 17 Jul 2026 11:08:40 +0200
|
|
Subject: [PATCH] tests: shell: split set NAT interval test
|
|
|
|
JIRA: https://issues.redhat.com/browse/RHEL-190549
|
|
Upstream Status: nftables commit b95bbe966bd2431fee7b19aa0902aba10f9be696
|
|
|
|
commit b95bbe966bd2431fee7b19aa0902aba10f9be696
|
|
Author: Pablo Neira Ayuso <pablo@netfilter.org>
|
|
Date: Tue Nov 7 11:41:19 2023 +0100
|
|
|
|
tests: shell: split set NAT interval test
|
|
|
|
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>
|
|
|
|
Signed-off-by: Phil Sutter <psutter@redhat.com>
|
|
---
|
|
.../testcases/sets/0067nat_concat_interval_0 | 17 ++---------------
|
|
tests/shell/testcases/sets/0067nat_interval_0 | 18 ++++++++++++++++++
|
|
.../sets/dumps/0067nat_concat_interval_0.nft | 7 -------
|
|
.../sets/dumps/0067nat_interval_0.nft | 12 ++++++++++++
|
|
4 files changed, 32 insertions(+), 22 deletions(-)
|
|
create mode 100755 tests/shell/testcases/sets/0067nat_interval_0
|
|
create mode 100644 tests/shell/testcases/sets/dumps/0067nat_interval_0.nft
|
|
|
|
diff --git a/tests/shell/testcases/sets/0067nat_concat_interval_0 b/tests/shell/testcases/sets/0067nat_concat_interval_0
|
|
index 55cc0d4..8162195 100755
|
|
--- a/tests/shell/testcases/sets/0067nat_concat_interval_0
|
|
+++ b/tests/shell/testcases/sets/0067nat_concat_interval_0
|
|
@@ -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
|
|
index 0000000..c90203d
|
|
--- /dev/null
|
|
+++ b/tests/shell/testcases/sets/0067nat_interval_0
|
|
@@ -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 }
|
|
diff --git a/tests/shell/testcases/sets/dumps/0067nat_concat_interval_0.nft b/tests/shell/testcases/sets/dumps/0067nat_concat_interval_0.nft
|
|
index 0215691..9ac3774 100644
|
|
--- a/tests/shell/testcases/sets/dumps/0067nat_concat_interval_0.nft
|
|
+++ b/tests/shell/testcases/sets/dumps/0067nat_concat_interval_0.nft
|
|
@@ -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
|
|
index 0000000..b6d07fc
|
|
--- /dev/null
|
|
+++ b/tests/shell/testcases/sets/dumps/0067nat_interval_0.nft
|
|
@@ -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
|
|
+ }
|
|
+}
|