On Mon, Sep 28, 2015 at 12:37 PM, Tom Herbert [off-list ref] wrote:
On Mon, Sep 28, 2015 at 12:26 PM, David Woodhouse [off-list ref] wrote:
quoted
On Mon, 2015-09-28 at 12:13 -0700, Tom Herbert wrote:
quoted
quoted
Perhaps a better solution would be a bit in the skbuff which indicates
that it *is* a TCP or UDP checksum. That would be set by our UDP and
TCP sockets, cleared by encapsulation, also set if appropriate by
skb_partial_csum_set().
I've been pondering a bit of a redesign in this space. I think the
skb struct should be
explicit in its instructions to hardware for which offloads to do for
each packet.
In this way, the stack would be *directly* telling the drivers what to
do (and what not
to do), solving all sorts of bugs and really improving driver
reliability and implementation.
These other solutions you guys are discussing are half solving the
problem, only to
make it worse when the next thing comes along. Unfortunately it is only an
idea right now and no patches.