summaryrefslogtreecommitdiffstats
path: root/etc/inc/vslb.inc
diff options
context:
space:
mode:
authorSeth Mos <seth.mos@xs4all.nl>2006-12-30 00:45:25 +0000
committerSeth Mos <seth.mos@xs4all.nl>2006-12-30 00:45:25 +0000
commit401452ec0cdf52246ce0c6623e97583f614576f9 (patch)
treeadd4578ddf1dc26e1e2d4be102d13b0d53389ad3 /etc/inc/vslb.inc
parent1cea5083d5e51bb46509225c937f0114089af019 (diff)
downloadpfsense-401452ec0cdf52246ce0c6623e97583f614576f9.zip
pfsense-401452ec0cdf52246ce0c6623e97583f614576f9.tar.gz
Merge in new (outbound) load balancing configuration code from HEAD.
* assign interfaces to pool instead of manual IP configuration * Only show interfaces with a gateway * Offer list of monitor IPs including interface gateways. This code is tested for outbound load balancing on a carp cluster and works for me (smos). The server side needs testing. Which I don't know how to. Let's give it a run for a snapshot or 2.
Diffstat (limited to 'etc/inc/vslb.inc')
-rw-r--r--etc/inc/vslb.inc10
1 files changed, 5 insertions, 5 deletions
diff --git a/etc/inc/vslb.inc b/etc/inc/vslb.inc
index dfd54f8..6dddff0 100644
--- a/etc/inc/vslb.inc
+++ b/etc/inc/vslb.inc
@@ -112,12 +112,12 @@ function slbd_configure() {
$lbsvr_split=split("\|", $lbsvr);
$svrtxt .= "\t:{$svrcnt}={$lbsvr_split[1]}:\\\n";
$svrcnt++;
+
/* Add static routes to the monitor IPs */
- $next_hop = exec_command("/sbin/route -n get {$lbsvr_split[1]} | /usr/bin/grep gateway |/usr/bin/awk '{ print \$2; };'");
- if ($next_hop != $lbsvr_split[0]) {
- mwexec("/sbin/route delete -host {$lbsvr_split[1]} 1>/dev/null 2>&1");
- mwexec("/sbin/route add -host {$lbsvr_split[1]} {$lbsvr_split[0]} 1> /dev/null 2>&1");
- }
+ $int = convert_friendly_interface_to_real_interface_name($lbsvr_split[0]);
+ $gateway = get_interface_gateway($int);
+ mwexec("/sbin/route delete -host {$lbsvr_split[1]} 1>/dev/null 2>&1");
+ mwexec("/sbin/route add -host {$lbsvr_split[1]} {$gateway} 1> /dev/null 2>&1");
}
$slbdconf .= "\t:service-port=666:\\\n";
$slbdconf .= "\t:method=round-robin:\\\n";
OpenPOWER on IntegriCloud