NAME
SNMP::Info::Layer3::Extreme - Perl5 Interface to Extreme Network Devices
AUTHOR
Eric Miller, Bill Fenner
SYNOPSIS
# 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();
"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
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);