[PATCH 0/4] net: Checksum offload changes - Part IV
From: Tom Herbert <hidden>
Date: 2014-06-10 06:34:20
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 computed by SW. - Add skb_gro_postpull_rcsum to udp and vxlan to make GRO work with CHECKSUM_COMPLETE. - In TCP GRO set CHECKSUM_UNNECESSARY and skb->encapsulation if appropriate after validating checksum. Please review carefully and test if possible, mucking with basic checksum functions is always a little precarious :-)