[Bug 267301] nfs uses udp for portmapper even when proto=tcp specified
Date: Mon, 24 Oct 2022 01:07:05 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=267301 Bug ID: 267301 Summary: nfs uses udp for portmapper even when proto=tcp specified Product: Base System Version: 13.1-STABLE Hardware: amd64 OS: Any Status: New Severity: Affects Some People Priority: --- Component: kern Assignee: bugs@FreeBSD.org Reporter: brad@facefault.org When attempting to mount a remote file share using NFSv3, portmapper calls use UDP even when TCP is explicitly specified. Using the port= option would be a satisfactory workaround but that doesn't eliminate portmapper calls. Expected behavior: TCP explicitly specified means TCP everywhere. Repro: 1. Start tcpdump with capture filter "port 111". 2. Attempt to mount an NFS share with proto=tcp. 3. The tcpdump contains UDP traffic to the remote portmapper when TCP is expected. 4. Block outgoing UDP/111 from the client. (I guess this one's not strictly necessary.) 5. Repeat #2 but add port=2049 to the mount options. 6. The tcpdump contains a successful NULL call but the client immediately tried contacting the portmapper on UDP to get the mount port. This prevents using Azure Blob Storage NFS, and I suspect there are some bad and hard-to-get-fixed firewall configurations out there since Linux's behavior is to use TCP for portmapper in this case. -- You are receiving this mail because: You are the assignee for the bug.