Date: Tue, 27 Apr 1999 13:18:21 -0700 (PDT) From: Matthew Dillon <dillon@apollo.backplane.com> To: hackers@FreeBSD.ORG, current@FreeBSD.ORG Subject: NFS Patch #8 for current available - new TCP fixes Message-ID: <199904272018.NAA00464@apollo.backplane.com>
next in thread | raw e-mail | index | archive | help
(fanfair!)
NFS Patch #8 for -current is now available. This patch fixes serious bugs
w/ NFS/TCP. Probably not *all* the failure conditions, but hopefully
most of them.
http://www.backplane.com/FreeBSD4/
NFS attempts to realign packet buffers and trods all over the underlying
mbufs. For TCP connections, several RPC's may be present in an mbuf
chain. The realignment of one of them may destroy the others. This does
not occur with UDP because each UDP packet contains only a single rpc.
Packet buffers may be unaligned for a number of reasons. The main reason
is due to the 14 byte MAC header on the ethernet frame. This causes the
remainder of the packet - the ip payload - to NOT be 4-byte aligned.
Many ethernet drivers fudge the packet buffer in order to cause the
IP payload to be aligned. Some do not. The ones that do not
cause the NFS code to realign the packet and it is the nfs_realign()
procedure that is broken. So the combination of having the wrong ethernet
card in the server and trying to use NFS/TCP would cause some people to
have lots of problems while other people might not have any problems.
Neither the 'de' nor the 'xl' ethernet drivers align the packet. The 'xl'
driver conditionally aligns it for the alpha. Part of the patch fixes
the 'xl' driver to unconditionally align the packet buffer in order to
improve NFS performance. I could not do the same for the 'de' driver
because I am unsure if the dec chipset can handle an unaligned start
address.
The patch also fixes the nfs_realign() code so it will work properly with
unaligned packets. The patch has also been updated to patch against
the latest -current.
As usual, any and all feedback will be appreciated. There are still NFS
issues to be resolved, including a number related to
AMD ( automountdaemon). Depending on how my testing works, further TCP
patches may be in the wings.
-Matt
Matthew Dillon
<dillon@backplane.com>
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199904272018.NAA00464>
