* [PATCH] ipvs: fix synchronization on connection close
@ 2009-12-10 8:41 Xiaotian Feng
2009-12-11 3:35 ` Simon Horman
0 siblings, 1 reply; 3+ messages in thread
From: Xiaotian Feng @ 2009-12-10 8:41 UTC (permalink / raw)
To: netdev, lvs-devel
Cc: linux-kernel, Xiaotian Feng, Wensong Zhang, Simon Horman,
Julian Anastasov, David S. Miller
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@redhat.com>
Cc: Wensong Zhang <wensong@linux-vs.org>
Cc: Simon Horman <horms@verge.net.au>
Cc: Julian Anastasov <ja@ssi.bg>
Cc: David S. Miller <davem@davemloft.net>
---
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
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] ipvs: fix synchronization on connection close
2009-12-10 8:41 [PATCH] ipvs: fix synchronization on connection close Xiaotian Feng
@ 2009-12-11 3:35 ` Simon Horman
2009-12-14 15:39 ` Patrick McHardy
0 siblings, 1 reply; 3+ messages in thread
From: Simon Horman @ 2009-12-11 3:35 UTC (permalink / raw)
To: Xiaotian Feng
Cc: netdev, lvs-devel, linux-kernel, Wensong Zhang, Julian Anastasov,
David S. Miller, Patrick McHardy
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@redhat.com>
> Cc: Wensong Zhang <wensong@linux-vs.org>
> Cc: Simon Horman <horms@verge.net.au>
> Cc: Julian Anastasov <ja@ssi.bg>
> Cc: David S. Miller <davem@davemloft.net>
This seems reasonable to me.
Acked-by: Simon Horman <horms@verge.net.au>
> ---
> 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@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] ipvs: fix synchronization on connection close
2009-12-11 3:35 ` Simon Horman
@ 2009-12-14 15:39 ` Patrick McHardy
0 siblings, 0 replies; 3+ messages in thread
From: Patrick McHardy @ 2009-12-14 15:39 UTC (permalink / raw)
To: Simon Horman
Cc: Xiaotian Feng, netdev, lvs-devel, linux-kernel, Wensong Zhang,
Julian Anastasov, David S. Miller
Simon Horman wrote:
> 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@redhat.com>
>> Cc: Wensong Zhang <wensong@linux-vs.org>
>> Cc: Simon Horman <horms@verge.net.au>
>> Cc: Julian Anastasov <ja@ssi.bg>
>> Cc: David S. Miller <davem@davemloft.net>
>
> This seems reasonable to me.
>
> Acked-by: Simon Horman <horms@verge.net.au>
Applied, thanks.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2009-12-14 15:39 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-12-10 8:41 [PATCH] ipvs: fix synchronization on connection close Xiaotian Feng
2009-12-11 3:35 ` Simon Horman
2009-12-14 15:39 ` Patrick McHardy
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).