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();
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->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")
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".