SNMP::Info::Layer3::Extreme(3)

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->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".