2007-04-10 23:43:42 +00:00
< ?
2008-03-22 23:09:35 +00:00
echo ( " Cisco VLANs : " );
2007-04-10 23:43:42 +00:00
2008-03-22 23:09:35 +00:00
$vtpversion_cmd = $config [ 'snmpget' ] . " -Oqv - " . $device [ 'snmpver' ] . " -c " . $device [ 'community' ] . " " . $device [ 'hostname' ] . " .1.3.6.1.4.1.9.9.46.1.1.1.0 " ;
2007-04-12 00:07:25 +00:00
$vtpversion = trim ( `$vtpversion_cmd 2>/dev/null` );
2007-04-10 23:43:42 +00:00
2007-04-12 00:07:25 +00:00
if ( $vtpversion == '1' || $vtpversion == '2' ) {
2007-04-10 23:43:42 +00:00
2007-04-15 14:38:26 +00:00
$vtp_domain_cmd = " snmpget -Oqv - " . $device [ 'snmpver' ] . " -c " . $device [ 'community' ] . " " . $device [ 'hostname' ] . " .1.3.6.1.4.1.9.9.46.1.2.1.1.2.1 " ;
$vtp_domain = trim ( str_replace ( " \" " , " " , `$vtp_domain_cmd 2>/dev/null` ));
2008-03-22 23:09:35 +00:00
echo ( " VTP v $vtpversion $vtp_domain " );
2007-04-10 23:43:42 +00:00
2007-04-12 00:07:25 +00:00
$vlans_cmd = " snmpwalk -O qn - " . $device [ 'snmpver' ] . " -c " . $device [ 'community' ] . " " . $device [ 'hostname' ] . " " ;
$vlans_cmd .= " 1.3.6.1.4.1.9.9.46.1.3.1.1.2.1 | sed s/.1.3.6.1.4.1.9.9.46.1.3.1.1.2.1.//g | cut -f 1 -d \" \" " ;
2007-04-10 23:43:42 +00:00
2007-04-12 00:07:25 +00:00
$vlans = trim ( `$vlans_cmd | grep -v o` );
2007-04-10 23:43:42 +00:00
2007-04-12 00:07:25 +00:00
foreach ( explode ( " \n " , $vlans ) as $vlan ) {
$vlan_descr_cmd = " snmpget -O nvq - " . $device [ 'snmpver' ] . " -c " . $device [ 'community' ] . " " . $device [ 'hostname' ] . " " ;
$vlan_descr_cmd .= " .1.3.6.1.4.1.9.9.46.1.3.1.1.4.1. " . $vlan ;
$vlan_descr = `$vlan_descr_cmd` ;
$vlan_descr = trim ( str_replace ( " \" " , " " , $vlan_descr ));
2007-04-15 14:38:26 +00:00
if ( mysql_result ( mysql_query ( " SELECT COUNT(vlan_id) FROM `vlans` WHERE `device_id` = ' " . $device [ 'device_id' ] . " ' AND `vlan_domain` = ' " . $vtp_domain . " ' AND `vlan_vlan` = ' " . $vlan . " ' " ), 0 ) == '0' ) {
mysql_query ( " INSERT INTO `vlans` (`device_id`,`vlan_domain`,`vlan_vlan`, `vlan_descr`) VALUES ( " . $device [ 'device_id' ] . " ,' " . $vtp_domain . " ',' $vlan ', ' $vlan_descr ') " );
2008-03-22 23:09:35 +00:00
echo ( " + " );
} else { echo ( " . " ); }
2007-04-15 14:38:26 +00:00
2007-04-12 00:07:25 +00:00
2007-11-23 11:37:28 +00:00
$this_vlans [] = $vlan ;
2007-04-12 00:07:25 +00:00
}
2007-04-10 23:43:42 +00:00
2007-11-23 11:37:28 +00:00
$device_vlans = mysql_query ( " SELECT * FROM `vlans` WHERE `device_id` = ' " . $device [ 'device_id' ] . " ' AND `vlan_domain` = ' " . $vtp_domain . " ' " );
while ( $dev_vlan = mysql_fetch_array ( $device_vlans )) {
unset ( $vlan_exists );
foreach ( $this_vlans as $test_vlan ) {
if ( $test_vlan == $dev_vlan [ 'vlan_vlan' ]) { $vlan_exists = 1 ; }
}
2008-03-22 23:09:35 +00:00
if ( ! $vlan_exists ) {
mysql_query ( " DELETE FROM `vlans` WHERE `vlan_id` = ' " . $dev_vlan [ 'vlan_id' ] . " ' " );
echo ( " - " );
#echo("Deleted VLAN ". $dev_vlan['vlan_vlan'] ."\n");
}
2007-11-23 11:37:28 +00:00
}
2007-04-10 23:43:42 +00:00
}
2008-03-22 23:09:35 +00:00
unset ( $this_vlans );
echo ( " \n " );