aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorRumen G. Bogdanovski <rumen@voicecho.com>2008-07-16 23:04:23 -0400
committerDavid S. Miller <davem@davemloft.net>2008-07-16 23:04:23 -0400
commit9d3a0de7dc3c1c4456db5ceb92c445bef0a47681 (patch)
tree0534ecf89612ad5307b38309bf7b8f4920eb1f0f /net
parentd0236f8f8223ad841f461ea3a635d452d194806b (diff)
ipvs: More reliable synchronization on connection close
This patch enhances the synchronization of the closing connections between the master and the backup director. It prevents the closed connections to expire with the 15 min timeout of the ESTABLISHED state on the backup and makes them expire as they would do on the master with much shorter timeouts. Signed-off-by: Rumen G. Bogdanovski <rumen@voicecho.com> Acked-by: Simon Horman <horms@verge.net.au> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r--net/ipv4/ipvs/ip_vs_core.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/ipv4/ipvs/ip_vs_core.c b/net/ipv4/ipvs/ip_vs_core.c
index bcf6276ba4b2..a7879eafc3b5 100644
--- a/net/ipv4/ipvs/ip_vs_core.c
+++ b/net/ipv4/ipvs/ip_vs_core.c
@@ -991,7 +991,8 @@ ip_vs_in(unsigned int hooknum, struct sk_buff *skb,
991 == sysctl_ip_vs_sync_threshold[0])) || 991 == sysctl_ip_vs_sync_threshold[0])) ||
992 ((cp->protocol == IPPROTO_TCP) && (cp->old_state != cp->state) && 992 ((cp->protocol == IPPROTO_TCP) && (cp->old_state != cp->state) &&
993 ((cp->state == IP_VS_TCP_S_FIN_WAIT) || 993 ((cp->state == IP_VS_TCP_S_FIN_WAIT) ||
994 (cp->state == IP_VS_TCP_S_CLOSE))))) 994 (cp->state == IP_VS_TCP_S_CLOSE_WAIT) ||
995 (cp->state == IP_VS_TCP_S_TIME_WAIT)))))
995 ip_vs_sync_conn(cp); 996 ip_vs_sync_conn(cp);
996 cp->old_state = cp->state; 997 cp->old_state = cp->state;
997 998