[ovs-dev] [PATCH 1/2] datapath: Copy Xen's checksumming fields when doing skb_copy.
Jesse Gross
jesse at nicira.com
Wed Nov 18 21:57:32 UTC 2009
Ben Pfaff wrote:
> Jesse Gross <jesse at nicira.com> writes:
>
>
>> Two fields that control checksumming were added to sk_buff in
>> Xen: proto_data_valid and proto_csum_blank. These fields are copied
>> when doing a skb_clone but not in other functions such as skb_copy,
>> which can lead to checksum errors in TCP and UDP when offloading is
>> enabled in the guest. To fix this we manually copy these fields,
>> though ideally this should be fixed upstream in Xen.
>>
>
> Great catch!
>
> Did you try building this against 2.6.27 Citrix Xen kernel?
> Based on Ian's comments, I guess that adding "&&
> LINUX_VERSION_CODE == KERNEL_VERSION(2,6,18)" to the #if test is
> the right thing to do.
>
I think I just checked the comments for sk_buff on the 2.6.27 XenServer
kernel. These fields exist in the comments but Ian is right, the actual
fields are gone. I added the kernel version ifdef and everything is
happy on both kernels.
> I guess you must be starting to hate TSO and checksum offloading
> as much as I do now :-( Good for performance, horrible for
> maintainability.
>
Yeah, at this point I think I would rather my packets be corrupt than
have to deal with offloading.
Thanks, I pushed this.
More information about the dev
mailing list