Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757867AbZLJIlw (ORCPT ); Thu, 10 Dec 2009 03:41:52 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1755058AbZLJIls (ORCPT ); Thu, 10 Dec 2009 03:41:48 -0500 Received: from mx1.redhat.com ([209.132.183.28]:46897 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753255AbZLJIlr (ORCPT ); Thu, 10 Dec 2009 03:41:47 -0500 From: Xiaotian Feng To: netdev@vger.kernel.org, lvs-devel@vger.kernel.org Cc: linux-kernel@vger.kernel.org, Xiaotian Feng , Wensong Zhang , Simon Horman , Julian Anastasov , "David S. Miller" Subject: [PATCH] ipvs: fix synchronization on connection close Date: Thu, 10 Dec 2009 16:41:42 +0800 Message-Id: <1260434502-14166-1-git-send-email-dfeng@redhat.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1596 Lines: 37 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 Cc: Wensong Zhang Cc: Simon Horman Cc: Julian Anastasov Cc: David S. Miller --- 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 linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/