add NMS-LLDP-MIB discovery for PBN devices

This commit is contained in:
vitalisator
2015-08-17 18:12:49 +02:00
parent 744134167d
commit 5fea54ca6a

View File

@ -41,12 +41,7 @@ if ($device['os'] == 'ironware' && $config['autodiscovery']['xdp'] === true) {
echo ' CISCO-CDP-MIB: ';
unset($cdp_array);
if ($config['autodiscovery']['xdp'] === true) {
if ($device['os'] == 'pbn') {
$cdp_array = snmpwalk_cache_oid($device, 'cdpCache', array(), 'CISCO-CDP-MIB');
}
else {
$cdp_array = snmpwalk_cache_twopart_oid($device, 'cdpCache', array(), 'CISCO-CDP-MIB');
}
$cdp_array = snmpwalk_cache_twopart_oid($device, 'cdpCache', array(), 'CISCO-CDP-MIB');
d_echo($cdp_array);
if ($cdp_array) {
unset($cdp_links);
@ -83,11 +78,44 @@ if ($config['autodiscovery']['xdp'] === true) {
}//end if
}//end if
echo ' LLDP-MIB: ';
unset($lldp_array);
if ($config['autodiscovery']['xdp'] === true) {
if ($device['os'] == 'pbn' && $config['autodiscovery']['xdp'] === true) {
echo ' NMS-LLDP-MIB: ';
$lldp_array = snmpwalk_cache_oid($device, 'lldpRemoteSystemsData', array(), 'NMS-LLDP-MIB');
d_echo($lldp_array);
if ($lldp_array) {
unset($lldp_links);
foreach (array_keys($lldp_array) as $key) {
$lldp = $lldp_array[$key];
d_echo($lldp);
$interface = dbFetchRow('SELECT * FROM `ports` WHERE `device_id` = ? AND `ifIndex` = ?', array($device['device_id'], $lldp['lldpRemLocalPortNum']));
$remote_device_id = dbFetchCell('SELECT `device_id` FROM `devices` WHERE `sysName` = ? OR `hostname` = ?', array($lldp['lldpRemSysName'], $lldp['lldpRemSysName']));
if (!$remote_device_id && is_valid_hostname($lldp['lldpRemSysName'])) {
$remote_device_id = discover_new_device($lldp['lldpRemSysName'], $device, 'LLDP', $interface);
}
if ($remote_device_id) {
$if = $lldp['lldpRemPortDesc'];
$id = $lldp['lldpRemPortId'];
$remote_port_id = dbFetchCell('SELECT `port_id` FROM `ports` WHERE (`ifDescr` = ? OR `ifName` = ? OR `ifDescr` = ? OR `ifName` = ?) AND `device_id` = ?', array($if, $if, $id, $id, $remote_device_id));
}
else {
$remote_port_id = '0';
}
if (is_numeric($interface['port_id']) && isset($lldp['lldpRemSysName']) && isset($lldp['lldpRemPortId'])) {
discover_link($interface['port_id'], 'lldp', $remote_port_id, $lldp['lldpRemSysName'], $lldp['lldpRemPortId'], null, $lldp['lldpRemSysDesc'], $device['device_id'], $remote_device_id);
}
}//end foreach
}//end if
} elseif ($config['autodiscovery']['xdp'] === true) {
echo ' LLDP-MIB: ';
$lldp_array = snmpwalk_cache_threepart_oid($device, 'lldpRemoteSystemsData', array(), 'LLDP-MIB');
d_echo($lldp_array);
$dot1d_array = snmpwalk_cache_oid($device, 'dot1dBasePortIfIndex', array(), 'BRIDGE-MIB');
@ -132,7 +160,7 @@ if ($config['autodiscovery']['xdp'] === true) {
}//end foreach
}//end foreach
}//end if
}//end if
}//end elseif
echo 'OSPF Discovery: ';