Subject: Re: When a TCP segment is split up (to be sent through a TUN device with a small MTU) who should recalculate the checksum?

From: Vlad Yasevich <[email-masked]>
Date: Fri, 15 Nov 2013 09:41:46 -0500

On 11/15/2013 09:31 AM, John Hughes wrote:
> On 15/11/13 15:20, Vlad Yasevich wrote:
>>
>> Can you check to see if you have the following patch in your kernel
>> 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 commit help if the forwarding system has to re-segment the data
>> before transition.  Especially if the receiving interface had GRO
>> enabled with checksum offloading and the transmitting interface does
>> not support checksum offloading.
>
> No, the Debian 3.10 kernel doesn't seem to have that commit:
>
> Around line 2859 in skbuff.c I see:
>
>                  if (fskb != skb_shinfo(skb)->frag_list)
>                          continue;
>

Give it a try.  It has helped me in similar situations.  If it helps,
we can get it into the stable tree.

-vlad