All of lore.kernel.org
 help / color / mirror / Atom feed
* RE: xprt_bindresvport
@ 2004-12-08 14:33 Lever, Charles
  2004-12-08 18:17 ` [PATCH] xprt sharing (was Re: xprt_bindresvport) Mike Waychison
  2004-12-09 11:01 ` xprt_bindresvport Olaf Kirch
  0 siblings, 2 replies; 11+ messages in thread
From: Lever, Charles @ 2004-12-08 14:33 UTC (permalink / raw)
  To: Olaf Kirch; +Cc: nfs

> the current xprt_bindresvport implementation will search for=20
> a privileged
> port by counting down from 800 to 0. I think this is a bug, because it
> will potentially interfere with services trying to bind to=20
> low ports as
> well.

is this idle speculation, or do you actually have a test case that
fails?  :^)

> The bindresvport implementation in glibc picks from the 600-1023
> range.

we should review what other RPC implementations do (namely the reference
implementation, Solaris).

but also notice this cuts the usable port range in half (from ~800 to
~420).  we need some form of mitigation to ensure we aren't limiting the
number of NFS mounts a client can have.

> I also think it would be good to start at a "random" port. Otherwise,
> when you reboot, the server may still have a TCB for the old=20
> connection
> and send you an ACK probe when you try to connect (if all=20
> goes well), and
> the client's TCP stack will RST and fail the connect. If things go
> not-so-well you have a packet filter somewhere inbetween that eats the
> ACK probe because its connection tracking engine thinks the connection
> is in half-open and shouldn't see any SYN-less ACKs yet.

i don't agree.  you're just making the bad behavior more rare by
choosing ports at random; you are not actually addressing the root
problem you describe.  is it possible to fix the RPC client to retry the
connection in this case?  and/or fix the server to recognize and remove
the context for the old connection?

introducing randomness here will make reproducing problems in this area
very difficult.


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now. 
http://productguide.itmanagersjournal.com/
_______________________________________________
NFS maillist  -  NFS@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs

^ permalink raw reply	[flat|nested] 11+ messages in thread
* xprt_bindresvport
@ 2004-12-08  8:58 Olaf Kirch
  0 siblings, 0 replies; 11+ messages in thread
From: Olaf Kirch @ 2004-12-08  8:58 UTC (permalink / raw)
  To: nfs

Hi,

the current xprt_bindresvport implementation will search for a privileged
port by counting down from 800 to 0. I think this is a bug, because it
will potentially interfere with services trying to bind to low ports as
well. The bindresvport implementation in glibc picks from the 600-1023
range.

I also think it would be good to start at a "random" port. Otherwise,
when you reboot, the server may still have a TCB for the old connection
and send you an ACK probe when you try to connect (if all goes well), and
the client's TCP stack will RST and fail the connect. If things go
not-so-well you have a packet filter somewhere inbetween that eats the
ACK probe because its connection tracking engine thinks the connection
is in half-open and shouldn't see any SYN-less ACKs yet.

Olaf
-- 
Olaf Kirch     | Things that make Monday morning interesting, #2:
okir@suse.de   |        "We have 8,000 NFS mount points, why do we keep
---------------+ 	 running out of privileged ports?"


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now. 
http://productguide.itmanagersjournal.com/
_______________________________________________
NFS maillist  -  NFS@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs

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

end of thread, other threads:[~2004-12-09 22:29 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-12-08 14:33 xprt_bindresvport Lever, Charles
2004-12-08 18:17 ` [PATCH] xprt sharing (was Re: xprt_bindresvport) Mike Waychison
2004-12-09 11:31   ` Olaf Kirch
2004-12-09 13:36     ` Trond Myklebust
2004-12-09 13:44       ` Olaf Kirch
2004-12-09 16:20         ` Trond Myklebust
2004-12-09 19:34     ` Dan Stromberg
2004-12-09 21:33       ` Trond Myklebust
2004-12-09 22:29         ` Dan Stromberg
2004-12-09 11:01 ` xprt_bindresvport Olaf Kirch
  -- strict thread matches above, loose matches on Subject: below --
2004-12-08  8:58 xprt_bindresvport Olaf Kirch

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.