qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] PATCH: enabling TCP keepalives - v3


From: David Ahern
Subject: Re: [Qemu-devel] PATCH: enabling TCP keepalives - v3
Date: Fri, 01 May 2009 09:47:05 -0600
User-agent: Thunderbird 2.0.0.21 (X11/20090320)


Daniel P. Berrange wrote:
> On Fri, May 01, 2009 at 06:49:33AM -0600, David Ahern wrote:
>>
>> Richard W.M. Jones wrote:
>>> On Thu, Apr 30, 2009 at 01:40:42PM -0600, David Ahern wrote:
>>>> Did not see a response to the last version.
>>>>
>>>> This patch enables TCP keepalives on VNC connections and TCP-based char
>>>> devices.
>>>>
>>>> Default parameters have keep alive probes sent after 60-seconds of idle
>>>> time. Probes are sent every 12 seconds with the connection resetting
>>>> after 5 failed probes (ie., connection is closed if no response received
>>>> in 60-seconds).
>>> IMHO this should be optional, and firmly default to _OFF_.  Brief
>>> network outages shouldn't result in connections failing all over the
>>> place.  In addition, does this negatively impact migration?
>> It's not a matter of connections failing; it's a matter of cleaning them
>> up for a variety of reasons. Besides the VPN example which motivated
>> this patch (i.e, VPN connection drops and when re-established you get a
>> differnt IP), there are a lot of networks with very aggressive firewalls
>> (e.g., 60-minute timers). Without some sort of keepalive mechanisms
>> those firewalls will close the holes and the connections will hang.
> 
> You don't neccessarily always get a different IP for VPN connections,
> as administrators may well choose to give users a fixed IP for their
> VPN client. I'm not entirely against keepalives, but I thing making

Agreed, you don't always get a different IP on reconnects, but in my
case you do. Also, VPN users have no control over that; they just
see/cause dead connections.

> it drop the connection after a mere 60 seconds is way too quick, if this
> is enabled by default. I'd be more inclined to just have it use the
> kernel defaults for timeouts
> 
> Daniel

The parameters I put in cause a drop after 2 minutes of no response --
60 seconds of idle (no data through the socket) followed by 60 seconds
of failed probes. The default parameters for linux are harsh: 7 hours of
idle time before the first keepalive is sent.

Per an earlier email, I can add an option: tcpkeep=i,j,k where i is the
idle time, j is the interval for sending probes and k is the count of
missed probes, but I think this is getting to be overkill.

I'd prefer to have the dead sockets cleaned up, so I'll take enabling
keepalives with default parameters if that causes least resistance. With
qemu now supporting multiple VNC sessions, at least that offers an
option for recovery on that path.

david




reply via email to

[Prev in Thread] Current Thread [Next in Thread]