Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 30 Nov 2007 19:26:14 +0900
From:      "Adrian Chadd" <adrian@freebsd.org>
To:        "Jan Srzednicki" <w@wrzask.pl>
Cc:        freebsd-net@freebsd.org, freebsd-stable@freebsd.org, Julian Elischer <julian@elischer.org>
Subject:   Re: connect() returns EADDRINUSE during massive host->host conn rate
Message-ID:  <d763ac660711300226w652153d1pc61242833d92a648@mail.gmail.com>
In-Reply-To: <20071130093628.GS2045@oak.pl>
References:  <20071127135320.GJ2045@oak.pl> <474DB1D0.3010100@elischer.org> <20071128183001.GQ2045@oak.pl> <474DB6B3.1020202@elischer.org> <20071130093628.GS2045@oak.pl>

next in thread | previous in thread | raw e-mail | index | archive | help
On 30/11/2007, Jan Srzednicki <w@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.


Adrian

-- 
Adrian Chadd - adrian@freebsd.org



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?d763ac660711300226w652153d1pc61242833d92a648>