diff options
author | smos <seth.mos@dds.nl> | 2011-11-27 18:56:24 +0100 |
---|---|---|
committer | smos <seth.mos@dds.nl> | 2011-11-27 20:09:48 +0100 |
commit | 16106d2e4b7f793badb5dc235f3e1622d15b93a8 (patch) | |
tree | dd41505985b40e21b4b7279f95bce2b5d20eae09 /etc/inc/gwlb.inc | |
parent | c8423ac04ab12d8b7111752e93f83250cd05bc7e (diff) | |
download | pfsense-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.inc | 26 |
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); } |