Date: Tue, 14 May 2002 02:41:28 -0700 From: Terry Lambert <tlambert2@mindspring.com> To: Cristan Szmajda <cls@cse.unsw.edu.au> Cc: current@freebsd.org Subject: Re: bad tcp cksum fffe! Message-ID: <3CE0DBC8.963475C5@mindspring.com> References: <Pine.GSO.4.44.0205141701170.805-100000@mozart.orchestra.cse.unsw.EDU.AU>
next in thread | previous in thread | raw e-mail | index | archive | help
Cristan Szmajda wrote: > > Dear freebsd-current, > > Any suggestions you have regarding this problem would be > much appreciated. > > My laptop running -CURRENT is suddenly generating bad TCP > checksums when talking to some IPs but not others. For > example, 129.94.209.220 is a problem, What do you mean "suddenly"? If you downgrade, but have all the IP addresses and payloads exactly the same, you don't get the problem? The NAT code is known to use the RFC 1141 rather than RFC 1624 incremental checksum update method, which can result in checksum errors like those you are seeing, as a result of carry underflow screwing up the calculation (the calculation should accumulate the old and new checksum values in different registers, and then combine them only after dealing with carry to get them into 16 bits). I've commented on this before, with patched calculation code. If the problem happens on both the old and the new FreeBSD code, then it's probably that you are going through a NAT. If it happens only on the newer code, then it's something that's changed, and you can use CVS to binary search for the change that caused the problem (8 kernels will find any kernel in the last 8.5 months where a breaking change occurred, if you use a binary search). If it's just the compiler change alone, then it's a deeper problem. It's not like the WaveLAN driver supports checksum offloading, which is the problem du jour for the BCG570x... -- Terry To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3CE0DBC8.963475C5>