[e2e] Applications with UDP checksum disabled

Vernon Schryver vjs at calcite.rhyolite.com
Sat Mar 9 15:08:24 PST 2002


> From: Joerg Micheel <joerg at cs.waikato.ac.nz>

> > I'm looking for information regarding which applications (or OSes)
> > typically disable UDP checksums, perhaps by default.  Does anyone
> > have a definite list or at least want to identify ones they know
> > about?
>
> Early versions of SunOS did that on NFS servers, to gain performance,
> until they discovered that this was a Bad Idea (tm) as you need some
> form of e-2-e integrity check. The particular problem discovered was
> that while you have FCS with Ethernet, some bus data transfers to or
> from the Ethernet card can be corrupted, which will screw up your
> data storage on the server.
>
> A good start might also be the SIGCOMM2000 paper "when the checksums
> don't match", I believe Craig Partridge was one of the authors.


I do not think that fairly represents the history of NFS, although it
is repeated by many people who I doubt were there.  I think the people
responsible knew perfectly well about bus errors and other hazards
and did not "discover" anything of the sort.  Instead, I think an
optimization that had major performance effects on 1984 hardware became
not worth its other costs in 1990, not to mention 2000.

Disclaimer:  I spent only a handful of months working as a consultant
on the initial reference port of NFS to SVR3 in Bob Lyon's group in
the winter of 1985/1986.  The Sun people responsible for NFS never
actually told me that was their reason for turning of checksums.
However, given the significantly less than 10 MHz wire-speed of NFS
on the old hardware, such reasoning seemed too obvious to need comment.


Vernon Schryver    vjs at rhyolite.com



More information about the end2end-interest mailing list