summaryrefslogtreecommitdiffstats
path: root/etc/inc/gwlb.inc
diff options
context:
space:
mode:
authorsmos <seth.mos@dds.nl>2011-11-27 18:56:24 +0100
committersmos <seth.mos@dds.nl>2011-11-27 20:09:48 +0100
commit16106d2e4b7f793badb5dc235f3e1622d15b93a8 (patch)
treedd41505985b40e21b4b7279f95bce2b5d20eae09 /etc/inc/gwlb.inc
parentc8423ac04ab12d8b7111752e93f83250cd05bc7e (diff)
downloadpfsense-16106d2e4b7f793badb5dc235f3e1622d15b93a8.zip
pfsense-16106d2e4b7f793badb5dc235f3e1622d15b93a8.tar.gz
Fix for redmine ticket #1993. Allow saving multiple dynamic entries.
Make sure that return_gateways_status() also returns all gateways that have monitoring disabled as up.
Diffstat (limited to 'etc/inc/gwlb.inc')
-rw-r--r--etc/inc/gwlb.inc26
1 files changed, 26 insertions, 0 deletions
diff --git a/etc/inc/gwlb.inc b/etc/inc/gwlb.inc
index 7697de0..21b31d4 100644
--- a/etc/inc/gwlb.inc
+++ b/etc/inc/gwlb.inc
@@ -279,6 +279,32 @@ function return_gateways_status($byname = false) {
$status[$target]['status'] = trim($info[8]);
}
+ /* tack on any gateways that have monitoring disabled */
+ $gateways_arr = return_gateways_array();
+ foreach($gateways_arr as $gwitem) {
+ if(isset($gwitem['monitor_disable'])) {
+ if(!is_ipaddr($gwitem['monitorip'])) {
+ $realif = $gwitem['interface'];
+ $tgtip = get_interface_gateway($realif);
+ $srcip = find_interface_ip($realif);
+ } else {
+ $tgtip = $gwitem['monitorip'];
+ $srcip = find_interface_ip($realif);
+ }
+ if($byname == true)
+ $target = $gwitem['name'];
+ else
+ $target = $tgtip;
+
+ $status[$target]['monitorip'] = $tgtip;
+ $status[$target]['srcip'] = $srcip;
+ $status[$target]['name'] = $gwitem['name'];
+ $status[$target]['lastcheck'] = date('r');
+ $status[$target]['delay'] = "0.0ms";
+ $status[$target]['loss'] = "0.0%";
+ $status[$target]['status'] = "none";
+ }
+ }
return($status);
}
OpenPOWER on IntegriCloud