LVS
lvs-devel
Google
 
Web LinuxVirtualServer.org

Re: [PATCH] ipvs: fix synchronization on connection close

To: Xiaotian Feng <dfeng@xxxxxxxxxx>
Subject: Re: [PATCH] ipvs: fix synchronization on connection close
Cc: netdev@xxxxxxxxxxxxxxx, lvs-devel@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, Wensong Zhang <wensong@xxxxxxxxxxxx>, Julian Anastasov <ja@xxxxxx>, "David S. Miller" <davem@xxxxxxxxxxxxx>, Patrick McHardy <kaber@xxxxxxxxx>
From: Simon Horman <horms@xxxxxxxxxxxx>
Date: Fri, 11 Dec 2009 14:35:42 +1100
On Thu, Dec 10, 2009 at 04:41:42PM +0800, Xiaotian Feng wrote:
> commit 9d3a0de makes slaves expire as they would do on the master
> with much shorter timeouts. But it introduces another problem:
> When we close a connection, on master server the connection became
> CLOSE_WAIT/TIME_WAIT, it was synced to slaves, but if master is
> finished within it's timeouts (CLOSE), it will not be synced to
> slaves. Then slaves will be kept on CLOSE_WAIT/TIME_WAIT until
> timeout reaches. Thus we should also sync with CLOSE.
> 
> Signed-off-by: Xiaotian Feng <dfeng@xxxxxxxxxx>
> Cc: Wensong Zhang <wensong@xxxxxxxxxxxx>
> Cc: Simon Horman <horms@xxxxxxxxxxxx>
> Cc: Julian Anastasov <ja@xxxxxx>
> Cc: David S. Miller <davem@xxxxxxxxxxxxx>

This seems reasonable to me.

Acked-by: Simon Horman <horms@xxxxxxxxxxxx>

> ---
>  net/netfilter/ipvs/ip_vs_core.c |    1 +
>  1 files changed, 1 insertions(+), 0 deletions(-)
> 
> diff --git a/net/netfilter/ipvs/ip_vs_core.c b/net/netfilter/ipvs/ip_vs_core.c
> index b95699f..847ffca 100644
> --- a/net/netfilter/ipvs/ip_vs_core.c
> +++ b/net/netfilter/ipvs/ip_vs_core.c
> @@ -1366,6 +1366,7 @@ ip_vs_in(unsigned int hooknum, struct sk_buff *skb,
>              == sysctl_ip_vs_sync_threshold[0])) ||
>            ((cp->protocol == IPPROTO_TCP) && (cp->old_state != cp->state) &&
>             ((cp->state == IP_VS_TCP_S_FIN_WAIT) ||
> +            (cp->state == IP_VS_TCP_S_CLOSE) ||
>              (cp->state == IP_VS_TCP_S_CLOSE_WAIT) ||
>              (cp->state == IP_VS_TCP_S_TIME_WAIT)))))
>               ip_vs_sync_conn(cp);
> -- 
> 1.6.5.2
> 
> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe lvs-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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