Store IPv4 networks as network address and fix address search page showing networks not addresses (#10144)

* Store IPv4 networks as network address, not device address

* Properly display addresses, not networks on address search page
This commit is contained in:
CirnoT
2019-04-29 11:52:32 -05:00
committed by Tony Murray
parent 9cfa2aaf40
commit 33a51bc592
2 changed files with 4 additions and 3 deletions
+2 -1
View File
@@ -17,7 +17,8 @@ foreach ($vrfs_lite_cisco as $vrf) {
list($oid,$ifIndex) = explode(' ', $data);
$mask = trim(snmp_get($device, "ipAdEntNetMask.$oid", '-Oqv', 'IP-MIB'));
$cidr = IPv4::netmask2cidr($mask);
$network = "$oid/$cidr";
$ipv4 = new IPv4("$oid/$cidr");
$network = $ipv4->getNetworkAddress() . '/' . $ipv4->cidr;
if (dbFetchCell('SELECT COUNT(*) FROM `ports` WHERE device_id = ? AND `ifIndex` = ?', array($device['device_id'], $ifIndex)) != '0' && $oid != '0.0.0.0' && $oid != 'ipAdEntIfIndex') {
+2 -2
View File
@@ -85,11 +85,11 @@ foreach (dbFetchRows($sql, $param) as $interface) {
$type = humanmedia($interface['ifType']);
if ($vars['search_type'] == 'ipv6') {
$address = (string)IP::parse($interface['ipv6_network'], true);
$address = (string)IP::parse($interface['ipv6_address'], true) . '/' . $interface['ipv6_prefixlen'];
} elseif ($vars['search_type'] == 'mac') {
$address = formatMac($interface['ifPhysAddress']);
} else {
$address = (string)IP::parse($interface['ipv4_network'], true);
$address = (string)IP::parse($interface['ipv4_address'], true) . '/' . $interface['ipv4_prefixlen'];
}
if ($interface['in_errors'] > 0 || $interface['out_errors'] > 0) {