Why rpcb_getaddr(3) uses UDP even for TCP NFS mounts?
Alexey Dokuchaev
danfe at nsu.ru
Thu Jan 24 01:07:36 UTC 2019
On Wed, Jan 23, 2019 at 08:40:39PM +0000, Rick Macklem wrote:
> Well, there is a reason why NFSv4 (published in an RFC in 2003) does
> not use the Mount protocol or rpcbind.
> Those protocols were defined decades ago by a company that no longer
> exists.
I understand that. :-)
> If you took a look at Linux sources and found that they avoided using
> UDP for rpcbind, then a compatible change would probably be ok.
> To do this well, you probably have to look at several distros and see
> if they all handle TCP only rpcbind.)
I'll have a look, however, even our own sources say this in the comment
for __rpcb_findaddr_timed():
* The algorithm used: If the transports is TCP or UDP, it first tries
* version 2 (portmap), 4 and then 3 (svr4). This order should be
* changed in the next OS release to 4, 2 and 3. We are assuming that by
* that time, version 4 would be available on many machines on the network.
* With this algorithm, we get performance as well as a plan for
* obsoleting version 2.
But I guess what exactly is "the next OS release" was never defined, and
nothing was actually changed. That said, proposed order "4, 2 and 3"
still looks strange to me: why not the more natural "4, 3, 2"?
./danfe
More information about the freebsd-net
mailing list