diff options
author | Phil Sutter <phil@nwl.cc> | 2018-06-21 14:01:13 +0200 |
---|---|---|
committer | Florian Westphal <fw@strlen.de> | 2018-06-26 16:23:21 +0200 |
commit | 056aaa3e6dc65aced5e552233ac3e7f89fb81f86 (patch) | |
tree | b3fc68dd87fcf94f8b5f10c23eae216e67245de8 /tests/py/inet/icmp.t.json | |
parent | 78ba4ffdeacc9b31f7396d72c98907e861024653 (diff) |
netlink_delinearize: Refactor meta_may_dependency_kill()
The original intent was to fix a bug: The following rule in inet table:
| meta nfproto ipv4 icmpv6 type echo-reply
Was added correctly but when printing the meta match was falsely
removed. The fix is to deny dependency killing if RHS family of nfproto
match doesn't match RHS family of l4proto match. Adding this to the
already large conditional led to even more unreadable code, therefore
this patch tries to clean that up (and also removes the partial code
duplication.
Signed-off-by: Phil Sutter <phil@nwl.cc>
Signed-off-by: Florian Westphal <fw@strlen.de>
Diffstat (limited to 'tests/py/inet/icmp.t.json')
-rw-r--r-- | tests/py/inet/icmp.t.json | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/tests/py/inet/icmp.t.json b/tests/py/inet/icmp.t.json new file mode 100644 index 00000000..c4517605 --- /dev/null +++ b/tests/py/inet/icmp.t.json @@ -0,0 +1,114 @@ +# icmp type echo-request +[ + { + "match": { + "left": { + "payload": { + "field": "type", + "name": "icmp" + } + }, + "right": "echo-request" + } + } +] + +# icmpv6 type echo-request +[ + { + "match": { + "left": { + "payload": { + "field": "type", + "name": "icmpv6" + } + }, + "right": "echo-request" + } + } +] + +# meta nfproto ipv4 icmp type echo-request +[ + { + "match": { + "left": { "meta": "nfproto" }, + "right": "ipv4" + } + }, + { + "match": { + "left": { + "payload": { + "field": "type", + "name": "icmp" + } + }, + "right": "echo-request" + } + } +] + +# meta nfproto ipv4 icmpv6 type echo-request +[ + { + "match": { + "left": { "meta": "nfproto" }, + "right": "ipv4" + } + }, + { + "match": { + "left": { + "payload": { + "field": "type", + "name": "icmpv6" + } + }, + "right": "echo-request" + } + } +] + +# meta nfproto ipv6 icmp type echo-request +[ + { + "match": { + "left": { "meta": "nfproto" }, + "right": "ipv6" + } + }, + { + "match": { + "left": { + "payload": { + "field": "type", + "name": "icmp" + } + }, + "right": "echo-request" + } + } +] + +# meta nfproto ipv6 icmpv6 type echo-request +[ + { + "match": { + "left": { "meta": "nfproto" }, + "right": "ipv6" + } + }, + { + "match": { + "left": { + "payload": { + "field": "type", + "name": "icmpv6" + } + }, + "right": "echo-request" + } + } +] + |