diff options
author | William Tu <u9012063@gmail.com> | 2017-12-01 15:26:09 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-12-04 11:04:19 -0500 |
commit | b8da518c6e87504a6790bfb1539134c41b61a45a (patch) | |
tree | ff36cc397081a9ecdc4b58602a2f54d7a3ade5f3 | |
parent | 6712abc168ebac90b46088b89798aa31a1bc79f9 (diff) | |
download | linux-stable-b8da518c6e87504a6790bfb1539134c41b61a45a.tar.gz linux-stable-b8da518c6e87504a6790bfb1539134c41b61a45a.tar.bz2 linux-stable-b8da518c6e87504a6790bfb1539134c41b61a45a.zip |
bpf: allow disabling tunnel csum for ipv6
Before the patch, BPF_F_ZERO_CSUM_TX can be used only for ipv4 tunnel.
With introduction of ip6gretap collect_md mode, the flag should be also
supported for ipv6.
Signed-off-by: William Tu <u9012063@gmail.com>
Cc: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | net/core/filter.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/net/core/filter.c b/net/core/filter.c index 6a85e67fafce..8ec5a504eb28 100644 --- a/net/core/filter.c +++ b/net/core/filter.c @@ -3026,10 +3026,11 @@ BPF_CALL_4(bpf_skb_set_tunnel_key, struct sk_buff *, skb, IPV6_FLOWLABEL_MASK; } else { info->key.u.ipv4.dst = cpu_to_be32(from->remote_ipv4); - if (flags & BPF_F_ZERO_CSUM_TX) - info->key.tun_flags &= ~TUNNEL_CSUM; } + if (flags & BPF_F_ZERO_CSUM_TX) + info->key.tun_flags &= ~TUNNEL_CSUM; + return 0; } |