net: Implmement RFC 6936 (zero RX csums for UDP/IPv6)
authorTom Herbert <therbert@google.com>
Fri, 2 May 2014 23:29:58 +0000 (16:29 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 5 May 2014 19:26:30 +0000 (15:26 -0400)
commit4068579e1e098fa81d48db9ba4432ab664c58561
tree19aa4761b4381904203def58cf90abb6ae96cebe
parente4f45b7f40bdaade5ef8f45e7c6daed4c909fdf5
net: Implmement RFC 6936 (zero RX csums for UDP/IPv6)

RFC 6936 relaxes the requirement of RFC 2460 that UDP/IPv6 packets which
are received with a zero UDP checksum value must be dropped. RFC 6936
allows zero checksums to support tunnels over UDP.

When sk_no_check is set we allow on a socket we allow a zero IPv6
UDP checksum. This is for both sending zero checksum and accepting
a zero checksum on receive.

Signed-off-by: Tom Herbert <therbert@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/ip6_checksum.c
net/ipv6/udp.c