@@ -63,6 +63,7 @@ meta mark xor 0x03 != 0x01;ok;meta mark != 0x00000002
meta iif "lo" accept;ok;iif "lo" accept
meta iif != "lo" accept;ok;iif != "lo" accept
+meta iif 0;fail
meta iifname "dummy0";ok;iifname "dummy0"
meta iifname != "dummy0";ok;iifname != "dummy0"
@@ -78,9 +79,14 @@ meta iiftype != ether;ok
meta iiftype ether;ok
meta iiftype != ppp;ok
meta iiftype ppp;ok
+meta iiftype 0xffff;fail
+
+meta iifkind "bond";ok
+meta iifkind "";fail
meta oif "lo" accept;ok;oif "lo" accept
meta oif != "lo" accept;ok;oif != "lo" accept
+meta oif 0;fail
meta oifname "dummy0";ok;oifname "dummy0"
meta oifname != "dummy0";ok;oifname != "dummy0"
@@ -93,6 +99,10 @@ meta oiftype {ether, ppp, ipip, ipip6, loopback, sit, ipgre};ok
meta oiftype != {ether, ppp, ipip, ipip6, loopback, sit, ipgre};ok
meta oiftype != ether;ok
meta oiftype ether;ok
+meta oiftype 0xffff;fail
+
+meta oifkind "bond";ok
+meta oifkind "";fail
meta skuid {"bin", "root", "daemon"} accept;ok;meta skuid { 0, 1, 2} accept
meta skuid != {"bin", "root", "daemon"} accept;ok;meta skuid != { 1, 0, 2} accept
@@ -952,6 +952,21 @@
}
]
+# meta iifkind "bond"
+[
+ {
+ "match": {
+ "left": {
+ "meta": {
+ "key": "iifkind"
+ }
+ },
+ "op": "==",
+ "right": "bond"
+ }
+ }
+]
+
# meta oif "lo" accept
[
{
@@ -1113,6 +1128,21 @@
}
]
+# meta oifkind "bond"
+[
+ {
+ "match": {
+ "left": {
+ "meta": {
+ "key": "oifkind"
+ }
+ },
+ "op": "==",
+ "right": "bond"
+ }
+ }
+]
+
# meta oiftype ether
[
{
@@ -263,6 +263,11 @@ ip test-ip4 input
[ meta load iiftype => reg 1 ]
[ cmp eq reg 1 0x00000200 ]
+# meta iifkind "bond"
+ip test-ip4 input
+ [ meta load iifkind => reg 1 ]
+ [ cmp eq reg 1 0x646e6f62 0x00000000 0x00000000 0x00000000 ]
+
# meta oif "lo" accept
ip test-ip4 input
[ meta load oif => reg 1 ]
@@ -329,6 +334,11 @@ ip test-ip4 input
[ meta load oiftype => reg 1 ]
[ cmp eq reg 1 0x00000001 ]
+# meta oifkind "bond"
+ip test-ip4 input
+ [ meta load oifkind => reg 1 ]
+ [ cmp eq reg 1 0x646e6f62 0x00000000 0x00000000 0x00000000 ]
+
# meta skuid {"bin", "root", "daemon"} accept
__set%d test-ip4 3
__set%d test-ip4 0
Ensure invalid values are rejected. Also add basic positive tests for {i,o}ifkind. Signed-off-by: Phil Sutter <phil@nwl.cc> --- tests/py/any/meta.t | 10 ++++++++++ tests/py/any/meta.t.json | 30 ++++++++++++++++++++++++++++++ tests/py/any/meta.t.payload | 10 ++++++++++ 3 files changed, 50 insertions(+)