Subject: Re: [PATCH 0/7] via-velocity performance fixes

From: Stephen Hemminger <[email-masked]>
Date: Fri, 20 Nov 2009 09:03:48 -0800

On Fri, 20 Nov 2009 16:06:33 +0100
Simon Kagstrom <[email-masked]> wrote:

> 1. Correct setting of skipped checksums (unsure about this). The
>    mainline driver sets CHECKSUM_UNNECESSARY if this is an IP packet
>    except if the TCP checksum is NOT ok.
> 
>    The VIA driver sets CHECKSUM_UNNECESSARY if this is an UDP/TCP
>    packet except if the TCP checksum is not OK. The patch selects the
>    VIA behavior.

This doesn't seem correct.

The mainline driver is already doing the correct thing. 
The VIA driver would send packet
with known bad checksum up the stack with CHECKSUM_UNNECESSARY.
What is supposed to happen is:

Checksum good:  set CHECKSUM_UNNECESSARY
          bad:  leave CHECKSUM_NONE

This is all documented in skbuff.h

--