AUTHOR
Max BakerSYNOPSIS
# 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
MIBs can be found at ftp://ftp.cisco.com/pub/mibs/v2/v2.tar.gz
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_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_index()
- ("managementDomainIndex")
- $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);