Date: Tue, 10 Jul 2001 13:12:07 -0400 (EDT) From: Garrett Wollman <wollman@khavrinen.lcs.mit.edu> To: Richard Smith <rdls@satamatics.com> Cc: net@FreeBSD.ORG Subject: sysctls keepidle and keepintvl Message-ID: <200107101712.f6AHC7503088@khavrinen.lcs.mit.edu> In-Reply-To: <20010709230512.A918@gaia.home.rdls.net> References: <20010709230512.A918@gaia.home.rdls.net>
next in thread | previous in thread | raw e-mail | index | archive | help
<<On Mon, 9 Jul 2001 23:05:13 +0100, Richard Smith <rdls@satamatics.com> said: > Looking at the comments in tcp_var.h, it should be > keepintvl that sets this interval. Otherwise, why > have such a large value for keepidle? FreeBSD contains a kluge wherein all TCP connections have a form of keepalive enabled by default. This is supposed to be separate from the explicitly-requested SO_KEEPALIVE, but it's possible that something got broken along the way. I think the intended behavior is as follows: - If the connection is idle for more than `keepidle', then we always send a keepalive (unless this behavior is disabled). - If SO_KEEPALIVE has been enabled on the socket, then send a keepalive every `keepintvl' of idle time. The reason `keepidle' is so long is that it was a compromise between one group which wanted keepalives at very long intervals so that one could temporarily disconnect -- or even suspend -- one's system without getting all of one's connections killed, and another group which wanted short intervals to quickly flush broken connections resulting from unclean shutdown of Windows clients. -GAWollman To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200107101712.f6AHC7503088>