NFS client defaults to a mix of UDP and TCP

John Baldwin jhb at freebsd.org
Mon Sep 14 13:13:39 UTC 2009


On Sunday 13 September 2009 2:18:25 pm Rick Macklem wrote:
> I had thought that I had posted w.r.t. before, but can't find it in
> the archive (which might explain why I didn't get any responses:-).
> 
> The current mount_nfs defaults to using UDP for the mount protocol
> and then switches to using TCP for the actual mount. (When neither
> "udp" nor "tcp" mount options are specified.) I don't think I
> changed it to be this way, because I recall noticing it when I
> added changes for the experimental NFS client and thought it was
> "weird", but assumed that it had been that way for a long time.
> 
> It now appears that it was introduced post-FreeBSD7 at r176198,
> which changed the default for NFS to TCP, but didn't switch the
> default for the mount protocol to TCP.
> 
> The ancient history of this is that "once upon a time" there were
> NFS servers that could do NFS over TCP, but only supported UDP for
> the mount protocol and there was an option called "mntudp" for that
> case. I can't imagine that any server still needs this case, but
> it appears to have become the default.
> 
> The default works fine for servers that support both UDP and TCP,
> but result in a non-functional mount point when the server only
> supports UDP. (See recent email thread on freebsd-stable called
> "NFS issues on 8.0-BETA4".)
> 
> Is this something that should be changed? rick

Yes.  I know of folks would love to have NFS use only TCP, including the 
initial RPC portmapper requests.  IMO an NFS mount should use TCP for 
everything and a UDP mount should use UDP for everything by default.

-- 
John Baldwin


More information about the freebsd-current mailing list