AUTHOR
Eric Miller, Bill FennerSYNOPSIS
# Let SNMP::Info determine the correct subclass for you.
my $extreme = new SNMP::Info(
AutoSpecify => 1,
Debug => 1,
DestHost => 'myswitch',
Community => 'public',
Version => 1
)
or die "Can't connect to DestHost.\n";
my $class = $extreme->class();
print "SNMP::Info determined this device to fall under subclass : $class\n";
DESCRIPTION
Provides abstraction to the configuration information obtainable from an Extreme device through SNMP.For speed or debugging purposes you can call the subclass directly, but not after determining a more specific class using the method above.
my $extreme = new SNMP::Info::Layer3::Extreme(...);
Inherited Classes
- SNMP::Info::Layer3
- SNMP::Info::MAU
- SNMP::Info::LLDP
- SNMP::Info::EDP
Required MIBs
- EXTREME-BASE-MIB
- EXTREME-SYSTEM-MIB
- EXTREME-FDB-MIB
- EXTREME-VLAN-MIB
- EXTREME-POE-MIB
- Inherited Classes' MIBs
- See classes listed above for their required MIBs.
GLOBALS
These are methods that return scalar value from SNMP- $extreme->model()
- Returns model type. Checks $extreme->id() against the EXTREME-BASE-MIB.
- $extreme->vendor()
- Returns extreme
- $extreme->os()
- Returns extreme
- $extreme->os_ver()
- Parses device operating system version from description()
- $extreme->serial()
-
Returns serial number
("extremeSystemID")
- $extreme->temp()
-
Returns system temperature
("extremeCurrentTemperature")
- $extreme->ps1_status()
-
Returns status of power supply 1
("extremePowerSupplyStatus.1")
- $extreme->ps2_status()
-
Returns status of power supply 2
("extremePowerSupplyStatus.2")
- $extreme->fan()
-
Returns fan status
("extremeFanOperational.1")
- $extreme->mac()
-
Returns base mac
("dot1dBaseBridgeAddress")
Globals imported from SNMP::Info::Layer3
See documentation in ``GLOBALS'' in SNMP::Info::Layer3 for details.Globals imported from SNMP::Info::MAU
See documentation in ``GLOBALS'' in SNMP::Info::MAU for details.Globals imported from SNMP::Info::LLDP
See documentation in ``GLOBALS'' in SNMP::Info::LLDP for details.Globals imported from SNMP::Info::EDP
See documentation in ``GLOBALS'' in SNMP::Info::EDP for details.TABLE METHODS
These are methods that return tables of information in the form of a reference to a hash.Overrides
- $extreme->interfaces()
- Returns a mapping between the Interface Table Index (iid) and the physical port name.
- $extreme->i_duplex()
- Parses mau_index and mau_link to return the duplex information for interfaces.
- $extreme->i_duplex_admin()
-
Parses "mac_index","mau_autostat","mau_type_admin" in
order to find the admin duplex setting for all the interfaces.
Returns either (auto,full,half).
- $extreme->i_ignore()
-
Returns reference to hash. Increments value of IID if port is to be ignored.
Ignores VLAN meta interfaces and loopback
- $extreme->fw_mac()
- ("extremeFdbMacFdbMacAddress")
- $extreme->fw_port()
- ("extremeFdbMacFdbPortIfIndex")
- $extreme->fw_status()
- ("extremeFdbMacFdbStatus")
- $extreme->lldp_if()
- Returns the mapping to the SNMP Interface Table. Extreme LLDP uses the bridge index rather than ifIndex.
- $extreme->i_vlan()
- Returns a mapping between "ifIndex" and the VLAN.
- $extreme->i_vlan_membership()
-
Returns reference to hash of arrays: key = "ifIndex", value = array of VLAN
IDs. These are the VLANs which are members of the egress list for the port.
Example: my $interfaces = $extreme->interfaces(); my $vlans = $extreme->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"; }
- $extreme->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.
- $extreme->v_index()
- Returns VLAN IDs
- $extreme->v_name()
-
Returns VLAN names
("extremeVlanIfDescr")
- $extreme->bp_index()
-
Returns reference to hash of bridge port table entries map back to interface
identifier (iid)
Returns ("ifIndex") for both key and value since we're using EXTREME-FDB-MIB rather than BRIDGE-MIB.
- $extreme->peth_port_power()
-
Power supplied by PoE ports, in milliwatts
("extremePethPortMeasuredPower")
- $extreme->peth_power_watts()
-
The configured maximum amount of in-line power available to the slot.
("extremePethSlotPowerLimit")
Spanning Tree Instance Globals
- $extreme->stp_i_mac()
- Returns the MAC extracted from ("extremeStpDomainBridgeId").
- $extreme->stp_i_id()
-
Returns the unique identifier of the STP domain.
("extremeStpDomainStpdInstance")
- $extreme->stp_i_time()
-
Returns time since last topology change detected. (100ths/second)
("extremeStpDomainTimeSinceTopologyChange")
- $extreme->stp_i_time()
-
Returns time since last topology change detected. (100ths/second)
("extremeStpDomainTimeSinceTopologyChange")
- $extreme->stp_i_time()
-
Returns the total number of topology changes detected.
("extremeStpDomainTopChanges")
- $extreme->stp_i_root()
-
Returns root of STP.
("extremeStpDomainDesignatedRoot")
- $extreme->stp_i_root_port()
-
Returns the port number of the port that offers the lowest cost path
to the root bridge.
("extremeStpDomainRootPortIfIndex")
- $extreme->stp_i_priority()
-
Returns the port number of the port that offers the lowest cost path
to the root bridge.
("extremeStpDomainBridgePriority")
Spanning Tree Protocol Port Table
- $extreme->stp_p_id()
- ("extremeStpPortPortIfIndex")
- $extreme->stp_p_stg_id()
- ("extremeStpDomainStpdInstance")
- $extreme->stp_p_priority()
- ("extremeStpPortPortPriority")
- $extreme->stp_p_state()
- ("extremeStpPortPortState")
- $extreme->stp_p_cost()
- ("extremeStpPortPathCost")
- $extreme->stp_p_root()
- ("extremeStpPortDesignatedRoot")
- $extreme->stp_p_bridge()
- ("extremeStpPortDesignatedBridge")
- $extreme->stp_p_port()
- ("extremeStpPortDesignatedPort")
Table Methods imported from SNMP::Info::Layer3
See documentation in ``TABLE METHODS'' in SNMP::Info::Layer3 for details.Table Methods imported from SNMP::Info::MAU
See documentation in ``TABLE METHODS'' in SNMP::Info::MAU for details.Table Methods imported from SNMP::Info::LLDP
See documentation in ``TABLE METHODS'' in SNMP::Info::LLDP for details.Table Methods imported from SNMP::Info::EDP
See documentation in ``TABLE METHODS'' in SNMP::Info::EDP for details.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.- $extreme->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 %{$extreme->interfaces()}; $extreme->set_i_vlan('2', $if_map{'FastEthernet0/1'}) or die "Couldn't change port VLAN. ",$extreme->error(1);
- $extreme->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 %{$extreme->interfaces()}; $extreme->set_i_pvid('2', $if_map{'FastEthernet0/1'}) or die "Couldn't change port default VLAN. ",$extreme->error(1);
- $extreme->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 %{$extreme->interfaces()}; $extreme->set_add_i_vlan_tagged('2', $if_map{'FastEthernet0/1'}) or die "Couldn't add port to egress list. ",$extreme->error(1);
- $extreme->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 %{$extreme->interfaces()}; $extreme->set_remove_i_vlan_tagged('2', $if_map{'FastEthernet0/1'}) or die "Couldn't add port to egress list. ",$extreme->error(1);
Data Munging Callback Subroutines
- $extreme->munge_power_stat()
- Removes 'present' and changes 'not' to 'Not' in the front of a string.
- $extreme->munge_true_ok()
-
Replaces 'true' with ``OK'' and 'false' with ``Not OK''.