On Sun, 11 Nov 2001, [iso-8859-1] Pekka Pietikäinen wrote:
> On Sun, Nov 11, 2001 at 10:41:22AM +0100, Andi Kleen wrote:
> > On Sun, Nov 11, 2001 at 12:29:34AM -0700, Ben Greear wrote:
> > > The higher layers like TCP and UDP have their own checksums, so should
> > > catch
> > > most bad packets there... (UDP may ignore it's checksum, btw)...
Sun's original NFS implementation turned off UDP checksums to get usable
performance. The concept was that the Ethernet CRC was all of the
protection needed. This design decision was copied, and has led to many
corrupted files over the years.
> > The TCP/UDP checksum is much weaker than the CRC used by ethernet and
> > does not detect many errors. It is mostly a protection against bugs, not
> > about real bit errors as they could occur on the wire. I would not turn
> > the ethernet CRC off.
>
> Well, I'd assume disabling CRC and having the NIC forward all packets
> (including the checksum) could be a useful feature for analyzing
> network problems.
Or you could just look at /proc/net/dev for CRC errors. If you see any
at all, something is broken. This doesn't specifically help you locate
the problem, but CRC errors should be rare.
> I don't know if any NICs support this.
Almost all NICs support disabling CRC append on transmit and discarding
on receive. The discard semantics vary.
Donald Becker becker@xxxxxxxxx
Scyld Computing Corporation http://www.scyld.com
410 Severn Ave. Suite 210 Second Generation Beowulf Clusters
Annapolis MD 21403 410-990-9993
|