Re: [PATCH v2 0/4] net: Checksum offload changes - Part IV
From: Sharat Masetty <hidden>
Date: 2014-07-11 05:40:52
Don't do skb_checksum more than once per packet
Was wondering in which cases does the stack perform the checksum more than once? __skb_checksum_complete_head() already sets the ip_summed to CHECKSUM_UNNECESSARY, so future checksum calculations are avoided. What am I missing? Thanks Sharat On Wed, Jun 11, 2014 at 4:46 PM, David Miller [off-list ref] wrote:
From: Tom Herbert <redacted> Date: Tue, 10 Jun 2014 18:54:03 -0700 (PDT)quoted
I am working on overhauling RX checksum offload. Goals of this effort are: - Specify what exactly it means when driver returns CHECKSUM_UNNECESSARY - Preserve CHECKSUM_COMPLETE through encapsulation layers - Don't do skb_checksum more than once per packet - Unify GRO and non-GRO csum verification as much as possible - Unify the checksum functions (checksum_init) - Simply code What is in this fourth patch set: - Preserve CHECKSUM_COMPLETE instead of changing it to CHECKSUM_UNNECESSARY. This allows correct reuse in validating multiple csums in a packet. - When SW needs to compute the packet checksum, save it as CHECKSUM_COMPLETE. Also mark that checksum was compute by SW. - Add skb_gro_postpull_rcsum to udp and vxlan to make GRO work with CHECKSUM_COMPLETE. v2: Removed patch setting skb_encapsulation when validating checksum in tcp_gro_receive Please review carefully and test if possible, mucking with basic checksum functions is always a little precarious :-)Series applied, thanks Tom. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html