net: Clarification of CHECKSUM_UNNECESSARY
authorTom Herbert <therbert@google.com>
Thu, 28 Aug 2014 04:26:46 +0000 (21:26 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sat, 30 Aug 2014 03:41:11 +0000 (20:41 -0700)
commit77cffe23c1f88835f6bd7b47bfa0c060c2969828
tree5ba7913e3c831eee16f1c115d83392102d024e67
parentde20fe8e2cc3c4ca13fdb529e6720d9d199333fe
net: Clarification of CHECKSUM_UNNECESSARY

This patch:
 - Clarifies the specific requirements of devices returning
   CHECKSUM_UNNECESSARY (comments in skbuff.h).
 - Adds csum_level field to skbuff. This is used to express how
   many checksums are covered by CHECKSUM_UNNECESSARY (stores n - 1).
   This replaces the overloading of skb->encapsulation, that field is
   is now only used to indicate inner headers are valid.
 - Change __skb_checksum_validate_needed to "consume" each checksum
   as indicated by csum_level as layers of the the packet are parsed.
 - Remove skb_pop_rcv_encapsulation, no longer needed in the new
   csum_level model.

Signed-off-by: Tom Herbert <therbert@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/vxlan.c
include/linux/skbuff.h
net/ipv4/gre_demux.c