[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>
Showing
- include/linux/netdevice.h 7 additions, 0 deletionsinclude/linux/netdevice.h
- include/linux/skbuff.h 25 additions, 2 deletionsinclude/linux/skbuff.h
- include/net/tcp.h 2 additions, 1 deletioninclude/net/tcp.h
- net/core/datagram.c 18 additions, 3 deletionsnet/core/datagram.c
- net/core/dev.c 12 additions, 0 deletionsnet/core/dev.c
- net/core/netpoll.c 11 additions, 7 deletionsnet/core/netpoll.c
- net/ipv4/icmp.c 3 additions, 3 deletionsnet/ipv4/icmp.c
- net/ipv4/igmp.c 14 additions, 5 deletionsnet/ipv4/igmp.c
- net/ipv4/ip_gre.c 8 additions, 7 deletionsnet/ipv4/ip_gre.c
- net/ipv4/netfilter/ip_conntrack_proto_icmp.c 4 additions, 7 deletionsnet/ipv4/netfilter/ip_conntrack_proto_icmp.c
- net/ipv4/tcp_ipv4.c 9 additions, 15 deletionsnet/ipv4/tcp_ipv4.c
- net/ipv4/udp.c 2 additions, 5 deletionsnet/ipv4/udp.c
- net/ipv6/icmp.c 10 additions, 11 deletionsnet/ipv6/icmp.c
- net/ipv6/raw.c 16 additions, 26 deletionsnet/ipv6/raw.c
- net/ipv6/tcp_ipv6.c 9 additions, 11 deletionsnet/ipv6/tcp_ipv6.c
- net/ipv6/udp.c 9 additions, 16 deletionsnet/ipv6/udp.c
- net/rxrpc/transport.c 6 additions, 9 deletionsnet/rxrpc/transport.c
- net/sunrpc/socklib.c 5 additions, 0 deletionsnet/sunrpc/socklib.c
- net/sunrpc/svcsock.c 3 additions, 6 deletionsnet/sunrpc/svcsock.c
Loading
Please register or sign in to comment