Provided by: libsnmp-info-perl_3.39-1_all
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 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);