Subject: Keepalives
To: None <tech-net@NetBSD.ORG>
From: der Mouse <mouse@Rodents.Montreal.QC.CA>
List: tech-net
Date: 07/29/1998 08:18:30
I'd like to fix PR 3618, which asks that the timers underlying
keepalives be made run-time configurable.  RFC1122 requires this, and
somehow I don't think editing tcp_timer.h and rebuilding counts. :-)

Since I wrote the PR, I've done the missing pieces, manpage changes in
particular.  But I'd like to get reactions from tech-net about it...

What I did is I added sysctls under net.inet.tcp: keepidle, keepintvl,
and slowhz.  The first two control the timers, the third exists because
I couldn't see a good way to handle the first two without exposing the
units they're kept in internally (slowhz is, of course,
read-only)...not without reworking the sysctl internals, that is.

I invite comments on any aspect of this.  I'd like to get this into the
tree within a week, so if you're lazy about replying you're liable to
get ignored :-)

One could argue these timeouts should be per-connection, and I would
agree - but I still think the system default should be configurable
per-system; that's certainly what I need in the application that
prompted me to add these.  (That application also prompted my adding a
config option FORCE_TCP_KEEPALIVES, which turns on keepalives on *all*
connections whether they ask for them or not.  While I also invite
comments on that, it is no part of what I'm threa^H^H^H^H^Hproposing
here.)

					der Mouse

			       mouse@rodents.montreal.qc.ca
		     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B