mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
Clean up ipv4 discovery by changing to Net_IPv4 instead of ipcalc
git-svn-id: http://www.observium.org/svn/observer/trunk@1808 61d68cd4-352d-0410-923a-c4978735b2b8
This commit is contained in:
@ -9,11 +9,9 @@ foreach(explode("\n", $oids) as $data)
|
|||||||
$data = trim($data);
|
$data = trim($data);
|
||||||
list($oid,$ifIndex) = explode(" ", $data);
|
list($oid,$ifIndex) = explode(" ", $data);
|
||||||
$mask = trim(snmp_get($device,"ipAdEntNetMask.$oid","-Oqv","IP-MIB"));
|
$mask = trim(snmp_get($device,"ipAdEntNetMask.$oid","-Oqv","IP-MIB"));
|
||||||
#FIXME internalize?
|
$addr = Net_IPv4::parseAddress("$oid/$mask");
|
||||||
$network = trim(shell_exec ($config['ipcalc'] . " $oid/$mask | grep Network | cut -d\" \" -f 4"));
|
$network = $addr->network . "/" . $addr->bitmask;
|
||||||
list($net,$cidr) = explode("/", $network);
|
$cidr = $addr->bitmask;
|
||||||
$cidr = trim($cidr);
|
|
||||||
if ($mask == "255.255.255.255") { $cidr = "32"; $network = "$oid/$cidr"; }
|
|
||||||
if (mysql_result(mysql_query("SELECT count(*) FROM `ports` WHERE device_id = '".$device['device_id']."' AND `ifIndex` = '$ifIndex'"), 0) != '0' && $oid != "0.0.0.0")
|
if (mysql_result(mysql_query("SELECT count(*) FROM `ports` WHERE device_id = '".$device['device_id']."' AND `ifIndex` = '$ifIndex'"), 0) != '0' && $oid != "0.0.0.0")
|
||||||
{
|
{
|
||||||
$i_query = "SELECT interface_id FROM `ports` WHERE device_id = '".$device['device_id']."' AND `ifIndex` = '$ifIndex'";
|
$i_query = "SELECT interface_id FROM `ports` WHERE device_id = '".$device['device_id']."' AND `ifIndex` = '$ifIndex'";
|
||||||
@ -38,11 +36,11 @@ foreach(explode("\n", $oids) as $data)
|
|||||||
$full_address = "$oid/$cidr|$ifIndex";
|
$full_address = "$oid/$cidr|$ifIndex";
|
||||||
$valid_v4[$full_address] = 1;
|
$valid_v4[$full_address] = 1;
|
||||||
} else { echo("!"); }
|
} else { echo("!"); }
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$sql = "SELECT * FROM ipv4_addresses AS A, ports AS I WHERE I.device_id = '".$device['device_id']."' AND A.interface_id = I.interface_id";
|
$sql = "SELECT * FROM ipv4_addresses AS A, ports AS I WHERE I.device_id = '".$device['device_id']."' AND A.interface_id = I.interface_id";
|
||||||
$data = mysql_query($sql);
|
$data = mysql_query($sql);
|
||||||
|
|
||||||
while($row = mysql_fetch_array($data))
|
while($row = mysql_fetch_array($data))
|
||||||
{
|
{
|
||||||
$full_address = $row['ipv4_address'] . "/" . $row['ipv4_prefixlen'] . "|" . $row['ifIndex'];
|
$full_address = $row['ipv4_address'] . "/" . $row['ipv4_prefixlen'] . "|" . $row['ifIndex'];
|
||||||
|
@ -78,4 +78,6 @@ while($row = mysql_fetch_array($data))
|
|||||||
|
|
||||||
unset($valid_v6);
|
unset($valid_v6);
|
||||||
|
|
||||||
|
echo "\n";
|
||||||
|
|
||||||
?>
|
?>
|
Reference in New Issue
Block a user