mirror of
https://github.com/lucaspalomodevelop/core.git
synced 2026-03-14 16:44:39 +00:00
interfaces.lib.inc, fix and extend carp output in legacy_interfaces_details(), so we can use the proper values in status_interfaces.php
This commit is contained in:
parent
32268f0530
commit
25728c5daa
@ -258,9 +258,12 @@ function legacy_interfaces_details($intf = null)
|
||||
} elseif (strpos($line, "\tinet ") !== false) {
|
||||
// IPv4 information
|
||||
unset($mask);
|
||||
unset($vhid);
|
||||
for ($i = 0; $i < count($line_parts) - 1; ++$i) {
|
||||
if ($line_parts[$i] == 'netmask') {
|
||||
$mask = substr_count(base_convert(hexdec($line_parts[$i + 1]), 10, 2), '1');
|
||||
} elseif ($line_parts[$i] == 'vhid') {
|
||||
$vhid = $line_parts[$i+1];
|
||||
}
|
||||
}
|
||||
if (isset($mask)) {
|
||||
@ -268,6 +271,9 @@ function legacy_interfaces_details($intf = null)
|
||||
if ($line_parts[2] == '-->') {
|
||||
$tmp['endpoint'] = $line_parts[3];
|
||||
}
|
||||
if (isset($vhid)) {
|
||||
$tmp['vhid'] = $vhid;
|
||||
}
|
||||
$result[$current_interface]["ipv4"][] = $tmp;
|
||||
}
|
||||
} elseif (strpos($line, "\tinet6 ") !== false) {
|
||||
@ -277,6 +283,8 @@ function legacy_interfaces_details($intf = null)
|
||||
for ($i = 0; $i < count($line_parts) - 1; ++$i) {
|
||||
if ($line_parts[$i] == 'prefixlen') {
|
||||
$tmp['subnetbits'] = intval($line_parts[$i + 1]);
|
||||
} elseif ($line_parts[$i] == 'vhid') {
|
||||
$tmp['vhid'] = $line_parts[$i+1];
|
||||
}
|
||||
if ($line_parts[$i] == '-->') {
|
||||
$tmp['tunnel'] = true;
|
||||
@ -320,11 +328,15 @@ function legacy_interfaces_details($intf = null)
|
||||
array_shift($line_parts);
|
||||
$result[$current_interface]['groups'] = $line_parts;
|
||||
} elseif (strpos($line, "\tcarp: ") !== false) {
|
||||
$result[$current_interface]["carp"] = array();
|
||||
$result[$current_interface]["carp"]['status'] = $line_parts[1];
|
||||
$result[$current_interface]["carp"]['vhid'] = $line_parts[3];
|
||||
$result[$current_interface]["carp"]['advbase'] = $line_parts[5];
|
||||
$result[$current_interface]["carp"]['advskew'] = $line_parts[7];
|
||||
if (empty($result[$current_interface]["carp"])) {
|
||||
$result[$current_interface]["carp"] = array();
|
||||
}
|
||||
$result[$current_interface]["carp"][] = array(
|
||||
"status" => $line_parts[1],
|
||||
"vhid" => $line_parts[3],
|
||||
"advbase" => $line_parts[5],
|
||||
"advskew" => $line_parts[7]
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -32,7 +32,9 @@ require_once("interfaces.lib.inc");
|
||||
$statuses = array();
|
||||
foreach (legacy_interfaces_details() as $intf) {
|
||||
if (!empty($intf['carp'])) {
|
||||
$statuses[$intf['carp']['status']] = true;
|
||||
foreach ($intf['carp'] as $carpitem) {
|
||||
$statuses[$carpitem['status']] = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user