Re: TCP alwayskeepalive option.

Richard Gooch (rgooch@ras.ucalgary.ca)
Thu, 9 Dec 1999 12:32:11 -0700


David Malone writes:
> Some of the BSDs have a net.inet.tcp.always_keepalive option, which
> enables keepalives on all tcp connections. We've found this useful
> as it seems to keep down the number of catatonic netscapes running
> on our servers.
>
> I produced this patch some time ago to add a
> /proc/sys/net/ipv4/always_keepalive. I wonder if anyone could
> comment on if it should work OK, of if it would be of general
> interest? I can reproduce it for a newer kernel if anyone is
> interested, but it's a simple patch.

TCP keepalives are nasty for machines that suspend. Imagine you have a
X server running on a machine, and at night you want to suspend the
machine. If your X clients (running on another machine, say your group
server) aare well-behaved, they will not generate any traffic, since
you won't be sending events. So your machine can safely suspend to RAM
or suspend to disc, and next morning when you resume the machine,
everything is just as you left it.

Now, with keepalives, the OS on the server will send packets to your X
server (and expect a response), which of course won't respond. Boom!
You've lost your remote X clients.

No, I think we want to avoid keepalives. Better to fix Netscape so
that it exits when the connection to the X server is lost.

Regards,

Richard....
Permanent: rgooch@atnf.csiro.au
Current: rgooch@ras.ucalgary.ca

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/