From: Olaf Kirch <okir@suse.de>
To: "Lever, Charles" <Charles.Lever@netapp.com>
Cc: nfs@lists.sourceforge.net
Subject: Re: xprt_bindresvport
Date: Thu, 9 Dec 2004 12:01:24 +0100 [thread overview]
Message-ID: <20041209110124.GA15055@suse.de> (raw)
In-Reply-To: <482A3FA0050D21419C269D13989C61130435EC6F@lavender-fe.eng.netapp.com>
On Wed, Dec 08, 2004 at 06:33:15AM -0800, Lever, Charles wrote:
> > 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.
>
> is this idle speculation, or do you actually have a test case that
> fails? :^)
I've seen many cases of glibc's bindresvport (which allocates from
600-1023) snatching ports used by other services, e.g. cups. The way
we solve this in user space is by having a file in /etc with a blacklist
of ports bindresvport isn't allowed to touch.
I admit that I haven't seen NFS step on someone else toes yet. But it
all depends on the number of mounts you have, and on coincidence.
At any rate, it really looks like a bug to me. Why should our scan include
ports in the low range (which is a no-no) but refuse to touch ports in the
800-1023 range? It's just an inverted test, IMO.
> 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?
You cannot fix the RPC client. It will not see any packets from the
server, so it simply sits there until it times out and retries the
connection. This can cause system boot to take quite a long time.
You can fix the firewall, this is currently being tossed around on the
netfilter list. Unfortunately not all routers out there run the latest and
greatest netfilter code; so we don't really have much control over that.
> introducing randomness here will make reproducing problems in this area
> very difficult.
I agree. And I would only enable randomization if we change the port
range to 600-up or something like this.
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
next prev parent reply other threads:[~2004-12-09 11:01 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
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 ` Olaf Kirch [this message]
-- strict thread matches above, loose matches on Subject: below --
2004-12-08 8:58 xprt_bindresvport Olaf Kirch
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20041209110124.GA15055@suse.de \
--to=okir@suse.de \
--cc=Charles.Lever@netapp.com \
--cc=nfs@lists.sourceforge.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.