net.inet.tcp.keepidle and friends

Bruce Simpson bms at incunabulum.net
Tue Aug 4 07:39:41 UTC 2009


Brian A. Seklecki wrote:
> All:
>
> The description on this sysctl was just recently added in -CURRENT.  It
> was missing during all of RELENG_6 and RELENG_7?  Do we not trust it
> entirely, ergo the two hour initial threshold and lack of documentation?
>   

I believe this has just been down to a lack of free time. I keep a copy 
of TII vol 2 around just in case I ever have to hack TCP; most of the 
time, it's a doorstop (all the code in almost every chapter of that book 
has significantly changed).

> ...
>   fbsdhead$ sysctl -d net.inet.tcp.keepidle
>   net.inet.tcp.keepidle: time before keepalive probes
>                         begin keepalive probe is sent
>   

This is orthogonal, but: When responding to a bug report at $DAYJOB, I 
eyeballed the SYN-SENT timer code a week ago Sunday, and it looked to me 
like this knob was also controlling that TCP timer.

However, correct me if I'm wrong: in RELENG_7 at least, it looked to me 
as though unacknowledged initial SYNs are not going to be retransmitted 
for an active TCP open due to connect() by FreeBSD, which looks like a 
regression. Is this really the case?

The bug report in question was about a component wrapper for TCP 
sockets, which can't provide an API guarantee about TCP socket 
behaviour; it is implementation defined behaviour, and in this case, 
FreeBSD's TCP is the implementation.



More information about the freebsd-net mailing list