Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 19 May 2004 18:10:26 +0900
From:      George V.Neville-Neil <gnn@neville-neil.com>
To:        kwl02r <kwl02r@ecs.soton.ac.uk>
Cc:        net@freebsd.org
Subject:   Re: About tcp_fastimo() and tcp_slowtimo()
Message-ID:  <m2fz9wzssd.wl@gnn.local.neville-neil.com>
In-Reply-To: <40AB2209.6060108@ecs.soton.ac.uk>
References:  <40AB2209.6060108@ecs.soton.ac.uk>

next in thread | previous in thread | raw e-mail | index | archive | help
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



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