NAME
SNMP::Info::CiscoVTP - SNMP Interface to Cisco's VLAN Management MIBs
AUTHOR
Max Baker
SYNOPSIS
# Let SNMP::Info determine the correct subclass for you.my $vtp = new SNMP::Info(AutoSpecify => 1,Debug => 1,DestHost => 'myswitch',Community => 'public',Version => 2)or die "Can't connect to DestHost.\n";my $class = $vtp->class();print "SNMP::Info determined this device to fall under subclass : $class\n";
DESCRIPTION
SNMP::Info::CiscoVTP is a subclass of SNMP::Info that provides information about a Cisco device's VLAN and VTP Domain membership.
Use or create in a subclass of SNMP::Info. Do not use directly.
Inherited Classes
None.
Required MIBs
- CISCO-VTP-MIB
- CISCO-VLAN-MEMBERSHIP-MIB
- CISCO-VLAN-IFTABLE-RELATIONSHIP-MIB
GLOBALS
- $vtp->vtp_version()
-
(
"vtpVersion")
- $vtp->vtp_maxstore()
-
(
"vtpMaxVlanStorage")
- $vtp->vtp_notify()
-
(
"vtpNotificationsEnabled")
- $vtp->vtp_notify_create()
-
(
"vtpVlanCreatedNotifEnabled")
- $vtp->vtp_notify_delete()
-
(
"vtpVlanDeletedNotifEnabled")
- $vtp->vtp_trunk_set_serial()
-
(
"vlanTrunkPortSetSerialNo")
TABLE METHODS
Your device will only implement a subset of these methods.
- $vtp->i_vlan()
-
Returns a mapping between
"ifIndex"and assigned VLAN ID for access ports and the default VLAN ID for trunk ports.
- $vtp->i_untagged()
-
An alias for
"i_vlan".
- $vtp->i_vlan_membership()
-
Returns reference to hash of arrays: key =
"ifIndex", value = array of VLAN IDs. These are the VLANs which are members of enabled VLAN list for the port.Example:my $interfaces = $vtp->interfaces();my $vlans = $vtp->i_vlan_membership();foreach my $iid (sort keys %$interfaces) {my $port = $interfaces->{$iid};my $vlan = join(',', sort(@{$vlans->{$iid}}));print "Port: $port VLAN: $vlan\n";}
- $vtp->i_subinterfaces()
-
Returns reference to hash of arrays: key =
"ifIndex", value = array of"ifIndex". These are the VLAN subinterfaces ("l2vlan"type) for the parent ("ethernetCsmacd"type) interface.Example:my $interfaces = $vtp->interfaces();my $i_subs = $vtp->i_subinterfaces();foreach my $iid (sort keys %$interfaces) {my $port = $interfaces->{$iid};my $subs = join(',', sort(map {$interfaces->{$_}} @{$i_subs->{$iid}}));print "Port: $port has subinterfaces: $subs\n";}
- $vtp->i_vlan_membership_untagged()
-
Returns reference to hash of arrays: key =
"ifIndex", value = array of VLAN IDs. These are the VLANs which are members of the untagged egress list for the port.
VLAN Table ("CISCO-VTP-MIB::vtpVlanTable")
See <ftp://ftp.cisco.com/pub/mibs/supportlists/wsc5000/wsc5000-communityIndexing.html> for a good treaty of how to connect to the VLANs
- $vtp->v_index()
-
(
"vtpVlanIndex")
- $vtp->v_state()
-
(
"vtpVlanState")
- $vtp->v_type()
-
(
"vtpVlanType")
- $vtp->v_name()
-
(
"vtpVlanName")
- $vtp->v_mtu()
-
(
"vtpVlanMtu")
- $vtp->v_said()
-
(
"vtpVlanDot10Said")
- $vtp->v_ring()
-
(
"vtpVlanRingNumber")
- $vtp->v_bridge()
-
(
"vtpVlanBridgeNumber")
- $vtp->v_stp()
-
(
"vtpVlanStpType")
- $vtp->v_parent()
-
(
"vtpVlanParentVlan")
- $vtp->v_trans1()
-
(
"vtpVlanTranslationalVlan1")
- $vtp->v_trans2()
-
(
"vtpVlanTranslationalVlan2")
- $vtp->v_btype()
-
(
"vtpVlanBridgeType")
- $vtp->v_hop_are()
-
(
"vtpVlanAreHopCount")
- $vtp->v_hop_ste()
-
(
"vtpVlanSteHopCount")
- $vtp->v_crf()
-
(
"vtpVlanIsCRFBackup")
- $vtp->v_type_ext()
-
(
"vtpVlanTypeExt")
- $vtp->v_if()
-
(
"vtpVlanIfIndex")
VLAN Membership Table ("CISCO-VLAN-MEMBERSHIP-MIB::vmMembershipTable")
- $vtp->i_vlan_type()
-
Static, Dynamic, or multiVlan.
(
"vmVlanType")
- $vtp->i_vlan2()
-
The VLAN that an access port is assigned to.
(
"vmVlan")
- $vtp->i_vlan_stat()
-
Inactive, active, shutdown.
(
"vmPortStatus")
- $vtp->i_vlan_1()
-
Each bit represents a VLAN. This is 0 through 1023
(
"vmVlans")
- $vtp->i_vlan_2()
-
Each bit represents a VLAN. This is 1024 through 2047
(
"vmVlans2k")
- $vtp->i_vlan_3()
-
Each bit represents a VLAN. This is 2048 through 3071
(
"vmVlans3k")
- $vtp->i_vlan_4()
-
Each bit represents a VLAN. This is 3072 through 4095
(
"vmVlans4k")
VLAN Membership Voice VLAN Table ("CISCO-VLAN-MEMBERSHIP-MIB::vmVoiceVlanTable")
- $vtp->i_voice_vlan()
-
(
"vmVoiceVlanId")
Management Domain Table ("CISCO-VTP-MIB::managementDomainTable")
- $vtp->vtp_d_name()
-
(
"managementDomainName")
- $vtp->vtp_d_mode()
-
(
"managementDomainLocalMode")
- $vtp->vtp_d_rev()
-
(
"managementDomainConfigRevNumber")
- $vtp->vtp_d_updater()
-
(
"managementDomainLastUpdater")
- $vtp->vtp_d_last()
-
(
"managementDomainLastChange")
- $vtp->vtp_d_status()
-
(
"managementDomainRowStatus")
- $vtp->vtp_d_tftp()
-
(
"managementDomainTftpServer")
- $vtp->vtp_d_tftp_path()
-
(
"managementDomainTftpPathname")
- $vtp->vtp_d_pruning()
-
(
"managementDomainPruningState")
- $vtp->vtp_d_ver()
-
(
"managementDomainVersionInUse")
VLAN Trunk Port Table ("CISCO-VTP-MIB::vlanTrunkPortTable")
- $vtp->vtp_trunk_mgmt_dom()
-
(
"vlanTrunkPortManagementDomain")
- $vtp->vtp_trunk_encaps_t()
-
(
"vlanTrunkPortEncapsulationType")
- $vtp->vtp_trunk_vlans()
-
(
"vlanTrunkPortVlansEnabled")
- $vtp->vtp_trunk_vlans_2k()
-
(
"vlanTrunkPortVlansEnabled2k")
- $vtp->vtp_trunk_vlans_3k()
-
(
"vlanTrunkPortVlansEnabled3k")
- $vtp->vtp_trunk_vlans_4k()
-
(
"vlanTrunkPortVlansEnabled4k")
- $vtp->vtp_trunk_native()
-
(
"vlanTrunkPortNativeVlan")
- $vtp->i_pvid()
-
(
"vlanTrunkPortNativeVlan")
- $vtp->vtp_trunk_rstat()
-
(
"vlanTrunkPortRowStatus")
- $vtp->vtp_trunk_dyn()
-
(
"vlanTrunkPortDynamicState")
- $vtp->vtp_trunk_dyn_stat()
-
(
"vlanTrunkPortDynamicStatus")
- $vtp->vtp_trunk_vtp()
-
(
"vlanTrunkPortVtpEnabled")
- $vtp->vtp_trunk_encaps()
-
(
"vlanTrunkPortEncapsulationOperType")
SET METHODS
These are methods that provide SNMP set functionality for overridden methods or provide a simpler interface to complex set operations. See "SETTING DATA VIA SNMP" in SNMP::Info for general information on set operations.
- $vtp->set_i_vlan ( vlan, ifIndex )
-
Changes an access (untagged) port VLAN, must be supplied with the numeric VLAN ID and port
"ifIndex". This method should only be used on end station (non-trunk) ports.Example:my %if_map = reverse %{$vtp->interfaces()};$vtp->set_i_vlan('2', $if_map{'FastEthernet0/1'})or die "Couldn't change port VLAN. ",$vtp->error(1);
- $vtp->set_i_pvid ( pvid, ifIndex )
-
Sets port default VLAN, must be supplied with the numeric VLAN ID and port
"ifIndex". This method should only be used on trunk ports.Example:my %if_map = reverse %{$vtp->interfaces()};$vtp->set_i_pvid('2', $if_map{'FastEthernet0/1'})or die "Couldn't change port default VLAN. ",$vtp->error(1);
- $vtp->set_i_untagged ( vlan, ifIndex )
-
This method attempts to work out whether the port referenced by ifIndex is trunking, and if so will return the value of
"set_i_pvid". Otherwise, the value of"set_i_vlan"is returned.
- $vtp->set_add_i_vlan_tagged ( vlan, ifIndex )
-
Adds the VLAN to the enabled VLANs list of the port, must be supplied with the numeric VLAN ID and port
"ifIndex".Example:my %if_map = reverse %{$vtp->interfaces()};$vtp->set_add_i_vlan_tagged('2', $if_map{'FastEthernet0/1'})or die "Couldn't add port to egress list. ",$vtp->error(1);
- $vtp->set_remove_i_vlan_tagged ( vlan, ifIndex )
-
Removes the VLAN from the enabled VLANs list of the port, must be supplied with the numeric VLAN ID and port
"ifIndex".Example:my %if_map = reverse %{$vtp->interfaces()};$vtp->set_remove_i_vlan_tagged('2', $if_map{'FastEthernet0/1'})or die "Couldn't add port to egress list. ",$vtp->error(1);