NAME
   Net::SNMP::Mixin::Dot1qVlanStatic - mixin class for 802.1-Q static vlan
   infos

VERSION
   Version 0.05

SYNOPSIS
     use Net::SNMP;
     use Net::SNMP::Mixin qw/mixer init_mixins/;

     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
   Net::SNMP, Net::SNMP::Mixin

BUGS, PATCHES & FIXES
   There are no known bugs at the time of this release. However, if you
   spot a bug or are experiencing difficulties that are not explained
   within the POD documentation, please submit a bug to the RT system (see
   link below). However, it would help greatly if you are able to pinpoint
   problems or even supply a patch.

   Fixes are dependant upon their severity and my availablity. Should a fix
   not be forthcoming, please feel free to (politely) remind me by sending
   an email to [email protected] .

     RT: http://rt.cpan.org/Public/Dist/Display.html?Name=Net-SNMP-Mixin-Dot1qVlanStatic

AUTHOR
   Karl Gaissmaier <karl.gaissmaier at uni-ulm.de>

COPYRIGHT & LICENSE
   Copyright 2008-2020 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.