Subject: Re: Keepalives
To: None <tech-net@NetBSD.ORG>
From: der Mouse <mouse@Rodents.Montreal.QC.CA>
List: tech-net
Date: 07/29/1998 09:25:56
> 1) [...] TCPTV_KEEPCNT.

Hmm, perhaps I should add another sysctl for the keepcnt.

> 2) there should be some way to run with *infinite* MAXIDLE/KEEPCNT,
> so that only a RST from the peer (an affirmative indication the other
> end of the connection is gone) will cause connections to close.

This sounds as though you're asking for a way to disable keepalives
even for connections that have had them specifically requested.  True,
or have I misunderstood?  If true, I'd be inclined to treat this at the
same time as FORCE_TCP_KEEPALIVES, ie, not at the same time as the
keepalive stuff I'm suggesting.

As for "only a RST from the peer [] will cause connections to close",
does this mean you don't want to get ETIMEDOUT if you have data to send
and can't raise the peer, but instead want it to keep trying forever?

> With the current parameter settings, connections will get spuriously
> blown away if a ~10-minute link outage occurs at any time after the
> connection has been idle for ~2 hours.

Only connections that have requested keepalives.  And even then, I
thought that once it heard back, it reset the long timer, not just the
short one, so that your ten-minute outage would have to strike during a
ten minute interval every two hours.  I haven't followed the code in an
attempt to settle this question, though.

					der Mouse

		     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B