When reading the headline, you may think "What? This works for years now". Well, you are right. You can do NFS over TCP. There was just a small problem before Solaris 11.4. Let me show it by mounting an NFS share with a Oracle Solaris 11.3 system as a client.
root@sol113c1:~# mount -o vers=3,proto=tcp /mnt114
When you use an sniffer on this connection you will find something interesting
sol113c1 ? sol113s1 Portmap 98 V2 GETPORT Call MOUNT(100005) V:3 UDP
Despite using the mount option proto=tcp the first request is done via UDP instead of TCP. Only after the setup of the mount everything else would go via TCP and thus you always needed UDP and TCP between both systems in oder to do an successful mount and coudn't just block UDP between the NFS server and the NFS client.

In Solaris 11.4 it's different. Let's do an NFSv3 mount from an 11.4 to an 11.4 system.
root@sol114c1:~# mount -o vers=3,proto=tcp /mnt114
If we check with a sniffer again we will see this initial setup is done via TCP as well.
sol114c1 ? sol114s1 Portmap 126 V2 GETPORT Call MOUNT(100005) V:3 TCP

As it's something done in the client, it doesn't matter what the server is. If you do do a mount from an 11.4 client to an 11.3 server you will see the new behaviour as well:
sol114c1 ? sol113s1 Portmap 126 V2 GETPORT Call MOUNT(100005) V:3 TCP

No comments

Add Comment

Enclosing asterisks marks text as bold (*word*), underscore are made via _word_.
Standard emoticons like :-) and ;-) are converted to images.

To prevent automated Bots from commentspamming, please enter the string you see in the image below in the appropriate input box. Your comment will only be submitted if the strings match. Please ensure that your browser supports and accepts cookies, or your comment cannot be verified correctly.