Subject: net: Loosen constraints for recalculating checksum in skb_segment()

From: Timo Teras <[email-masked]>
Date: Thu, 26 Dec 2013 09:18:51 +0200

commit 1cdbcb7957cf9e5f841dbcde9b38fd18a804208b
Author: Simon Horman <[email-masked]>
Date:   Sun May 19 15:46:49 2013 +0000

> net: Loosen constraints for recalculating checksum in skb_segment()
>
> This is a generic solution to resolve a specific problem that I have
> observed.
> 
> If the encapsulation of an skb changes then ability to offload
> checksums may also change. In particular it may be necessary to
> perform checksumming in software.
> 
> An example of such a case is where a non-GRE packet is received but
> is to be encapsulated and transmitted as GRE.

Dave, can you queue this for 3.10-stable.

It was around 3.9 when ip_gre got gso support. This added the bug that
forwarding non-gre to gre with gro+gso+tx offloads enabled does not
work properly - the TCP checksums are not calculated properly without
this patch.

Thanks,
 Timo