Merge pull request #3126 from laf/issue-3092

Reverted to pre-vrf lite codebase
This commit is contained in:
Daniel Preussker
2016-03-02 11:44:39 +00:00
+14 -26
View File
@@ -4,21 +4,11 @@ unset($mac_table);
echo 'ARP Table : ';
if( key_exists('vrf_lite_cisco', $device) && (count($device['vrf_lite_cisco'])!=0) ){
$vrfs_lite_cisco = $device['vrf_lite_cisco'];
}
else {
$vrfs_lite_cisco = array(array('context_name'=>null));
}
$ipNetToMedia_data = snmp_walk($device, 'ipNetToMediaPhysAddress', '-Oq', 'IP-MIB');
$ipNetToMedia_data = str_replace('ipNetToMediaPhysAddress.', '', trim($ipNetToMedia_data));
$ipNetToMedia_data = str_replace('IP-MIB::', '', trim($ipNetToMedia_data));
foreach ($vrfs_lite_cisco as $vrf) {
$device['context_name']=$vrf['context_name'];
$ipNetToMedia_data = snmp_walk($device, 'ipNetToMediaPhysAddress', '-Oq', 'IP-MIB');
$ipNetToMedia_data = str_replace('ipNetToMediaPhysAddress.', '', trim($ipNetToMedia_data));
$ipNetToMedia_data = str_replace('IP-MIB::', '', trim($ipNetToMedia_data));
foreach (explode("\n", $ipNetToMedia_data) as $data) {
foreach (explode("\n", $ipNetToMedia_data) as $data) {
list($oid, $mac) = explode(' ', $data);
list($if, $first, $second, $third, $fourth) = explode('.', $oid);
$ip = $first.'.'.$second.'.'.$third.'.'.$fourth;
@@ -50,7 +40,7 @@ foreach ($vrfs_lite_cisco as $vrf) {
if (dbFetchCell('SELECT COUNT(*) from ipv4_mac WHERE port_id = ? AND ipv4_address = ?', array($interface['port_id'], $ip))) {
// Commented below, no longer needed but leaving for reference.
// $sql = "UPDATE `ipv4_mac` SET `mac_address` = '$clean_mac' WHERE port_id = '".$interface['port_id']."' AND ipv4_address = '$ip'";
$old_mac = dbFetchCell('SELECT mac_address from ipv4_mac WHERE ipv4_address=?', array($ip, $interface['port_id']));
$old_mac = dbFetchCell('SELECT mac_address from ipv4_mac WHERE ipv4_address=? AND port_id=?', array($ip, $interface['port_id']));
if ($clean_mac != $old_mac && $clean_mac != '' && $old_mac != '') {
d_echo("Changed mac address for $ip from $old_mac to $clean_mac\n");
@@ -58,25 +48,25 @@ foreach ($vrfs_lite_cisco as $vrf) {
log_event("MAC change: $ip : ".mac_clean_to_readable($old_mac).' -> '.mac_clean_to_readable($clean_mac), $device, 'interface', $interface['port_id']);
}
dbUpdate(array('mac_address' => $clean_mac, 'context_name' => $device['context_name']), 'ipv4_mac', 'port_id=? AND ipv4_address=?', array($interface['port_id'], $ip));
dbUpdate(array('mac_address' => $clean_mac), 'ipv4_mac', 'port_id=? AND ipv4_address=?', array($interface['port_id'], $ip));
echo '.';
}
elseif (isset($interface['port_id'])) {
else if (isset($interface['port_id'])) {
echo '+';
// echo("Add MAC $mac\n");
$insert_data = array(
'port_id' => $interface['port_id'],
'mac_address' => $clean_mac,
'ipv4_address' => $ip,
'context_name' => $device['context_name'],
);
dbInsert($insert_data, 'ipv4_mac');
}//end if
}//end if
}//end foreach
}//end foreach
$sql = "SELECT * from ipv4_mac AS M, ports as I WHERE M.port_id = I.port_id and I.device_id = '".$device['device_id']."'";
foreach (dbFetchRows($sql) as $entry) {
$sql = "SELECT * from ipv4_mac AS M, ports as I WHERE M.port_id = I.port_id and I.device_id = '".$device['device_id']."'";
foreach (dbFetchRows($sql) as $entry) {
$entry_mac = $entry['mac_address'];
$entry_if = $entry['port_id'];
if (!$mac_table[$entry_if][$entry_mac]) {
@@ -85,9 +75,7 @@ foreach ($vrfs_lite_cisco as $vrf) {
echo '-';
}
}
echo "\n";
unset($mac);
unset($device['context_name']);
}
unset($vrfs_c);
echo "\n";
unset($mac);