Provided by: libsnmp-info-perl_3.95-1_all bug

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     => 2
                               )
           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.

   Inherited Classes
       SNMP::Info::Layer3
       SNMP::Info::MAU
       SNMP::Info::EDP

   Required MIBs
       EXTREME-BASE-MIB
       EXTREME-SYSTEM-MIB
       EXTREME-FDB-MIB
       EXTREME-VLAN-MIB
       EXTREME-POE-MIB
       EXTREME-STP-EXTENSIONS-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 "xos" or "extremeware" depending on description()

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