Merge branch 'inet_csums'
authorDavid S. Miller <davem@davemloft.net>
Wed, 11 Jun 2014 22:46:17 +0000 (15:46 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 11 Jun 2014 22:46:17 +0000 (15:46 -0700)
commitf3591fd4c9881889dfa9203328a89316fcc834e1
tree9eac0e7a5cf38fd37f0cb364ffb6a3e90cce3c88
parent1054cc150cf760f7b58ec8d2983ee7c85fb1df0a
parent6bae1d4cc395ad46613e40c9e865ee171dc9de5c
Merge branch 'inet_csums'

Tom Herbert says:

====================
net: Checksum offload changes - Part IV

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 :-)
====================

Signed-off-by: David S. Miller <davem@davemloft.net>