From 4ad8faecdcca0308aa8c2bf48e813a0032f8349a Mon Sep 17 00:00:00 2001 From: Neil Lathwood Date: Sun, 17 Sep 2017 03:19:54 +0100 Subject: [PATCH] refactor: Added detection of vlan name changes (#7348) --- includes/discovery/vlans/avaya-ers.inc.php | 10 +++++++++- includes/discovery/vlans/cisco-vtp.inc.php | 10 +++++++++- includes/discovery/vlans/junos.inc.php | 10 +++++++++- includes/discovery/vlans/q-bridge-mib.inc.php | 10 +++++++++- 4 files changed, 36 insertions(+), 4 deletions(-) diff --git a/includes/discovery/vlans/avaya-ers.inc.php b/includes/discovery/vlans/avaya-ers.inc.php index 806771e909..3ae3115b9e 100644 --- a/includes/discovery/vlans/avaya-ers.inc.php +++ b/includes/discovery/vlans/avaya-ers.inc.php @@ -12,7 +12,15 @@ if ($device['os'] == 'avaya-ers') { foreach ($vlans as $vlan_id => $vlan) { d_echo(" $vlan_id"); if (is_array($vlans_db[$vtpdomain_id][$vlan_id])) { - echo '.'; + $vlan_data = $vlans_db[$vtpdomain_id][$vlan_id]; + if ($vlan_data['vlan_name'] != $vlan['rcVlanName']) { + $vlan_upd['vlan_name'] = $vlan['rcVlanName']; + dbUpdate($vlan_upd, 'vlans', '`vlan_id` = ?', array($vlan_data['vlan_id'])); + log_event("VLAN $vlan_id changed name {$vlan_data['vlan_name']} -> {$vlan['rcVlanName']} ", $device, 'vlan', 3, $vlan_data['vlan_id']); + echo 'U'; + } else { + echo '.'; + } } else { dbInsert(array( 'device_id' => $device['device_id'], diff --git a/includes/discovery/vlans/cisco-vtp.inc.php b/includes/discovery/vlans/cisco-vtp.inc.php index 8ac1207300..33b2100151 100644 --- a/includes/discovery/vlans/cisco-vtp.inc.php +++ b/includes/discovery/vlans/cisco-vtp.inc.php @@ -18,7 +18,15 @@ if ($device['os_group'] == 'cisco') { foreach ($vlans[$vtpdomain_id] as $vlan_id => $vlan) { d_echo(" $vlan_id"); if (is_array($vlans_db[$vtpdomain_id][$vlan_id])) { - echo '.'; + $vlan_data = $vlans_db[$vtpdomain_id][$vlan_id]; + if ($vlan_data['vlan_name'] != $vlan['vtpVlanName']) { + $vlan_upd['vlan_name'] = $vlan['vtpVlanName']; + dbUpdate($vlan_upd, 'vlans', '`vlan_id` = ?', array($vlan_data['vlan_id'])); + log_event("VLAN $vlan_id changed name {$vlan_data['vlan_name']} -> {$vlan['vtpVlanName']} ", $device, 'vlan', 3, $vlan_data['vlan_id']); + echo 'U'; + } else { + echo '.'; + } } else { dbInsert(array('device_id' => $device['device_id'], 'vlan_domain' => $vtpdomain_id, 'vlan_vlan' => $vlan_id, 'vlan_name' => $vlan['vtpVlanName'], 'vlan_type' => $vlan['vtpVlanType']), 'vlans'); echo '+'; diff --git a/includes/discovery/vlans/junos.inc.php b/includes/discovery/vlans/junos.inc.php index a6fb1d0473..e2798896f8 100644 --- a/includes/discovery/vlans/junos.inc.php +++ b/includes/discovery/vlans/junos.inc.php @@ -25,7 +25,15 @@ if ($vlanversion == 'version1' || $vlanversion == '2') { $vlan_id = $tagoruntag[$vlan_id][$tmp_tag]; d_echo(" $vlan_id"); if (is_array($vlans_db[$vtpdomain_id][$vlan_id])) { - echo '.'; + $vlan_data = $vlans_db[$vtpdomain_id][$vlan_id]; + if ($vlan_data['vlan_name'] != $vlan[$tmp_name]) { + $vlan_upd['vlan_name'] = $vlan[$tmp_name]; + dbUpdate($vlan_upd, 'vlans', '`vlan_id` = ?', array($vlan_data['vlan_id'])); + log_event("VLAN $vlan_id changed name {$vlan_data['vlan_name']} -> {$vlan[$tmp_name]} ", $device, 'vlan', 3, $vlan_data['vlan_id']); + echo 'U'; + } else { + echo '.'; + } } else { dbInsert(array( 'device_id' => $device['device_id'], diff --git a/includes/discovery/vlans/q-bridge-mib.inc.php b/includes/discovery/vlans/q-bridge-mib.inc.php index 6f6b7c9115..acb304fd6e 100644 --- a/includes/discovery/vlans/q-bridge-mib.inc.php +++ b/includes/discovery/vlans/q-bridge-mib.inc.php @@ -14,7 +14,15 @@ if ($vlanversion == 'version1' || $vlanversion == '2') { foreach ($vlans as $vlan_id => $vlan) { d_echo(" $vlan_id"); if (is_array($vlans_db[$vtpdomain_id][$vlan_id])) { - echo '.'; + $vlan_data = $vlans_db[$vtpdomain_id][$vlan_id]; + if ($vlan_data['vlan_name'] != $vlan['dot1qVlanStaticName']) { + $vlan_upd['vlan_name'] = $vlan['dot1qVlanStaticName']; + dbUpdate($vlan_upd, 'vlans', '`vlan_id` = ?', array($vlan_data['vlan_id'])); + log_event("VLAN $vlan_id changed name {$vlan_data['vlan_name']} -> {$vlan['dot1qVlanStaticName']} ", $device, 'vlan', 3, $vlan_data['vlan_id']); + echo 'U'; + } else { + echo '.'; + } } else { dbInsert(array( 'device_id' => $device['device_id'],