summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorScott Ullrich <sullrich@pfsense.org>2009-10-23 13:29:59 -0400
committerScott Ullrich <sullrich@pfsense.org>2009-10-23 13:29:59 -0400
commit27625b391f1118697477d0cd024710c7779b37a2 (patch)
treea933acbdf8cffc825b8828273f47a31835012031
parent6a423903d2da40c323eaf381a1ae0ed8551d3e77 (diff)
downloadpfsense-27625b391f1118697477d0cd024710c7779b37a2.zip
pfsense-27625b391f1118697477d0cd024710c7779b37a2.tar.gz
Unbreak status -> interfaces. TODO: Unbreak Disable Carp button
-rw-r--r--etc/inc/interfaces.inc10
-rw-r--r--etc/inc/pfsense-utils.inc17
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;
}
OpenPOWER on IntegriCloud