From owner-freebsd-net@FreeBSD.ORG Sun Apr 4 16:10:41 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 3969016A4CE for ; Sun, 4 Apr 2004 16:10:41 -0700 (PDT) Received: from rwcrmhc11.comcast.net (rwcrmhc11.comcast.net [204.127.198.35]) by mx1.FreeBSD.org (Postfix) with ESMTP id 26AB043D2D for ; Sun, 4 Apr 2004 16:10:41 -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 (rwcrmhc11) with SMTP id <200404042310400130011t2me>; Sun, 4 Apr 2004 23:10:40 +0000 Message-Id: <6.0.2.0.2.20040404171017.01c764d8@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 17:10:48 -0600 To: Chuck Swiger From: Brandon Erhart In-Reply-To: <40709033.9010301@mac.com> References: <6.0.2.0.2.20040404152043.01c83320@mx1.erhartgroup.com> <4070860F.6030701@mac.com> <6.0.2.0.2.20040404160622.01c84428@mx1.erhartgroup.com> <40708B96.4050905@mac.com> <6.0.2.0.2.20040404163034.01c82c80@mx1.erhartgroup.com> <40709033.9010301@mac.com> 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 23:10:41 -0000 Chuck, That worked perfectly :) Thank you all so much for your help. I'm sure I'll be back with more questions during the course of this project! Brandon At 04:46 PM 4/4/2004, you wrote: >Brandon Erhart wrote: >>I want to explicitly get it out of those states, without any help from >>the other end. What must I modify to achieve this? > >See tcp_usrclosed() in /usr/src/sys/netinet/tcp_usrreq.c. Replace that >code with something like (untested): > > tp->t_state = TCPS_CLOSED; > tp = tcp_close(tp); > return tp; > >...and you'll break your TCP/IP stack in the fashion you've asked for. >If other things break too, you can keep all of the pieces. :-) > >-- >-Chuck >