From 12d63478715dcb39cbf9eb04121590d87afe0f7b Mon Sep 17 00:00:00 2001 From: Sawachier Date: Tue, 12 Apr 2016 16:00:52 +0200 Subject: [PATCH 1/2] Update arp-table.inc.php --- includes/discovery/arp-table.inc.php | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/includes/discovery/arp-table.inc.php b/includes/discovery/arp-table.inc.php index 69b0d9b750..21585d8617 100644 --- a/includes/discovery/arp-table.inc.php +++ b/includes/discovery/arp-table.inc.php @@ -4,6 +4,16 @@ 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)); +} + +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)); @@ -48,7 +58,7 @@ foreach (explode("\n", $ipNetToMedia_data) as $data) { 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), 'ipv4_mac', 'port_id=? AND ipv4_address=?', array($interface['port_id'], $ip)); + dbUpdate(array('mac_address' => $clean_mac, 'context_name' => $device['context_name']), 'ipv4_mac', 'port_id=? AND ipv4_address=?', array($interface['port_id'], $ip)); echo '.'; } else if (isset($interface['port_id'])) { @@ -58,8 +68,8 @@ foreach (explode("\n", $ipNetToMedia_data) as $data) { '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 @@ -76,6 +86,8 @@ foreach (dbFetchRows($sql) as $entry) { echo '-'; } } - echo "\n"; unset($mac); + unset($device['context_name']); +} +unset($vrfs_c); From b4b58a9e2cf0fd3826682274cf40e29338da5948 Mon Sep 17 00:00:00 2001 From: Sawachier Date: Tue, 12 Apr 2016 16:04:01 +0200 Subject: [PATCH 2/2] Update poller.php --- poller.php | 1 + 1 file changed, 1 insertion(+) diff --git a/poller.php b/poller.php index c8631577db..6014b70733 100755 --- a/poller.php +++ b/poller.php @@ -134,6 +134,7 @@ if (!isset($query)) { foreach (dbFetch($query) as $device) { $device = dbFetchRow("SELECT * FROM `devices` WHERE `device_id` = '".$device['device_id']."'"); + $device['vrf_lite_cisco'] = dbFetchRows("SELECT * FROM `vrf_lite_cisco` WHERE `device_id` = '".$device['device_id']."'"); poll_device($device, $options); RunRules($device['device_id']); echo "\r\n";