Skip site navigation (1)Skip section navigation (2)
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-current" 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>