Subject: Re: hardware checksum busted for Sun NICs
To: None <tech-kern@NetBSD.org>
From: der Mouse <mouse@Rodents.Montreal.QC.CA>
List: tech-kern
Date: 08/01/2007 09:18:47
>> Another problem [...] is that partial checksum doesn't consider UDP
>> vs TCP semantics when the checksum calculation returns a zero value.
>> The RFC for UDP says that in this case 0xffff should be substituted
>> for the 0 value checksum. For TCP the original zero is passed
>> unmodified (passing 0xffff is toxic to some TCP implementations.)
> Hmm, if you consider this to be important then you can't do hardware
> checksum.
...?? You mean there are "hardware" (often really firmware, I daresay)
checksum implementations out there that don't provide the semantics the
IP/UDP/TCP specs call for?
If so, then, well, duh you can't use them!
> The other option is to simply ignore it since a UDP checksum of
> 0x0000 won't (generally) cause bad things to happen.
I don't consider undetected data corruption to not be a "bad thing".
"Presumably this means it is important to get wrong answers quickly."
/~\ The ASCII der Mouse
\ / Ribbon Campaign
X Against HTML mouse@rodents.montreal.qc.ca
/ \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B