diff options
author | Florian Westphal | 2019-01-15 22:03:33 +0100 |
---|---|---|
committer | Pablo Neira Ayuso | 2019-01-18 15:02:33 +0100 |
commit | e2e48b471634faa6958718c27208d366b13fe878 (patch) | |
tree | a4f6d1ced3b29a5546115f19b99cf12e56edd6e9 /net/netfilter/nf_conntrack_core.c | |
parent | netfilter: conntrack: handle builtin l4proto packet functions via direct calls (diff) | |
download | kernel-qcow2-linux-e2e48b471634faa6958718c27208d366b13fe878.tar.gz kernel-qcow2-linux-e2e48b471634faa6958718c27208d366b13fe878.tar.xz kernel-qcow2-linux-e2e48b471634faa6958718c27208d366b13fe878.zip |
netfilter: conntrack: handle icmp pkt_to_tuple helper via direct calls
rather than handling them via indirect call, use a direct one instead.
This leaves GRE as the last user of this indirect call facility.
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'net/netfilter/nf_conntrack_core.c')
-rw-r--r-- | net/netfilter/nf_conntrack_core.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/net/netfilter/nf_conntrack_core.c b/net/netfilter/nf_conntrack_core.c index 5dfd95ae510d..b3840d36c3a6 100644 --- a/net/netfilter/nf_conntrack_core.c +++ b/net/netfilter/nf_conntrack_core.c @@ -274,6 +274,12 @@ nf_ct_get_tuple(const struct sk_buff *skb, tuple->dst.protonum = protonum; tuple->dst.dir = IP_CT_DIR_ORIGINAL; + switch (protonum) { + case IPPROTO_ICMPV6: + return icmpv6_pkt_to_tuple(skb, dataoff, net, tuple); + case IPPROTO_ICMP: + return icmp_pkt_to_tuple(skb, dataoff, net, tuple); + } if (unlikely(l4proto->pkt_to_tuple)) return l4proto->pkt_to_tuple(skb, dataoff, net, tuple); |