]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
tests: py: add dnat to port without defining destination address
authorPablo Neira Ayuso <pablo@netfilter.org>
Thu, 22 Jul 2021 15:43:56 +0000 (17:43 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Thu, 22 Jul 2021 15:45:31 +0000 (17:45 +0200)
Add a test to cover dnat to port without destination address.

Closes: https://bugzilla.netfilter.org/show_bug.cgi?id=1428
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
tests/py/inet/dnat.t
tests/py/inet/dnat.t.json
tests/py/inet/dnat.t.payload

index b460af392557031093193c0a36f30aec1cee2970..e4e169f2bc3ec3118ead4f4963aff0cd51ae4422 100644 (file)
@@ -6,6 +6,7 @@ iifname "foo" tcp dport 80 redirect to :8080;ok
 
 iifname "eth0" tcp dport 443 dnat ip to 192.168.3.2;ok
 iifname "eth0" tcp dport 443 dnat ip6 to [dead::beef]:4443;ok
+meta l4proto tcp dnat to :80;ok;meta l4proto 6 dnat to :80
 
 dnat ip to ct mark map { 0x00000014 : 1.2.3.4};ok
 dnat ip to ct mark . ip daddr map { 0x00000014 . 1.1.1.1 : 1.2.3.4};ok
index 1b8aba6297d36bed1df5c9178f446beeda2c66af..c341a0455fea1526f1f4b8dfbe0d24dec282106f 100644 (file)
     }
 ]
 
+# meta l4proto tcp dnat to :80
+[
+    {
+        "match": {
+            "left": {
+                "meta": {
+                    "key": "l4proto"
+                }
+            },
+            "op": "==",
+            "right": 6
+        }
+    },
+    {
+        "dnat": {
+            "port": 80
+        }
+    }
+]
+
index ca3ff6316682e7ec84c2029927a7c5b0fe0e3d1b..ce1601ab5c9e84d4f9abf7124cbc52b9e723f24d 100644 (file)
@@ -77,3 +77,10 @@ inet
   [ immediate reg 2 0x00005000 ]
   [ nat dnat ip addr_min reg 1 proto_min reg 2 flags 0x2 ]
 
+# meta l4proto tcp dnat to :80
+inet
+  [ meta load l4proto => reg 1 ]
+  [ cmp eq reg 1 0x00000006 ]
+  [ immediate reg 1 0x00005000 ]
+  [ nat dnat inet proto_min reg 1 flags 0x2 ]
+