NFS client defaults to a mix of UDP and TCP

Rick Macklem rmacklem at uoguelph.ca
Sun Sep 13 18:13:09 UTC 2009


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


More information about the freebsd-fs mailing list