summaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorJulian Anastasov <ja@ssi.bg>2013-03-09 23:25:04 +0200
committerSimon Horman <horms@verge.net.au>2013-03-19 21:21:51 +0900
commit0c12582fbcdea0cbb0dfd224e1c5f9a8428ffa18 (patch)
tree04cdcc7982a7bed6f51bb2b8b55ffcf83c1f9e50 /Documentation
parentcf2e39429c245245db889fffdfbdf3f889a6cb22 (diff)
downloadlinux-0c12582fbcdea0cbb0dfd224e1c5f9a8428ffa18.tar.gz
linux-0c12582fbcdea0cbb0dfd224e1c5f9a8428ffa18.tar.bz2
linux-0c12582fbcdea0cbb0dfd224e1c5f9a8428ffa18.zip
ipvs: add backup_only flag to avoid loops
Dmitry Akindinov is reporting for a problem where SYNs are looping between the master and backup server when the backup server is used as real server in DR mode and has IPVS rules to function as director. Even when the backup function is enabled we continue to forward traffic and schedule new connections when the current master is using the backup server as real server. While this is not a problem for NAT, for DR and TUN method the backup server can not determine if a request comes from client or from director. To avoid such loops add new sysctl flag backup_only. It can be needed for DR/TUN setups that do not need backup and director function at the same time. When the backup function is enabled we stop any forwarding and pass the traffic to the local stack (real server mode). The flag disables the director function when the backup function is enabled. For setups that enable backup function for some virtual services and director function for other virtual services there should be another more complex solution to support DR/TUN mode, may be to assign per-virtual service syncid value, so that we can differentiate the requests. Reported-by: Dmitry Akindinov <dimak@stalker.com> Tested-by: German Myzovsky <lawyer@sipnet.ru> Signed-off-by: Julian Anastasov <ja@ssi.bg> Signed-off-by: Simon Horman <horms@verge.net.au>
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/networking/ipvs-sysctl.txt7
1 files changed, 7 insertions, 0 deletions
diff --git a/Documentation/networking/ipvs-sysctl.txt b/Documentation/networking/ipvs-sysctl.txt
index f2a2488f1bf3..9573d0c48c6e 100644
--- a/Documentation/networking/ipvs-sysctl.txt
+++ b/Documentation/networking/ipvs-sysctl.txt
@@ -15,6 +15,13 @@ amemthresh - INTEGER
enabled and the variable is automatically set to 2, otherwise
the strategy is disabled and the variable is set to 1.
+backup_only - BOOLEAN
+ 0 - disabled (default)
+ not 0 - enabled
+
+ If set, disable the director function while the server is
+ in backup mode to avoid packet loops for DR/TUN methods.
+
conntrack - BOOLEAN
0 - disabled (default)
not 0 - enabled