connect() returns EADDRINUSE during massive host->host conn rate

Maxim Konovalov maxim at macomnet.ru
Tue Dec 25 02:55:50 PST 2007


On Fri, 30 Nov 2007, 19:26+0900, Adrian Chadd wrote:

> On 30/11/2007, Jan Srzednicki <w at wrzask.pl> wrote:
>
> > Most of the relevant sockets (that is, between the two host
> > mentioned) are in the ESTABLISHED state (200-400 of those). Only
> > 20-40 are in TIME_WAIT state (these tend to be from a more
> > ephemeric POP3 service). Most of the EADDRINUSE happen for the
> > IMAP4 service.
>
> I'd probably start by patching the places in the tcp code
> (src/sys/netinet/tcp_usrreq.c)  which returns this error
> (Its returned in other places but that seems to me to be the most
> likely from your description.)
>
> Insert some code to print out information about the current socket and
> the "oinp" value returned from in_pcbconnect_setup() (if this is the
> place where the error occured.)
>
> Finding out more about the socket thats been created and what its
> clashing with might help. I'd do it myself but I'm not sure how to
> duplicate the issue.
>
Have you tried to turn net.inet.ip.portrange.randomized off?

-- 
Maxim Konovalov


More information about the freebsd-net mailing list