added q-bridge-mib stuff. and some docs
This commit is contained in:
@@ -356,19 +356,39 @@ sub i_duplex_admin {
|
|||||||
return \%i_duplex_admin;
|
return \%i_duplex_admin;
|
||||||
}
|
}
|
||||||
|
|
||||||
# ok we have to parse through every port listed in every vlan and return an answer.
|
|
||||||
|
=item $hp->i_vlan()
|
||||||
|
|
||||||
|
Looks in Q-BRIDGE-MIB -- see SNMP::Info::Bridge
|
||||||
|
|
||||||
|
and for older devices looks in HP-VLAN.
|
||||||
|
|
||||||
|
=cut
|
||||||
sub i_vlan {
|
sub i_vlan {
|
||||||
my $hp = shift;
|
my $hp = shift;
|
||||||
|
|
||||||
my $interfaces = $hp->interfaces();
|
my $interfaces = $hp->interfaces();
|
||||||
my $hp_v_index = $hp->hp_v_index();
|
|
||||||
my $hp_v_if_tag = $hp->hp_v_if_tag();
|
# Newer devices use Q-BRIDGE-MIB
|
||||||
|
my $qb_i_vlan = $hp->qb_i_vlan();
|
||||||
|
my $qb_i_vlan_type = $hp->qb_i_vlan_type();
|
||||||
|
|
||||||
my $i_vlan = {};
|
my $i_vlan = {};
|
||||||
|
|
||||||
|
foreach my $if (keys %$qb_i_vlan){
|
||||||
|
my $vlan = $qb_i_vlan->{$if};
|
||||||
|
my $tagged = $qb_i_vlan_type->{$if};
|
||||||
|
$tagged = (defined $tagged and $tagged eq 'admitOnlyVlanTagged') ? 1 : 0;
|
||||||
|
next unless defined $vlan;
|
||||||
|
$i_vlan->{$if}= $tagged ? 'trunk' : $vlan;
|
||||||
|
}
|
||||||
|
|
||||||
# HP4000 ... get it from HP-VLAN
|
# HP4000 ... get it from HP-VLAN
|
||||||
# the hpvlanmembertagged2 table has an entry in the form of
|
# the hpvlanmembertagged2 table has an entry in the form of
|
||||||
# vlan.interface = /untagged/no/tagged/auto
|
# vlan.interface = /untagged/no/tagged/auto
|
||||||
|
unless (defined $qb_i_vlan and scalar(keys %$qb_i_vlan)){
|
||||||
|
my $hp_v_index = $hp->hp_v_index();
|
||||||
|
my $hp_v_if_tag = $hp->hp_v_if_tag();
|
||||||
foreach my $row (keys %$hp_v_if_tag){
|
foreach my $row (keys %$hp_v_if_tag){
|
||||||
my ($index,$if) = split(/\./,$row);
|
my ($index,$if) = split(/\./,$row);
|
||||||
|
|
||||||
@@ -383,16 +403,8 @@ sub i_vlan {
|
|||||||
|
|
||||||
$i_vlan->{$if} = $vlan if defined $vlan;
|
$i_vlan->{$if} = $vlan if defined $vlan;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
# HP2512 ... get it from Q-BRIDGE-MIB
|
|
||||||
unless (defined $hp_v_if_tag and scalar(keys %$hp_v_if_tag)){
|
|
||||||
my $qb_v_if = $hp->qb_v_if();
|
|
||||||
foreach my $if (keys %$qb_v_if){
|
|
||||||
my $vlan = $qb_v_if->{$if};
|
|
||||||
next unless defined $vlan;
|
|
||||||
$i_vlan->{$if}=$vlan;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return $i_vlan;
|
return $i_vlan;
|
||||||
}
|
}
|
||||||
1;
|
1;
|
||||||
|
|||||||
Reference in New Issue
Block a user