NAME
Net::SNMP::Mixin::Dot1qVlanStatic - mixin class for 802.1-Q static vlan infos
SYNOPSIS
use
Net::SNMP;
my
$session
= Net::SNMP->session(
-hostname
=>
'foo.bar.com'
);
$session
->mixer(
'Net::SNMP::Mixin::Dot1qVlanStatic'
);
$session
->init_mixins;
snmp_dispatcher()
if
$session
->nonblocking;
$session
->init_ok();
die
$session
->errors
if
$session
->errors;
my
$vlan_id2name
=
$session
->map_vlan_id2name();
foreach
my
$vlan_id
(
keys
%{
$vlan_id2name
} ) {
printf
"Vlan-Id: %4d => Vlan-Name: %s\n"
,
$vlan_id
,
$vlan_id2name
->{
$vlan_id
};
}
my
$vlan_ids2if_idx
=
$session
->map_vlan_id2if_idx();
foreach
my
$id
(
keys
%{
$vlan_ids2if_idx
} ) {
printf
"Vlan-Id: %4d\n"
,
$id
;
printf
"\tTagged-Ports: %s\n"
, (
join
','
, @{
$vlan_ids2if_idx
->{
$id
}{tagged} } );
printf
"\tUntagged-Ports: %s\n"
, (
join
','
, @{
$vlan_ids2if_idx
->{
$id
}{untagged} } );
}
# sorted by interface
my
$ports2ids
=
$session
->map_if_idx2vlan_id();
foreach
my
$if_idx
(
keys
%{
$ports2ids
} ) {
printf
"Interface: %10d\n"
,
$if_idx
;
printf
"\tTagged-Vlans: %s\n"
, (
join
','
, @{
$ports2ids
->{
$if_idx
}{tagged} } );
printf
"\tUntagged-Vlans: %s\n"
, (
join
','
, @{
$ports2ids
->{
$if_idx
}{untagged} } );
}
DESCRIPTION
A mixin class for vlan related infos from the dot1qVlanStaticTable within the Q-BRIDGE-MIB. The mixin-module provides methods for mapping between vlan-ids and vlan-names und relations between interface indexes and vlan-ids, tagged or untagged on these interfaces.
MIXIN METHODS
OBJ->map_vlan_id2name()
Returns a hash reference with statically configured vlan-ids as keys and the corresponing vlan-names as values:
{
vlan_id
=> vlan_name,
vlan_id
=> vlan_name,
... ,
}
OBJ->map_vlan_id2if_idx()
Returns a hash reference with the vlan-ids as keys and tagged and untagged if_idx as values:
{
vlan_id
=> {
tagged
=> [if_idx, ..., ],
untagged
=> [if_idx, ..., ],
},
... ,
}
OBJ->map_if_idx2vlan_id()
Returns a hash reference with the interfaces as keys and tagged and untagged vlan-ids as values:
{
if_idx
=> {
tagged
=> [vlan_id, ..., ],
untagged
=> [vlan_id, ..., ],
},
... ,
}
OBJ->map_vlan_static_ids2names()
DEPRECATED: map_vlan_static_ids2names
is DEPRECATED in favor of map_vlan_id2name
OBJ->map_vlan_static_ids2ports()
DEPRECATED: map_vlan_static_ids2ports
is DEPRECATED in favor of map_vlan_id2if_idx
Returns a hash reference with the vlan-ids as keys and tagged and untagged bridge-port-lists as values:
OBJ->map_vlan_static_ports2ids()
DEPRECATED: map_vlan_static_ports2ids
is DEPRECATED in favor of map_if_idx2vlan_id
Returns a hash reference with the bridge-ports as keys and tagged and untagged vlan-ids as values:
INITIALIZATION
OBJ->_init($reload)
Fetch basic Dot1Q Vlan related snmp values from the host. Don't call this method direct!
PRIVATE METHODS
Only for developers or maintainers.
_dot1d_base_ports_cb($session)
The callback for _fetch_dot1d_base_ports.
_fetch_dot1q_vlan_static_tbl_entries()
Fetch the vlan tag info for current vlans.
_dot1q_vlan_static_tbl_entries_cb($session)
The callback for _fetch_dot1q_vlan_static_tbl_entries_cb.
SEE ALSO
Net::SNMP::Mixin::Dot1dBase for a mapping between ifIndexes and dot1dBasePorts.
REQUIREMENTS
AUTHOR
Karl Gaissmaier <karl.gaissmaier at uni-ulm.de>
COPYRIGHT & LICENSE
Copyright 2008-2021 Karl Gaissmaier, all rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.