diff options
author | Scott Ullrich <sullrich@pfsense.org> | 2009-10-23 13:29:59 -0400 |
---|---|---|
committer | Scott Ullrich <sullrich@pfsense.org> | 2009-10-23 13:29:59 -0400 |
commit | 27625b391f1118697477d0cd024710c7779b37a2 (patch) | |
tree | a933acbdf8cffc825b8828273f47a31835012031 | |
parent | 6a423903d2da40c323eaf381a1ae0ed8551d3e77 (diff) | |
download | pfsense-27625b391f1118697477d0cd024710c7779b37a2.zip pfsense-27625b391f1118697477d0cd024710c7779b37a2.tar.gz |
Unbreak status -> interfaces. TODO: Unbreak Disable Carp button
-rw-r--r-- | etc/inc/interfaces.inc | 10 | ||||
-rw-r--r-- | etc/inc/pfsense-utils.inc | 17 |
2 files changed, 12 insertions, 15 deletions
diff --git a/etc/inc/interfaces.inc b/etc/inc/interfaces.inc index fce271f..30e57cc 100644 --- a/etc/inc/interfaces.inc +++ b/etc/inc/interfaces.inc @@ -2318,14 +2318,14 @@ function find_ip_interface($ip) * find_carp_interface($ip): return the carp interface where an ip is defined */ function find_carp_interface($ip) { - global $config; - + global $config; if (is_array($config['virtualip']['vip'])) { foreach ($config['virtualip']['vip'] as $vip) { if ($vip['mode'] == "carp" || $vip['mode'] == "carpdev") { - $carp_ip = find_interface_ip($vip['carpif']); - if ($ip == $carp_ip) - return $vip['carpif']; + $carp_ip = find_interface_ip($vip['interface']); + $if = `ifconfig | grep '$ip' -B1 | head -n1 | cut -d: -f1`; + if ($if) + return $if; } } } diff --git a/etc/inc/pfsense-utils.inc b/etc/inc/pfsense-utils.inc index e0a6d4f..d29b9f4 100644 --- a/etc/inc/pfsense-utils.inc +++ b/etc/inc/pfsense-utils.inc @@ -425,17 +425,14 @@ function get_carp_interface_status($carpinterface) { to speed up this routine */ global $carp_query; if($carp_query == "") - $carp_query = split("\n", `/sbin/ifconfig | /usr/bin/grep carp`); - $found_interface = 0; + $carp_query = split("\n", `/sbin/ifconfig $carpinterface | grep carp`); foreach($carp_query as $int) { - if($found_interface == 1) { - if(stristr($int, "MASTER")) return "MASTER"; - if(stristr($int, "BACKUP")) return "BACKUP"; - if(stristr($int, "INIT")) return "INIT"; - return false; - } - if(stristr($int, $carpinterface) == true) - $found_interface=1; + if(stristr($int, "MASTER")) + return "MASTER"; + if(stristr($int, "BACKUP")) + return "BACKUP"; + if(stristr($int, "INIT")) + return "INIT"; } return; } |