#468 Cisco dotted subinterfaces had incorrect vlan assigned
This commit is contained in:
@@ -116,6 +116,9 @@ $VERSION = '3.85';
|
||||
%SNMP::Info::CiscoVTP::MUNGE,
|
||||
);
|
||||
|
||||
|
||||
# the i_vlan in SUPER is just fine; this exists to catch any dotted vlan
|
||||
# subinterfaces not caught by CiscoVTP
|
||||
sub i_vlan {
|
||||
my $cisco = shift;
|
||||
my $partial = shift;
|
||||
@@ -126,18 +129,17 @@ sub i_vlan {
|
||||
|
||||
foreach my $idx ( keys %$i_descr ) {
|
||||
next unless $i_type->{$idx};
|
||||
if ( $i_type->{$idx} eq 'l2vlan'
|
||||
|| $i_type->{$idx} eq '135' && !defined $i_vlan->{$idx} )
|
||||
{
|
||||
# Not sure where this regex came from, anchored at end?
|
||||
if ( $i_descr->{$idx} =~ /\.(\d+)$/ ) {
|
||||
$i_vlan->{$idx} = $1;
|
||||
}
|
||||
next unless (($i_type->{$idx} eq 'l2vlan' or $i_type->{$idx} eq '135')
|
||||
and !defined $i_vlan->{$idx});
|
||||
|
||||
# This matches 101 in 'Ethernet0.101-802.1Q vLAN subif'
|
||||
elsif ( $i_descr->{$idx} =~ /\.(\d+)-/ ) {
|
||||
$i_vlan->{$idx} = $1;
|
||||
}
|
||||
# Not sure where this regex came from, anchored at end?
|
||||
if ( $i_descr->{$idx} =~ /\.(\d+)$/ ) {
|
||||
$i_vlan->{$idx} = $1;
|
||||
}
|
||||
|
||||
# This matches 101 in 'Ethernet0.101-802.1Q vLAN subif'
|
||||
elsif ( $i_descr->{$idx} =~ /\.(\d+)-/ ) {
|
||||
$i_vlan->{$idx} = $1;
|
||||
}
|
||||
}
|
||||
return $i_vlan;
|
||||
|
||||
Reference in New Issue
Block a user