ipv6: gro: fix CHECKSUM_COMPLETE support
authorEric Dumazet <edumazet@google.com>
Tue, 20 May 2014 04:56:34 +0000 (21:56 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 21 May 2014 21:18:47 +0000 (17:18 -0400)
commit4de462ab63e23953fd05da511aeb460ae10cc726
treec69385d148fb52f0f8f659f8261497ab428d820d
parentbf63ac73b3e132e6bf0c8798aba7b277c3316e19
ipv6: gro: fix CHECKSUM_COMPLETE support

When GRE support was added in linux-3.14, CHECKSUM_COMPLETE handling
broke on GRE+IPv6 because we did not update/use the appropriate csum :

GRO layer is supposed to use/update NAPI_GRO_CB(skb)->csum instead of
skb->csum

Tested using a GRE tunnel and IPv6 traffic. GRO aggregation now happens
at the first level (ethernet device) instead of being done in gre
tunnel. Native IPv6+TCP is still properly aggregated.

Fixes: bf5a755f5e918 ("net-gre-gro: Add GRE support to the GRO stack")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Jerry Chu <hkchu@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/ip6_offload.c
net/ipv6/tcpv6_offload.c