linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Question on portmapper source
@ 2011-06-07  0:16 Ben Greear
  2011-06-07  1:11 ` Chuck Lever
  0 siblings, 1 reply; 5+ messages in thread
From: Ben Greear @ 2011-06-07  0:16 UTC (permalink / raw)
  To: linux-nfs

What is the official upstream project that contains the portmapper
source?

Also, the mount.nfs package, as I'll probably need to modify that
as well...

I am going to try to allow portmapper to bind to a particular
source IP when making outbound requests....

Thanks,
Ben

-- 
Ben Greear <greearb@candelatech.com>
Candela Technologies Inc  http://www.candelatech.com


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Question on portmapper source
  2011-06-07  0:16 Question on portmapper source Ben Greear
@ 2011-06-07  1:11 ` Chuck Lever
  2011-06-07  3:52   ` Ben Greear
  0 siblings, 1 reply; 5+ messages in thread
From: Chuck Lever @ 2011-06-07  1:11 UTC (permalink / raw)
  To: Ben Greear; +Cc: linux-nfs


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.

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

mount.nfs is in nfs-utils.

> 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.

-- 
Chuck Lever
chuck[dot]lever[at]oracle[dot]com





^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Question on portmapper source
  2011-06-07  1:11 ` Chuck Lever
@ 2011-06-07  3:52   ` Ben Greear
  2011-06-07  7:52     ` Max Matveev
  0 siblings, 1 reply; 5+ messages in thread
From: Ben Greear @ 2011-06-07  3:52 UTC (permalink / raw)
  To: Chuck Lever; +Cc: linux-nfs

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.

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

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

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

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

What is the git repo for it, though?

>
>> 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.

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

Thanks,
Ben


-- 
Ben Greear <greearb@candelatech.com>
Candela Technologies Inc  http://www.candelatech.com

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Question on portmapper source
  2011-06-07  3:52   ` Ben Greear
@ 2011-06-07  7:52     ` Max Matveev
  2011-06-07 14:41       ` Ben Greear
  0 siblings, 1 reply; 5+ messages in thread
From: Max Matveev @ 2011-06-07  7:52 UTC (permalink / raw)
  To: Ben Greear; +Cc: linux-nfs

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Question on portmapper source
  2011-06-07  7:52     ` Max Matveev
@ 2011-06-07 14:41       ` Ben Greear
  0 siblings, 0 replies; 5+ messages in thread
From: Ben Greear @ 2011-06-07 14:41 UTC (permalink / raw)
  To: Max Matveev; +Cc: linux-nfs

On 06/07/2011 12:52 AM, Max Matveev wrote:
> 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.

It's not really wrong for most users..just for me because I need it (mount.nfs, evidently)
to use a specific source-IP so that my ip routing rules choose the correct route.

>
>   >>>  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.

Thanks, I'll dig into the mount.nfs code.

Thanks,
Ben

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


-- 
Ben Greear <greearb@candelatech.com>
Candela Technologies Inc  http://www.candelatech.com

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2011-06-07 14:41 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-06-07  0:16 Question on portmapper source Ben Greear
2011-06-07  1:11 ` Chuck Lever
2011-06-07  3:52   ` Ben Greear
2011-06-07  7:52     ` Max Matveev
2011-06-07 14:41       ` Ben Greear

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).