From owner-freebsd-hackers Sun Jun 13 4:22:36 1999 Delivered-To: freebsd-hackers@freebsd.org Received: from flood.ping.uio.no (flood.ping.uio.no [129.240.78.31]) by hub.freebsd.org (Postfix) with ESMTP id 47E1714F97 for ; Sun, 13 Jun 1999 04:22:33 -0700 (PDT) (envelope-from des@flood.ping.uio.no) Received: (from des@localhost) by flood.ping.uio.no (8.9.3/8.9.1) id NAA22388; Sun, 13 Jun 1999 13:22:30 +0200 (CEST) (envelope-from des) To: Brian Feldman Cc: hackers@FreeBSD.ORG Subject: Re: select(2) breakage References: From: Dag-Erling Smorgrav Date: 13 Jun 1999 13:22:30 +0200 In-Reply-To: Brian Feldman's message of "Sun, 13 Jun 1999 00:44:50 -0400 (EDT)" Message-ID: Lines: 29 X-Mailer: Gnus v5.5/Emacs 19.34 Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Brian Feldman writes: > Another problem that came up with this: I originally started at port 1024. > I monopolized 30000 ports (almost all consecutive, of course). When I try to > connect() a TCP socket as non-root, it fails with EAGAIN (I only tracked it > far enough down as in_pcbbind().) It seems that eventually it gives up trying > to find a port... :-/ What kind of connects are you doing? If you try to connect all your sockets to the same destination,port tuple you'll quickly run out of source ports, since there are only a little less than 4,000 ports available: des@des ~% sysctl -A | grep portrange net.inet.ip.portrange.lowfirst: 1023 net.inet.ip.portrange.lowlast: 600 net.inet.ip.portrange.first: 1024 net.inet.ip.portrange.last: 5000 net.inet.ip.portrange.hifirst: 49152 net.inet.ip.portrange.hilast: 65535 connect() normally uses the 1024-5000 range. Try the following: # sysctl -w net.inet.ip.portrange.last=40000 and see if it solves the EAGAIN problem. DES -- Dag-Erling Smorgrav - des@flood.ping.uio.no To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message