summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilliam Tu <u9012063@gmail.com>2017-12-01 15:26:09 -0800
committerDavid S. Miller <davem@davemloft.net>2017-12-04 11:04:19 -0500
commitb8da518c6e87504a6790bfb1539134c41b61a45a (patch)
treeff36cc397081a9ecdc4b58602a2f54d7a3ade5f3
parent6712abc168ebac90b46088b89798aa31a1bc79f9 (diff)
downloadlinux-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.c5
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;
}