[NET]: Detect hardware rx checksum faults correctly
authorHerbert Xu <herbert@gondor.apana.org.au>
Thu, 10 Nov 2005 21:01:24 +0000 (13:01 -0800)
committerDavid S. Miller <davem@davemloft.net>
Thu, 10 Nov 2005 21:01:24 +0000 (13:01 -0800)
commitfb286bb2990a107009dbf25f6ffebeb7df77f9be
tree0eede2c37f1b3831e59601933eebf6b82be75ffc
parent1064e944d03eb7a72c0fa11236d5e69cfd877a71
[NET]: Detect hardware rx checksum faults correctly

Here is the patch that introduces the generic skb_checksum_complete
which also checks for hardware RX checksum faults.  If that happens,
it'll call netdev_rx_csum_fault which currently prints out a stack
trace with the device name.  In future it can turn off RX checksum.

I've converted every spot under net/ that does RX checksum checks to
use skb_checksum_complete or __skb_checksum_complete with the
exceptions of:

* Those places where checksums are done bit by bit.  These will call
netdev_rx_csum_fault directly.

* The following have not been completely checked/converted:

ipmr
ip_vs
netfilter
dccp

This patch is based on patches and suggestions from Stephen Hemminger
and David S. Miller.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 files changed:
include/linux/netdevice.h
include/linux/skbuff.h
include/net/tcp.h
net/core/datagram.c
net/core/dev.c
net/core/netpoll.c
net/ipv4/icmp.c
net/ipv4/igmp.c
net/ipv4/ip_gre.c
net/ipv4/netfilter/ip_conntrack_proto_icmp.c
net/ipv4/tcp_ipv4.c
net/ipv4/udp.c
net/ipv6/icmp.c
net/ipv6/raw.c
net/ipv6/tcp_ipv6.c
net/ipv6/udp.c
net/rxrpc/transport.c
net/sunrpc/socklib.c
net/sunrpc/svcsock.c