alan bryan
2010-Jan-15 19:15 UTC
General problems with checksums (txcsum/rxcsum) on FreeBSD 8.0?
I just read a different thread about problems with checksums on vge (and nfe in the replies). I'll just chime in here with some more information - I have a couple other message threads going about some weird high packet volumes on my new FreeBSD 8.0-Release NFS server. I thought it might be an issue with the igb driver so I put in a new card using em instead and got the exact same behavior. I'm currently sifting through a tcpdump in wireshark and there are all sorts of messages in there about checksums being incorrect - both TCP and UDP. This is for communications between this client machine (FreeBSD 7.0-Release) and any of the 8.0 machines I have. The packets going to non-8.0 machines (at least so far) appear to be fine. I'll defer to those who know more than I about the networking code, but is there perhaps an issue in general with the checksuming and not specific to one card or driver - is that even possible? That's now 4 different drivers all with various checksum problem reports. I'm going to be working on this all day today (and likely over the weekend) so if I can help by supplying information please let me know what you need.
Chuck Swiger
2010-Jan-15 19:22 UTC
General problems with checksums (txcsum/rxcsum) on FreeBSD 8.0?
Hi-- On Jan 15, 2010, at 11:12 AM, alan bryan wrote: [ ... ]> I'm currently sifting through a tcpdump in wireshark and there are all sorts of messages in there about checksums being incorrect - both TCP and UDP.If you run tcpdump on a machine, it normally will receive the traffic being sent from that machine before the checksums are computed, especially if HW checksumming is being used. For reliable detection of these problems, you need to look at the traffic either on a hub or via the monitoring or span port of a smart switch, although simply glancing at the checksum stats from "netstat -s" on both sides should indicate whether significant error rates are happening. Regards, -- -Chuck
Pyun YongHyeon
2010-Jan-15 19:33 UTC
General problems with checksums (txcsum/rxcsum) on FreeBSD 8.0?
On Fri, Jan 15, 2010 at 11:12:43AM -0800, alan bryan wrote:> I just read a different thread about problems with checksums on vge (and nfe in the replies). > > I'll just chime in here with some more information - I have a couple other message threads going about some weird high packet volumes on my new FreeBSD 8.0-Release NFS server. I thought it might be an issue with the igb driver so I put in a new card using em instead and got the exact same behavior. I'm currently sifting through a tcpdump in wireshark and there are all sorts of messages in there about checksums being incorrect - both TCP and UDP. This is for communications between this client machine (FreeBSD 7.0-Release) and any of the 8.0 machines I have. The packets going to non-8.0 machines (at least so far) appear to be fine. > > I'll defer to those who know more than I about the networking code, but is there perhaps an issue in general with the checksuming and not specific to one card or driver - is that even possible? That's now 4 different drivers all with various checksum problem reports. > > I'm going to be working on this all day today (and likely over the weekend) so if I can help by supplying information please let me know what you need. >If you are seeing bad checksum reported by tcpdump/wireshark for TX frames on checksum capable controller, it's normal. bpf(4) just sees TX frames before inserting checksum computed by hardware so tcpdump/wireshark reports invalid checksum. You can safely ignore that. If you want to verify whether sending host generated correct checksum, you should capture the frame on receive side. If tcpdump/ wireshark reports bad checksummed frame on received frames it's real bad checksummed frame.