Subject: NFS hangs.
To: None <current-users@netbsd.org>
From: Darren Reed <darrenr@vitruvius.arbld.unimelb.edu.au>
List: current-users
Date: 09/05/1994 19:09:45
Hmm, I'm not sure if this is a bug or not but anyway...
I've just noticed that NetBSD uses connected UDP sockets for NFS ops.,
with a different port for each host that it mounts. This all works fine
until I mount a partition of a dual-homed host with one interface on the
same subnet as the netbsd host, and another elsewhere.
The problem being, that as it has two IP#'s, it is possible to mount it
from the far ethernet and then have the NFS server (not running NetBSD)
reply using the near IP#. As NetBSD uses a connected socket, it quite
correctly returns icmp unreachables to the NFS traffic, although it has
a mount point already setup...
The obvious solution is to mount it correctly, but is it a safe bet to
assume that all NFS servers will do the right thing and use the same
IP# in NFS packets to the client consistantly ? If not, what else can
be done ?
...it goes something like this:
* there is a netbsd machine called "bsd", and a NFS server "fubar"
(interface names "fubar-a" and "fubar-b" for near and far respectively).
In bsd's /etc/fstab:
fubar-b:/usr /sun/usr ro,-P 0 0
bsd successfully mounts foo-b:/usr and in netstat -a shows up like:
udp 0 0 bsd.1023 fubar-b.2049
trying to do something like "df" results in:
...
fubar-a > bar: reply ok 48
bar > fubar-a: icmp: bar port 1023 unreachable
darren
------------------------------------------------------------------------------