2010-01-03 22:13:50 +00:00
< ? php
2011-03-15 11:39:50 +00:00
echo ( " Q-BRIDGE-MIB VLANs : " );
2010-01-03 22:13:50 +00:00
2011-03-15 11:39:50 +00:00
$vlanversion = snmp_get ( $device , " dot1qVlanVersionNumber.0 " , " -Oqv " , " Q-BRIDGE-MIB " );
2010-01-03 22:13:50 +00:00
2011-03-15 11:39:50 +00:00
if ( $vlanversion == 'version1' )
{
echo ( " VLAN $vlanversion " );
2010-01-03 22:13:50 +00:00
2011-04-10 19:56:24 +00:00
$vlans = snmp_walk ( $device , " dot1qVlanFdbId " , " -Oqn " , " Q-BRIDGE-MIB " );
2010-01-03 22:13:50 +00:00
2011-03-15 11:39:50 +00:00
foreach ( explode ( " \n " , $vlans ) as $vlan_oid )
{
2011-04-11 09:22:12 +00:00
list ( $oid , $vlan_index ) = explode ( ' ' , $vlan_oid );
2011-03-15 11:39:50 +00:00
$oid_ex = explode ( '.' , $oid );
$vlan = $oid_ex [ count ( $oid_ex ) - 1 ];
2010-01-03 22:13:50 +00:00
2011-03-15 11:39:50 +00:00
$vlan_descr_cmd = $config [ 'snmpget' ] . " -M " . $config [ 'mibdir' ] . " -m Q-BRIDGE-MIB -O nvq - " . $device [ 'snmpver' ] . " -c " . $device [ 'community' ] . " " . $device [ 'hostname' ] . " : " . $device [ 'port' ] . " " ;
$vlan_descr_cmd .= " dot1qVlanStaticName. $vlan |grep -v \" No Such Instance currently exists at this OID \" " ;
$vlan_descr = shell_exec ( $vlan_descr_cmd );
2010-01-03 22:13:50 +00:00
2011-03-15 11:39:50 +00:00
$vlan_descr = trim ( str_replace ( " \" " , " " , $vlan_descr ));
2010-01-03 22:13:50 +00:00
2011-03-15 11:39:50 +00:00
if ( mysql_result ( mysql_query ( " SELECT COUNT(vlan_id) FROM `vlans` WHERE `device_id` = ' " . $device [ 'device_id' ] . " ' AND `vlan_domain` = '' AND `vlan_vlan` = ' " . $vlan . " ' " ), 0 ) == '0' )
{
mysql_query ( " INSERT INTO `vlans` (`device_id`,`vlan_domain`,`vlan_vlan`, `vlan_descr`) VALUES ( " . $device [ 'device_id' ] . " ,'',' $vlan ', ' " . mres ( $vlan_descr ) . " ') " );
echo ( " + " );
} else {
mysql_query ( " UPDATE `vlans` SET `vlan_descr`=' " . mres ( $vlan_descr ) . " ' WHERE `device_id`=' " . $device [ 'device_id' ] . " ' AND `vlan_vlan`=' " . $vlan . " ' " );
echo ( " . " );
}
2010-01-03 22:13:50 +00:00
2011-03-15 11:39:50 +00:00
$this_vlans [] = $vlan ;
}
2010-01-03 22:13:50 +00:00
2011-03-15 11:39:50 +00:00
}
echo ( " \n " );
2010-01-03 22:13:50 +00:00
2011-04-09 13:53:23 +00:00
?>