summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorFlorian Westphal <fw@strlen.de>2018-03-27 12:11:04 +0200
committerFlorian Westphal <fw@strlen.de>2018-03-27 12:11:41 +0200
commitdebb5c542918492545ca3243b49afeb0bde83609 (patch)
tree1fa42c3c28c08d50737e7cda9d77d53096967869 /tests
parent483e5ea7167e1537accf4cb083b88a8beea8f834 (diff)
tests: meta: icmp, icmpv6: don't kill required dependencies
when explicitly filtering icmp-in-ipv6 and icmp6-in-ip don't remove the required l3 protocol dependency, else "nft list ruleset" can't be read via nft -f anymore. Signed-off-by: Florian Westphal <fw@strlen.de>
Diffstat (limited to 'tests')
-rw-r--r--tests/py/any/meta.t1
-rw-r--r--tests/py/any/meta.t.payload7
-rw-r--r--tests/py/ip/meta.t9
-rw-r--r--tests/py/ip/meta.t.payload28
-rw-r--r--tests/py/ip6/meta.t11
5 files changed, 48 insertions, 8 deletions
diff --git a/tests/py/any/meta.t b/tests/py/any/meta.t
index 9da20d03..3165ef2c 100644
--- a/tests/py/any/meta.t
+++ b/tests/py/any/meta.t
@@ -33,7 +33,6 @@ meta l4proto { 33, 55, 67, 88};ok;meta l4proto { 33, 55, 67, 88}
meta l4proto != { 33, 55, 67, 88};ok
meta l4proto { 33-55};ok
meta l4proto != { 33-55};ok
-meta l4proto ipv6-icmp icmpv6 type nd-router-advert;ok;icmpv6 type nd-router-advert
meta priority root;ok
meta priority none;ok
diff --git a/tests/py/any/meta.t.payload b/tests/py/any/meta.t.payload
index 48eae4a9..21c6cdd3 100644
--- a/tests/py/any/meta.t.payload
+++ b/tests/py/any/meta.t.payload
@@ -161,13 +161,6 @@ ip test-ip4 input
[ byteorder reg 1 = hton(reg 1, 2, 1) ]
[ lookup reg 1 set __set%d 0x1 ]
-# meta l4proto ipv6-icmp icmpv6 type nd-router-advert
-ip test-ip4 input
- [ meta load l4proto => reg 1 ]
- [ cmp eq reg 1 0x0000003a ]
- [ payload load 1b @ transport header + 0 => reg 1 ]
- [ cmp eq reg 1 0x00000086 ]
-
# meta mark 0x4
ip test-ip4 input
[ meta load mark => reg 1 ]
diff --git a/tests/py/ip/meta.t b/tests/py/ip/meta.t
new file mode 100644
index 00000000..31c99500
--- /dev/null
+++ b/tests/py/ip/meta.t
@@ -0,0 +1,9 @@
+:input;type filter hook input priority 0
+
+*ip;test-ip4;input
+
+icmp type echo-request;ok
+meta l4proto icmp icmp type echo-request;ok;icmp type echo-request
+meta l4proto ipv6-icmp icmpv6 type nd-router-advert;ok;meta l4proto 58 icmpv6 type nd-router-advert
+meta l4proto 58 icmpv6 type nd-router-advert;ok
+icmpv6 type nd-router-advert;fail
diff --git a/tests/py/ip/meta.t.payload b/tests/py/ip/meta.t.payload
new file mode 100644
index 00000000..b186b4b5
--- /dev/null
+++ b/tests/py/ip/meta.t.payload
@@ -0,0 +1,28 @@
+# icmp type echo-request
+ip test-ip4 input
+ [ meta load l4proto => reg 1 ]
+ [ cmp eq reg 1 0x00000001 ]
+ [ payload load 1b @ transport header + 0 => reg 1 ]
+ [ cmp eq reg 1 0x00000008 ]
+
+# meta l4proto icmp icmp type echo-request
+ip test-ip4 input
+ [ meta load l4proto => reg 1 ]
+ [ cmp eq reg 1 0x00000001 ]
+ [ payload load 1b @ transport header + 0 => reg 1 ]
+ [ cmp eq reg 1 0x00000008 ]
+
+# meta l4proto ipv6-icmp icmpv6 type nd-router-advert
+ip test-ip4 input
+ [ meta load l4proto => reg 1 ]
+ [ cmp eq reg 1 0x0000003a ]
+ [ payload load 1b @ transport header + 0 => reg 1 ]
+ [ cmp eq reg 1 0x00000086 ]
+
+# meta l4proto 58 icmpv6 type nd-router-advert
+ip test-ip4 input
+ [ meta load l4proto => reg 1 ]
+ [ cmp eq reg 1 0x0000003a ]
+ [ payload load 1b @ transport header + 0 => reg 1 ]
+ [ cmp eq reg 1 0x00000086 ]
+
diff --git a/tests/py/ip6/meta.t b/tests/py/ip6/meta.t
new file mode 100644
index 00000000..68fa89f5
--- /dev/null
+++ b/tests/py/ip6/meta.t
@@ -0,0 +1,11 @@
+:input;type filter hook input priority 0
+
+*ip6;test-ip6;input
+
+icmpv6 type nd-router-advert;ok
+meta l4proto ipv6-icmp icmpv6 type nd-router-advert;ok;icmpv6 type nd-router-advert
+
+meta l4proto icmp icmp type echo-request;ok;meta l4proto 1 icmp type echo-request
+meta l4proto 1 icmp type echo-request;ok
+
+icmp type echo-request;fail