NETIF_F_IP(V6)_CSUM is only for TCP and UDP checksum offload, and NETIF_F_HW_CSUM is not only for TCP and UDP's, but also for all other kinds of 1's complement checksums offload, like GRE's. This patchset is to support it for GRE.
To support GRE checksum offload, this patchset is to extend the csum_not_inet/csum_type of sk_buff in Patch 1/3, and define new type of CSUM_T_IP_GENERIC to get ip generic checksum processed in skb_csum_hwoffload_help() in Patch 2/3, then implement it on TX path and GSO path in Patch 3/3. Xin Long (3): net: rename csum_not_inet to csum_type net: add CSUM_T_IP_GENERIC csum_type ip_gre: add csum offload support for gre header include/linux/skbuff.h | 22 +++++++++++++--------- include/net/gre.h | 20 ++++++++------------ net/core/dev.c | 19 ++++++++++++++----- net/ipv4/gre_offload.c | 16 ++++++++++++++-- net/sched/act_csum.c | 2 +- net/sctp/offload.c | 2 +- net/sctp/output.c | 3 ++- 7 files changed, 53 insertions(+), 31 deletions(-) -- 2.1.0