diff options
author | Florian Westphal <fw@strlen.de> | 2017-05-07 03:53:30 +0200 |
---|---|---|
committer | Florian Westphal <fw@strlen.de> | 2017-05-19 09:41:22 +0200 |
commit | 0825c57d571bb7121e7048e198b9b023f7e7f358 (patch) | |
tree | 2ac4b55af1e8f675d8e918ca8967c6c9b2c8deae /src/proto.c | |
parent | 81d78c6e73d49dabae9414a9fda4efcb5fa7e224 (diff) |
src: ip: switch implicit dependencies to meta l4proto too
after ip6 nexthdr also switch ip to meta l4proto instead of ip protocol.
While its needed for ipv6 (due to extension headers) this isn't needed
for ip but it has the advantage that
tcp dport 22
produces same expressions for ip/ip6/inet families.
Signed-off-by: Florian Westphal <fw@strlen.de>
Diffstat (limited to 'src/proto.c')
-rw-r--r-- | src/proto.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/proto.c b/src/proto.c index 3b20a5fd..2afedf77 100644 --- a/src/proto.c +++ b/src/proto.c @@ -587,7 +587,6 @@ const struct proto_desc proto_ip = { .name = "ip", .base = PROTO_BASE_NETWORK_HDR, .checksum_key = IPHDR_CHECKSUM, - .protocol_key = IPHDR_PROTOCOL, .protocols = { PROTO_LINK(IPPROTO_ICMP, &proto_icmp), PROTO_LINK(IPPROTO_ESP, &proto_esp), @@ -600,6 +599,7 @@ const struct proto_desc proto_ip = { PROTO_LINK(IPPROTO_SCTP, &proto_sctp), }, .templates = { + [0] = PROTO_META_TEMPLATE("l4proto", &inet_protocol_type, NFT_META_L4PROTO, 8), [IPHDR_VERSION] = HDR_BITFIELD("version", &integer_type, 0, 4), [IPHDR_HDRLENGTH] = HDR_BITFIELD("hdrlength", &integer_type, 4, 4), [IPHDR_DSCP] = HDR_BITFIELD("dscp", &dscp_type, 8, 6), @@ -779,6 +779,7 @@ const struct proto_desc proto_inet_service = { PROTO_LINK(IPPROTO_TCP, &proto_tcp), PROTO_LINK(IPPROTO_DCCP, &proto_dccp), PROTO_LINK(IPPROTO_SCTP, &proto_sctp), + PROTO_LINK(IPPROTO_ICMP, &proto_icmp), PROTO_LINK(IPPROTO_ICMPV6, &proto_icmp6), }, .templates = { |