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>