From owner-freebsd-net@FreeBSD.ORG Sun May 23 16:57:29 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 5FBCE16A4CE for ; Sun, 23 May 2004 16:57:29 -0700 (PDT) Received: from jchurch.neville-neil.com (pc1.oakwoodazabu1-unet.ocn.ne.jp [220.110.140.201]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3A0F443D1F for ; Sun, 23 May 2004 16:57:29 -0700 (PDT) (envelope-from gnn@neville-neil.com) Received: from gnn.local.neville-neil.com (localhost [127.0.0.1]) by h236.neville-neil.com (Postfix) with ESMTP id 6D10A17D8C3; Wed, 19 May 2004 18:10:28 +0900 (JST) Date: Wed, 19 May 2004 18:10:26 +0900 Message-ID: From: George V.Neville-Neil To: kwl02r In-Reply-To: <40AB2209.6060108@ecs.soton.ac.uk> References: <40AB2209.6060108@ecs.soton.ac.uk> User-Agent: Wanderlust/2.10.1 (Watching The Wheels) SEMI/1.14.5 (Awara-Onsen) FLIM/1.14.5 (Demachiyanagi) APEL/10.5 Emacs/21.2 (powerpc-apple-darwin) MULE/5.0 (SAKAKI) MIME-Version: 1.0 (generated by SEMI 1.14.5 - "Awara-Onsen") Content-Type: text/plain; charset=US-ASCII cc: net@freebsd.org Subject: Re: About tcp_fastimo() and tcp_slowtimo() 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, 23 May 2004 23:57:29 -0000 At Wed, 19 May 2004 09:59:53 +0100, kwl02r wrote: > I just follow the book "TCP/IP illustrate vol 2" to understand more > about TCP timer. In the book, tcp_fastimo() is invoked each 200 ms to do > delay ack job and tcp_slowtimo() is invoked each 500 ms to do the rest > of other tcp times. But at the last version of FreeBSD source code, I > couldn't find tcp_fastimo() anymore and tcp_slowtimo() is quite > different compared with source code present at book. My questions are: > At the new FreeBSD: > > 1. Did delay ack time still be detected each 200ms? Which function do > this job? If not, can anybody help to describe some detail things about > delay ack time at freebsd source code. This is handled by the callout code now, look through the source for "callout" to find how this is handled. The FreeBSD network stack is significantly different now than when Stevens wrote that book. > 2. The new tcp_slowtimo() following is invoked each 500ms, but seems > only detects tcp_keepintvl timer, how about other timers (eg. SYN, > FIN_WAIT ..) Again, these are handled by new routines. > 3. Did TCP timer (detect 200 or 500 ms each time) doing the same job > under the LINUX kernel? The Linux and FreeBSD OSs are different code bases and do not share the network stack in common. > 4. Any web or book can find detail describe at source code about TCP > timer under both FreeBSD and Linux kernel? You'll have to wait until this Fall for _The Design and Implementation of the FreeBSD Operating System_ which covers the details of this in FreeBSD. As for Linux I do not know about books that cover its kernel internals. Later, George