LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

Re: LVS bugs

To: Agostino di Salle <a.disalle@xxxxxxxxx>
Subject: Re: LVS bugs
Cc: lvs-users@xxxxxxxxxxxxxxxxxxxxxx
Cc: Fineco Network Staff <net@xxxxxxxxx>
From: Julian Anastasov <ja@xxxxxx>
Date: Fri, 2 Sep 2005 10:30:14 +0300 (EEST)
        Hello,

On Thu, 1 Sep 2005, Agostino di Salle wrote:

> Hi,
>   I think there are three bugs in LVS code that are related to the problem
> reported in this mailing list by other users ("taking realserver out for
> maintenance" and similar problem).
>
> The first problem is that LVS don't expire ESTABLISHED connection that
> point to a realserver with weight == 0 when expire_nodest_conn is enabled.

        This is intentional, the flag is for deleted real servers.
It is known that people desire different things when setting weight
to 0 but the current semantic is that it does not drop connections
in the middle.

> The second problem is that LVS don't expire connection template
> (persistent connection information) that point to a realserver with weight
> == 0 when expire_quiescent_template is enabled.

        This is bug but the right fix is to replace 'if (ct->cport)'
with 'if (ct->vport != 65535)', it seems i broke it with some
hashing optimizations.

> The third problem is that LVS refresh connection template expire time only
> on new connection and not everytime that a packet arrive for a real
> connection related to an existing connection template.

        Wensong should comment if a flag is useful for such behavior.
But a solution that sets timer to the persistent timeout when last
connection is detached in ip_vs_control_del is more acceptable, there
is no reason to waste resources for every packet.

Regards

--
Julian Anastasov <ja@xxxxxx>

<Prev in Thread] Current Thread [Next in Thread>