Comment 20 for bug 930962

Revision history for this message
Martijn Lievaart (j-launchpad-net-rtij-nl) wrote :

> On 7 January 2013 23:13, Martijn Lievaart <email address hidden> wrote:
>> According to my cursory reading of relevant RFCs and a quick wireshark
>> session, the bug is in KVM virtio. An UDP packet should contain a
>> checksum field of 0 for no checksum, or a correct checksum. I see bogus
>> values coming in.
>>
>> OTOH, wireshark warns that this may be due to offloading, so I may not
>> be correct in this analysis.
>
> This is due to virtio implementing 'offloading' by returning random
> garbage in the checksum field.
>
> Since the code to calculate the checksumis not present this offloading
> cannot be turned off.
>
> Since kernel has interface to inform applications that offloading is
> on it is a bug in the application to interpret the bogus checksum.
> Presumably the card has already checked it and did not bother passing
> it on.

Hi Michal,

I don't quite understand what you are saying here. Are you saying that because Linux has a kernel interface to check for offloading, any and all application (that cares about udp checksums) should use this? It would seem much simpler if the virtio driver zero'd the checksum field, any application already should be able to handle that. No Linux specific code needed.

Martijn