Bug 16239

Summary: NFS mount file system from multi-homed remote host sometimes fails
Product: Base System Reporter: kannanv <kannanv>
Component: kernAssignee: Matt Dillon <dillon>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 3.3-RELEASE   
Hardware: Any   
OS: Any   

Description kannanv 2000-01-20 23:20:01 UTC
Remote host has interfaces:  135.104.73.11/29, 135.104.73.129/29;
Remote filesystem is /dev/wd0s4e mounted on /local

Local host is 135.104.73.82/29.
135.104.73.11 is nearest interface through multiple hops.
From local host:  mount 135.104.73.11:/local /mnt succeeds, but
                  mount 135.104.73.129:/local /mnt fails.

FYI, the /etc/exports file on remote host is (although this appears irrelevant),

yankees# more /etc/exports
/local -alldirs -maproot=0 -network=135.104.73  -mask=255.255.255.0
/local -alldirs -maproot=0 -network=135.180.182 -mask=255.255.255.0
/local -alldirs -maproot=0 malgudi.dnrc.bell-labs.com
/local -alldirs -maproot=0 malgudi.research.bell-labs.com
/local -alldirs -maproot=0 kannanvpc.research.bell-labs.com
/cdrom
------------------------------------------------------------------------

A tcpdump trace on remote host shows the following  (There are multiple sequences of 
sunrpc and nfs requests back and forth, but this one appears to indicate
the problem:

16:31:54.084947 0:90:27:61:e7:99 0:50:4:b1:f0:90 0800 162: 135.104.73.82.2094666972 > 135.104.73.129.2049: 120 getattr [|nfs]
                         4500 0094 012d 0000 3d11 da88 8768 4952
                         8768 4981 03e5 0801 0080 d6a1 7cda 14dc 
                         0000 0000 0000 0002 0001 86a3 0000 0003
                         0000 0001 0000
16:31:54.085012 0:50:4:b1:f0:90 0:60:1d:9:0:5a 0800 154: 135.104.73.11.2049 > 135.104.73.82.2094666972: reply ok 112 getattr [|nfs]
                         4500 008c 0194 0000 4011 d79f 8768 490b
                         8768 4952 0801 03e5 0078 152e 7cda 14dc
                         0000 0001 0000 0000 0000 0000 0000 0000
                         0000 0000 0000
16:31:54.085486 0:60:1d:9:0:5a 0:50:4:b1:f0:90 0800 70: 135.104.73.82 > 135.104.73.11: icmp: 135.104.73.82 udp port 997 unreachable
                         4500 0038 012e 0000 fd01 1b69 8768 4952
                         8768 490b 0303 5e31 0000 0000 4500 008c
                         9401 0000 3e11 d99f 8768 490b 8768 4952
                         0801 03e5 0078


I have the full tcpdump traces of both the success and failure conditions are
on request.

How-To-Repeat: Have a multi-homed host as above; attempt to mount a filesystem by 
explicitly specifying the addresses of different interfaces.
Comment 1 Matt Dillon freebsd_committer freebsd_triage 2000-01-25 04:20:05 UTC
Responsible Changed
From-To: freebsd-bugs->dillon

Change responsible to NFS maintainer 
Comment 2 iedowse freebsd_committer freebsd_triage 2001-03-28 22:47:40 UTC
State Changed
From-To: open->closed

Nfsd(8) now has the `-h' option which can be used to solve this 
problem.