From bb34b08dc6ce9dadb6459cbc217036b6eb59bd73 Mon Sep 17 00:00:00 2001 From: Florian Westphal Date: Tue, 3 Nov 2020 11:12:50 +0100 Subject: tests: json: add missing test case output Fix warnings and errors when running nf-test.py -j due to missing json test case updates. This also makes bridge/reject.t pass in json mode. No code changes. Fixes: 8615ed93f6e4c4 ("evaluate: enable reject with 802.1q") Fixes: fae0a0972d7a71 ("tests: py: Enable anonymous set rule with concatenated ranges in inet/sets.t") Fixes: 2a20b5bdbde8a1 ("datatype: add frag-needed (ipv4) to reject options") Signed-off-by: Florian Westphal --- tests/py/bridge/reject.t | 2 +- tests/py/bridge/reject.t.json | 72 ++++++++++++++++++++++++++++++++++++++++ tests/py/inet/sets.t.json | 74 ++++++++++++++++++++++++++++++++++++++++++ tests/py/ip/icmp.t.json | 4 +-- tests/py/ip/icmp.t.json.output | 2 +- 5 files changed, 150 insertions(+), 4 deletions(-) (limited to 'tests') diff --git a/tests/py/bridge/reject.t b/tests/py/bridge/reject.t index f5ed2038..ee33af77 100644 --- a/tests/py/bridge/reject.t +++ b/tests/py/bridge/reject.t @@ -32,7 +32,7 @@ ether type ip6 reject with icmp type host-unreachable;fail ether type ip reject with icmpv6 type no-route;fail ether type vlan reject;ok ether type arp reject;fail -ether type vlan reject with tcp reset;ok +ether type vlan reject with tcp reset;ok;meta l4proto 6 ether type vlan reject with tcp reset ether type arp reject with tcp reset;fail ip protocol udp reject with tcp reset;fail diff --git a/tests/py/bridge/reject.t.json b/tests/py/bridge/reject.t.json index d20a1d8b..aea871f7 100644 --- a/tests/py/bridge/reject.t.json +++ b/tests/py/bridge/reject.t.json @@ -267,3 +267,75 @@ } ] +# ether type vlan reject with tcp reset +[ + { + "match": { + "left": { + "meta": { + "key": "l4proto" + } + }, + "op": "==", + "right": 6 + } + }, + { + "match": { + "left": { + "payload": { + "field": "type", + "protocol": "ether" + } + }, + "op": "==", + "right": "vlan" + } + }, + { + "reject": { + "type": "tcp reset" + } + } +] + +# ether type vlan reject +[ + { + "match": { + "left": { + "payload": { + "field": "type", + "protocol": "ether" + } + }, + "op": "==", + "right": "vlan" + } + }, + { + "reject": null + } +] + +# ether type vlan reject with icmpx type admin-prohibited +[ + { + "match": { + "left": { + "payload": { + "field": "type", + "protocol": "ether" + } + }, + "op": "==", + "right": "vlan" + } + }, + { + "reject": { + "expr": "admin-prohibited", + "type": "icmpx" + } + } +] diff --git a/tests/py/inet/sets.t.json b/tests/py/inet/sets.t.json index 58e19ef6..ef0cedca 100644 --- a/tests/py/inet/sets.t.json +++ b/tests/py/inet/sets.t.json @@ -71,3 +71,77 @@ } ] +# ip daddr . tcp dport { 10.0.0.0/8 . 10-23, 192.168.1.1-192.168.3.8 . 80-443 } accept +[ + { + "match": { + "left": { + "meta": { + "key": "nfproto" + } + }, + "op": "==", + "right": "ipv4" + } + }, + { + "match": { + "left": { + "concat": [ + { + "payload": { + "field": "daddr", + "protocol": "ip" + } + }, + { + "payload": { + "field": "dport", + "protocol": "tcp" + } + } + ] + }, + "op": "==", + "right": { + "set": [ + { + "concat": [ + { + "prefix": { + "addr": "10.0.0.0", + "len": 8 + } + }, + { + "range": [ + 10, + 23 + ] + } + ] + }, + { + "concat": [ + { + "range": [ + "192.168.1.1", + "192.168.3.8" + ] + }, + { + "range": [ + 80, + 443 + ] + } + ] + } + ] + } + } + }, + { + "accept": null + } +] diff --git a/tests/py/ip/icmp.t.json b/tests/py/ip/icmp.t.json index 4e172745..965eb10b 100644 --- a/tests/py/ip/icmp.t.json +++ b/tests/py/ip/icmp.t.json @@ -480,7 +480,7 @@ } ] -# icmp code != { prot-unreachable, 4, 33, 54, 56} +# icmp code != { prot-unreachable, frag-needed, 33, 54, 56} [ { "match": { @@ -494,7 +494,7 @@ "right": { "set": [ "prot-unreachable", - 4, + "frag-needed", 33, 54, 56 diff --git a/tests/py/ip/icmp.t.json.output b/tests/py/ip/icmp.t.json.output index e8045bb8..2391983a 100644 --- a/tests/py/ip/icmp.t.json.output +++ b/tests/py/ip/icmp.t.json.output @@ -49,7 +49,7 @@ "right": { "set": [ "prot-unreachable", - 4, + "frag-needed", 33, 54, 56 -- cgit v1.2.3