diff options
author | Florian Westphal <fw@strlen.de> | 2017-10-19 01:58:47 +0200 |
---|---|---|
committer | Florian Westphal <fw@strlen.de> | 2017-10-26 23:46:10 +0200 |
commit | f94c2f69102fc5249ee18565fa6ad3bd4b82441e (patch) | |
tree | e353e179d9b1e62728008e2ce7c2db105e11c4e3 /tests/py/inet | |
parent | 07da331f27f9331475cdf685ec27fef42a6887d5 (diff) |
tests: add test case that checks icmp6 in-ipv4
nft does not handle this correctly.
This test fails. In:
inet input ip protocol ipv6-icmp meta l4proto ipv6-icmp icmpv6 type 1
Out:
meta l4proto 58 icmpv6 type destination-unreachable
which loses the "ipv4" dependency, i.e. listing should show the rule as-is.
Signed-off-by: Florian Westphal <fw@strlen.de>
Diffstat (limited to 'tests/py/inet')
-rw-r--r-- | tests/py/inet/icmpX.t | 2 | ||||
-rw-r--r-- | tests/py/inet/icmpX.t.payload | 10 |
2 files changed, 12 insertions, 0 deletions
diff --git a/tests/py/inet/icmpX.t b/tests/py/inet/icmpX.t index aebaf099..43ac0909 100644 --- a/tests/py/inet/icmpX.t +++ b/tests/py/inet/icmpX.t @@ -6,3 +6,5 @@ ip protocol icmp icmp type echo-request;ok;icmp type echo-request icmp type echo-request;ok ip6 nexthdr icmpv6 icmpv6 type echo-request;ok;ip6 nexthdr 58 icmpv6 type echo-request icmpv6 type echo-request;ok +# must not remove 'ip protocol' dependency, this explicitly matches icmpv6-in-ipv4. +ip protocol ipv6-icmp meta l4proto ipv6-icmp icmpv6 type 1;ok;ip protocol 58 meta l4proto 58 icmpv6 type destination-unreachable diff --git a/tests/py/inet/icmpX.t.payload b/tests/py/inet/icmpX.t.payload index 7c5f6f01..9a761eef 100644 --- a/tests/py/inet/icmpX.t.payload +++ b/tests/py/inet/icmpX.t.payload @@ -34,3 +34,13 @@ inet test-inet input [ payload load 1b @ transport header + 0 => reg 1 ] [ cmp eq reg 1 0x00000080 ] +# ip protocol ipv6-icmp meta l4proto ipv6-icmp icmpv6 type 1 +inet filter input + [ meta load nfproto => reg 1 ] + [ cmp eq reg 1 0x00000002 ] + [ payload load 1b @ network header + 9 => reg 1 ] + [ cmp eq reg 1 0x0000003a ] + [ meta load l4proto => reg 1 ] + [ cmp eq reg 1 0x0000003a ] + [ payload load 1b @ transport header + 0 => reg 1 ] + [ cmp eq reg 1 0x00000001 ] |