summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorFlorian Westphal <fw@strlen.de>2015-11-10 11:55:20 +0100
committerFlorian Westphal <fw@strlen.de>2015-11-10 11:55:20 +0100
commit8ac986f862040a331e57984ad705a54e9c09417b (patch)
treef367223e4daa66944b463fe2793e24ba49ec215a /tests
parent787dff95e3bf2074d3089536be935c1a59aa0160 (diff)
tests: add inet test for ip/ether concatenation
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>
Diffstat (limited to 'tests')
-rw-r--r--tests/regression/inet/ip.t7
-rw-r--r--tests/regression/inet/ip.t.payload.bridge11
-rw-r--r--tests/regression/inet/ip.t.payload.inet13
-rw-r--r--tests/regression/inet/ip.t.payload.ip11
4 files changed, 42 insertions, 0 deletions
diff --git a/tests/regression/inet/ip.t b/tests/regression/inet/ip.t
new file mode 100644
index 00000000..a56c5c97
--- /dev/null
+++ b/tests/regression/inet/ip.t
@@ -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
index 00000000..606e3b34
--- /dev/null
+++ b/tests/regression/inet/ip.t.payload.bridge
@@ -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
index 00000000..c8e9b054
--- /dev/null
+++ b/tests/regression/inet/ip.t.payload.inet
@@ -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
index 00000000..66f14681
--- /dev/null
+++ b/tests/regression/inet/ip.t.payload.ip
@@ -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 ]