[comp.protocols.tcp-ip] Sun NFS UDP Checksum Fix

glenn@XN.LL.MIT.EDU (Glenn Adams) (04/15/88)

As many of you know, Sun NFS's use of UDP excludes checksumming the
UDP packet.  For lossy link layers such as SLIP, or for problem
Ethernet controllers, this can result in getting garbage data
when using remote mounted file systems.

A modified version of kudp_fastsend.o is now available via anonymous FTP
from XN.LL.MIT.EDU that employs UDP checksumming.  Place this file in
/sys/OBJ, saving your old object file, prior to building the kernel.

The UDP checksumming is controlled by a global variable, kudpcksum, which
is enabled by default.  Note well that this only controls the GENERATION
of checksums on transmitted NFS packets, it DOES NOT control the detection
of checksum errors on received packets or non-NFS packets. To enable the
latter, use adb to set the udpcksum variable to non-zero.  By default, this
latter variable is set to zero by Sun, thus disabling tests for checksum
errors on incoming packets.  It should be enabled to allow symmetrical
checksumming on NFS.

This fix will work on SUN OS versions 3.2 through 3.5.

Glenn Adams
MIT Lincoln Laboratory

Internet: Glenn@XN.LL.MIT.EDU
UUCP: {ames,cmcl2,decvax,harvard,mit-eddie}!ll-xn!glenn