]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
tests: add inet test for ip/ether concatenation
authorFlorian Westphal <fw@strlen.de>
Tue, 10 Nov 2015 10:55:20 +0000 (11:55 +0100)
committerFlorian Westphal <fw@strlen.de>
Tue, 10 Nov 2015 10:55:20 +0000 (11:55 +0100)
Test rule from Pablo, it caused assertion failure with earlier
versions of nft (caused by 7ead4932f9ab, later fixed via
775e7ff1f5ddaa32).

Signed-off-by: Florian Westphal <fw@strlen.de>
tests/regression/inet/ip.t [new file with mode: 0644]
tests/regression/inet/ip.t.payload.bridge [new file with mode: 0644]
tests/regression/inet/ip.t.payload.inet [new file with mode: 0644]
tests/regression/inet/ip.t.payload.ip [new file with mode: 0644]

diff --git a/tests/regression/inet/ip.t b/tests/regression/inet/ip.t
new file mode 100644 (file)
index 0000000..a56c5c9
--- /dev/null
@@ -0,0 +1,7 @@
+*ip;test-ip4
+*inet;test-inet
+*bridge;test-bridge
+
+:input;type filter hook input priority 0
+
+ip saddr . ip daddr . ether saddr { 1.1.1.1 . 2.2.2.2 . ca:fe:ca:fe:ca:fe };ok
diff --git a/tests/regression/inet/ip.t.payload.bridge b/tests/regression/inet/ip.t.payload.bridge
new file mode 100644 (file)
index 0000000..606e3b3
--- /dev/null
@@ -0,0 +1,11 @@
+# ip saddr . ip daddr . ether saddr { 1.1.1.1 . 2.2.2.2 . ca:fe:ca:fe:ca:fe }
+set%d test-bridge 3
+set%d test-bridge 0
+       element 01010101 02020202 fecafeca 0000feca  : 0 [end]
+bridge test-bridge input
+  [ payload load 2b @ link header + 12 => reg 1 ]
+  [ cmp eq reg 1 0x00000008 ]
+  [ payload load 4b @ network header + 12 => reg 1 ]
+  [ payload load 4b @ network header + 16 => reg 9 ]
+  [ payload load 6b @ link header + 6 => reg 10 ]
+  [ lookup reg 1 set set%d ]
diff --git a/tests/regression/inet/ip.t.payload.inet b/tests/regression/inet/ip.t.payload.inet
new file mode 100644 (file)
index 0000000..c8e9b05
--- /dev/null
@@ -0,0 +1,13 @@
+# ip saddr . ip daddr . ether saddr { 1.1.1.1 . 2.2.2.2 . ca:fe:ca:fe:ca:fe }
+set%d test-inet 3
+set%d test-inet 0
+       element 01010101 02020202 fecafeca 0000feca  : 0 [end]
+inet test-inet input
+  [ meta load nfproto => reg 1 ]
+  [ cmp eq reg 1 0x00000002 ]
+  [ meta load iiftype => reg 1 ]
+  [ cmp eq reg 1 0x00000001 ]
+  [ payload load 4b @ network header + 12 => reg 1 ]
+  [ payload load 4b @ network header + 16 => reg 9 ]
+  [ payload load 6b @ link header + 6 => reg 10 ]
+  [ lookup reg 1 set set%d ]
diff --git a/tests/regression/inet/ip.t.payload.ip b/tests/regression/inet/ip.t.payload.ip
new file mode 100644 (file)
index 0000000..66f1468
--- /dev/null
@@ -0,0 +1,11 @@
+# ip saddr . ip daddr . ether saddr { 1.1.1.1 . 2.2.2.2 . ca:fe:ca:fe:ca:fe }
+set%d test-ip4 3
+set%d test-ip4 0
+       element 01010101 02020202 fecafeca 0000feca  : 0 [end]
+ip test-ip4 input
+  [ meta load iiftype => reg 1 ]
+  [ cmp eq reg 1 0x00000001 ]
+  [ payload load 4b @ network header + 12 => reg 1 ]
+  [ payload load 4b @ network header + 16 => reg 9 ]
+  [ payload load 6b @ link header + 6 => reg 10 ]
+  [ lookup reg 1 set set%d ]