Re: [RFC PATCH] Fix false positives in can_checksum_protocol()
From: Tom Herbert <hidden>
Date: 2015-09-29 03:04:55
On Mon, Sep 28, 2015 at 6:38 PM, Jesse Brandeburg [off-list ref] wrote:
On Mon, Sep 28, 2015 at 12:37 PM, Tom Herbert [off-list ref] wrote:quoted
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.
Doesn't CHECKSUM_PARTIAL with csum_offset and csum_start already tell the driver unambiguously what to do wrt checksum offload?
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.