Re: Question about TCP Checksum errors
From: Eric Dumazet <hidden>
Date: 2011-12-17 23:43:10
Also in:
lkml
Le samedi 17 décembre 2011 à 17:18 -0600, Larry Finger a écrit :
In https://bugzilla.novell.com/show_bug.cgi?id=718736, a user reports that his network using an RTL8188CE becomes very slow under "heavy" load. This condition started when he updated from openSUSE 11.4 to 12.1. The kernels involved are 2.6.37 and 3.1. I am unable to duplicate the problem. Packet capture with Wireshark shows that the slow down is due to retransmissions due to TCP checksum errors. I found nothing to explain the situation with a Google search, thus I am asking here. I put heavy in quotes because the traffic is from a web browser to yahoo.com, thus the potential throughput is not very high. As far as I know, this checksum is generated in a higher layer of the network stack, and that data is just passed through the 802.11 layer, and the wireless driver. Is this correct? Anyone have any ideas on where to look for the problem?
I see nothing special in the packet capture from this bug report. (Only suboptimal application opening many concurrent flows in //) Keep in mind most modern NICS compute checksums themselve. Linux offloads this to NIC This can be controled eventually by "ethtool -k ethX" (-K to change settings) # ethtool -k eth0 Offload parameters for eth0: rx-checksumming: on tx-checksumming: on scatter-gather: on tcp-segmentation-offload: on udp-fragmentation-offload: off generic-segmentation-offload: on generic-receive-offload: on large-receive-offload: off rx-vlan-offload: on tx-vlan-offload: on ntuple-filters: off receive-hashing: off # ethtool -K eth0 tx off # ethtool -k eth0 Offload parameters for eth0: rx-checksumming: on tx-checksumming: off scatter-gather: off tcp-segmentation-offload: off udp-fragmentation-offload: off generic-segmentation-offload: off generic-receive-offload: on large-receive-offload: off rx-vlan-offload: on tx-vlan-offload: on ntuple-filters: off receive-hashing: off