fix: Fall back to ipNetToMediaPhysAddress when ipNetToPhysicalPhysAddress not available #4559

This commit is contained in:
Daniel Preussker
2016-10-04 07:27:46 +00:00
committed by Neil Lathwood
parent 0a30502fea
commit 638f61002c

View File

@@ -11,8 +11,13 @@ if (key_exists('vrf_lite_cisco', $device) && (count($device['vrf_lite_cisco'])!=
foreach ($vrfs_lite_cisco as $vrf) {
$device['context_name']=$vrf['context_name'];
$ipNetToPhysical_data = snmp_walk($device, 'ipNetToPhysicalPhysAddress', '-Oq', 'IP-MIB');
$ipNetToPhysical_data = str_replace('IP-MIB::ipNetToPhysicalPhysAddress.', '', trim($ipNetToPhysical_data));
$arp_oid = 'ipNetToPhysicalPhysAddress';
$ipNetToPhysical_data = snmp_walk($device, $arp_oid, '-Oq', 'IP-MIB');
if (empty($ipNetToPhysical_data)) {
$arp_oid = 'ipNetToMediaPhysAddress';
$ipNetToPhysical_data = snmp_walk($device, $arp_oid, '-Oq', 'IP-MIB');
}
$ipNetToPhysical_data = str_replace('IP-MIB::'.$arp_oid.'.', '', trim($ipNetToPhysical_data));
$ipNetToPhysical_data = str_replace('"', '', trim($ipNetToPhysical_data));
foreach (explode("\n", $ipNetToPhysical_data) as $data) {
list($oid, $mac) = explode(' ', $data);