ipv6: update skb->csum when CE mark is propagated
authorEric Dumazet <edumazet@google.com>
Fri, 15 Jan 2016 12:56:56 +0000 (04:56 -0800)
committerSasha Levin <sasha.levin@oracle.com>
Mon, 15 Feb 2016 20:42:44 +0000 (15:42 -0500)
commit2da362912edd33ea518a6c8decb61d5d872142d5
tree6e955decfb8c56bcdfaa248413a3049717cd8002
parente437faf92607f7ed37eb6033ff82725f852d8b38
ipv6: update skb->csum when CE mark is propagated

[ Upstream commit 34ae6a1aa0540f0f781dd265366036355fdc8930 ]

When a tunnel decapsulates the outer header, it has to comply
with RFC 6080 and eventually propagate CE mark into inner header.

It turns out IP6_ECN_set_ce() does not correctly update skb->csum
for CHECKSUM_COMPLETE packets, triggering infamous "hw csum failure"
messages and stack traces.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
include/net/inet_ecn.h
net/ipv6/xfrm6_mode_tunnel.c