From owner-freebsd-net@FreeBSD.ORG Sun Apr 4 14:58:18 2004 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D4E9716A4CE for ; Sun, 4 Apr 2004 14:58:18 -0700 (PDT) Received: from sccrmhc12.comcast.net (sccrmhc12.comcast.net [204.127.202.56]) by mx1.FreeBSD.org (Postfix) with ESMTP id 972EF43D49 for ; Sun, 4 Apr 2004 14:58:18 -0700 (PDT) (envelope-from berhart@erhartgroup.com) Received: from cocaine.erhartgroup.com (c-67-166-0-138.client.comcast.net[67.166.0.138]) by comcast.net (sccrmhc12) with SMTP id <20040404215817012002ki4me>; Sun, 4 Apr 2004 21:58:17 +0000 Message-Id: <6.0.2.0.2.20040404155725.01c90c10@mx1.erhartgroup.com> X-Sender: berhart%erhartgroup.com@mx1.erhartgroup.com (Unverified) X-Mailer: QUALCOMM Windows Eudora Version 6.0.2.0 Date: Sun, 04 Apr 2004 15:58:25 -0600 To: Don Bowman From: Brandon Erhart In-Reply-To: References: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed cc: freebsd-net@freebsd.org Subject: RE: FIN_WAIT_[1,2] and LAST_ACK X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Apr 2004 21:58:18 -0000 Don, I have lowered the MSL .. please note what I said in my original post. This seems to have no effect on FIN_WAIT_[1,2] nor LAST_ACK. At 03:54 PM 4/4/2004, you wrote: >From: Brandon Erhart [mailto:berhart@ErhartGroup.COM] > > Hello everyone, > > > > I am writing a network application that mirrors a given > > website (such as a > > suped-up "wget"). I use a lot of FDs, and was getting > > connect() errors when > > I would run out of local_ip:local_port tuples. I lowered the > > MSL so that > > TIME_WAIT would timeout very quick (yes, I know, this is > > "bad", but I'm > > going for sheer speed here), and it alleviated the problem a bit. > > > > However, I have run into a new problem. I am getting a good amount of > > blocks stuck in FIN_WAIT_1, FIN_WAIT_2 or LAST_ACK that stick > > around for a > > long while. I have been unable to find must information on a > > timeout for > > these states. I came across a small patch that modified > > tcp_timer.c in > > /usr/src/sys/netinet. It changed line #484 (in FreeBSD 4.9-REL) from: > > > > if (tp->t_state != TCPS_TIME_WAIT && > > > > to > > > > if (tp->t_state < FIN_WAIT_2 && > > > > I also tried changing that to ".. <= FIN_WAIT_2 .." > > > > However, I still end up with quite a few stuck in FIN_WAIT_1, > > FIN_WAIT_2 or > > LAST_ACK after the program exits (and whilst the program is > > running of > > course). They don't seem to timeout in the same interval that > > TIME_WAIT does. > > > > Any ideas? Did I modify the right piece of code? I was told > > to post here as > > you all would more than likely know! > > > >Perhaps you want to lower net.inet.tcp.msl sysctl?