Re: Question on portmapper source

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 06 Jun 2011 20:52:39 -0700, Ben Greear wrote:

 greearb> On 06/06/2011 06:11 PM, Chuck Lever wrote:
 >> 
 >> On Jun 6, 2011, at 8:16 PM, Ben Greear wrote:
 >> 
 >>> What is the official upstream project that contains the portmapper
 >>> source?
 >> 
 >> Do you want pormapper or rpcbind?  The newer rpcbind actually allows RPC services to register at specific addresses, but the legacy portmapper does not.

 greearb> I don't know.  I was testing my nfs binding patches (which
 greearb> fixes up some of the kernel processes, at least), but when
 greearb> trying to connect through a router, we noticed that this
 greearb> traffic was using the wrong source IP (ie, it wasn't bound):

 greearb>    0.000000 192.168.100.117 -> 172.16.0.100 TCP 33282 > 111 [SYN] Seq=0
 greearb> Win=14600 Len=0 MSS=1460 SACK_PERM=1 TSV=6981376 TSER=0 WS=10
 greearb>    3.007677 192.168.100.117 -> 172.16.0.100 TCP 33282 > 111 [SYN] Seq=0
 greearb> Win=14600 Len=0 MSS=1460 SACK_PERM=1 TSV=6984384 TSER=0 WS=10
 greearb>    9.023670 192.168.100.117 -> 172.16.0.100 TCP 33282 > 111 [SYN] Seq=0
 greearb> Win=14600 Len=0 MSS=1460 SACK_PERM=1 TSV=6990400 TSER=0 WS=10
 greearb>   10.010239 192.168.100.117 -> 172.16.0.100 Portmap V2 GETPORT Call NFS(100003)
 greearb> V:3 UDP
 greearb>   11.011269 192.168.100.117 -> 172.16.0.100 Portmap [RPC retransmission of #4]V2
 greearb> GETPORT Call NFS(100003) V:3 UDP
 greearb>   12.012298 192.168.100.117 -> 172.16.0.100 Portmap [RPC retransmission of #4]V2
 greearb> GETPORT Call NFS(100003) V:3 UDP
 greearb>   20.422093 192.168.100.117 -> 172.16.0.100 TCP 44732 > 111 [SYN] Seq=0
 greearb> Win=14600 Len=0 MSS=1460 SACK_PERM=1 TSV=7001798 TSER=0 WS=10
 greearb>   23.423683 192.168.100.117 -> 172.16.0.100 TCP 44732 > 111 [SYN] Seq=0
 greearb> Win=14600 Len=0 MSS=1460 SACK_PERM=1 TSV=7004800 TSER=0 WS=10
 greearb>   29.439676 192.168.100.117 -> 172.16.0.100 TCP 44732 > 111 [SYN] Seq=0
 greearb> Win=14600 Len=0 MSS=1460 SACK_PERM=1 TSV=7010816 TSER=0 WS=10
 greearb>   30.432383 192.168.100.117 -> 172.16.0.100 Portmap V2 GETPORT Call NFS(100003)
 greearb> V:3 UDP
 greearb>   31.433420 192.168.100.117 -> 172.16.0.100 Portmap [RPC retransmission of
 greearb> #10]V2 GETPORT Call NFS(100003) V:3 UDP
 greearb>   32.434458 192.168.100.117 -> 172.16.0.100 Portmap [RPC retransmission of
 greearb> #10]V2 GETPORT Call NFS(100003) V:3 UDP

 greearb> I need to make whatever is generating that traffic bind to a source IP.

It's hard to say what's "rigth" and "wrong" from just this tcpdump:
there is only one IP address.

Recently there was a change to libtirpc to fix IP address selection
for UDP datagrams:

http://git.infradead.org/users/steved/libtirpc.git/commit/74ef3df0236c55185225c62fba34953f2582da72

This is on the server side - it looks to me you're trying to deal with
client side so it may be irrelevant.

 >>> Also, the mount.nfs package, as I'll probably need to modify that
 >>> as well...
 >> 
 >> mount.nfs is in nfs-utils.

 greearb> What is the git repo for it, though?

http://git.infradead.org/users/steved/nfs-utils.git

 >>> I am going to try to allow portmapper to bind to a particular
 >>> source IP when making outbound requests....
 >> 
 >> I don't understand.  portmapper, as an RPC service, receives
 >> incoming requests.  But we don't use the rpcbind CALLIT procedure
 >> on Linux, thus it doesn't make outbound requests.

 greearb> I could easily be confused about where the problem lies.
 greearb> Any idea what is generating those requests on the nfs client
 greearb> above?

mount.nfs does.

max
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux