aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJulian Anastasov <ja@ssi.bg>2010-10-17 16:43:36 +0300
committerSimon Horman <horms@verge.net.au>2010-10-21 11:04:30 +0200
commit3233759be7eeca9998c514b8f49e8cf2b85e64d3 (patch)
treec8bb72937fd846bec6555f269ad808b51b7c803c
parentcb59155f21d4c0507d2034c2953f6a3f7806913d (diff)
downloadkernel_samsung_smdk4412-3233759be7eeca9998c514b8f49e8cf2b85e64d3.zip
kernel_samsung_smdk4412-3233759be7eeca9998c514b8f49e8cf2b85e64d3.tar.gz
kernel_samsung_smdk4412-3233759be7eeca9998c514b8f49e8cf2b85e64d3.tar.bz2
ipvs: inherit forwarding method in backup
Connections in backup server should inherit the forwarding method from real server. It is a way to fix a problem where the forwarding method in backup connection is damaged by logical OR operation with the real server's connection flags. And the change is needed for setups where the backup server uses different forwarding method for the same real servers. Signed-off-by: Julian Anastasov <ja@ssi.bg> Signed-off-by: Simon Horman <horms@verge.net.au>
-rw-r--r--net/netfilter/ipvs/ip_vs_conn.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/netfilter/ipvs/ip_vs_conn.c b/net/netfilter/ipvs/ip_vs_conn.c
index 1d1a529..e9adecd 100644
--- a/net/netfilter/ipvs/ip_vs_conn.c
+++ b/net/netfilter/ipvs/ip_vs_conn.c
@@ -563,6 +563,8 @@ ip_vs_bind_dest(struct ip_vs_conn *cp, struct ip_vs_dest *dest)
*/
if (!(cp->flags & IP_VS_CONN_F_TEMPLATE))
conn_flags &= ~IP_VS_CONN_F_INACTIVE;
+ /* connections inherit forwarding method from dest */
+ cp->flags &= ~IP_VS_CONN_F_FWD_MASK;
}
cp->flags |= conn_flags;
cp->dest = dest;