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

NAME

       SNMP::Info::Layer3::Foundry - SNMP Interface to Brocade (Foundry) Network Devices

AUTHOR

       Max Baker

SYNOPSIS

        # Let SNMP::Info determine the correct subclass for you.
        my $foundry = new SNMP::Info(
                                 AutoSpecify => 1,
                                 Debug       => 1,
                                 DestHost    => 'myswitch',
                                 Community   => 'public',
                                 Version     => 2
                               )
           or die "Can't connect to DestHost.\n";

        my $class = $foundry->class();

        print "SNMP::Info determined this device to fall under subclass : $class\n";

DESCRIPTION

       Provides abstraction to information obtainable from Brocade (Foundry) Networks devices
       through SNMP. See inherited classes' documentation for inherited methods.

   Inherited Classes
       SNMP::Info::Layer3;
       SNMP::Info::FDP;

   Required MIBs
       BROCADE-PRODUCTS-MIB
       FOUNDRY-SN-ROOT-MIB
       FOUNDRY-SN-AGENT-MIB
       FOUNDRY-SN-SWITCH-GROUP-MIB
       FOUNDRY-SN-STACKING-MIB
       FOUNDRY-POE-MIB
       Inherited Classes' MIBs
           See "Required MIBs" in SNMP::Info::Layer3 for its own MIB requirements.

           See "Required MIBs" in SNMP::Info::FDP for its own MIB requirements.

GLOBALS

       These are methods that return scalar value from SNMP

       $foundry->model()
           Returns model type.  Checks $foundry->id() against the FOUNDRY-SN-ROOT-MIB and removes
           '"sn"' and '"Switch"'.  EdgeIron models determined through ENTITY-MIB.

       $foundry->vendor()
           Returns 'brocade'

       $foundry->os()
           Returns 'brocade'

       $foundry->os_ver()
           Returns the software version

       $foundry->mac()
           Returns MAC Address of root port.

           ("ifPhysAddress.1")

       $foundry->chassis()
           Returns Chassis type.

           ("entPhysicalDescr.1")

       $foundry->serial()
           Returns serial number of device.

       $foundry->temp()
           Returns the chassis temperature

           ("snChasActualTemperature")

       $foundry->ps1_type()
           Returns the Description for the power supply

           ("snChasPwrSupplyDescription.1")

       $foundry->ps1_status()
           Returns the status of the power supply.

           ("snChasPwrSupplyOperStatus.1")

       $foundry->fan()
           Returns the status of the chassis fan.

           ("snChasFanOperStatus.1")

       $foundry->img_ver()
           Returns device image version.

           ("snAgImgVer.0")

       $foundry->ch_serial()
           Returns chassis serial number.

           ("snChasSerNum.0")

   Global Methods imported from SNMP::Info::Layer3
       See documentation in "GLOBALS" in SNMP::Info::Layer3 for details.

   Global Methods imported from SNMP::Info::FDP
       See documentation in "GLOBALS" in SNMP::Info::FDP for details.

TABLE METHODS

       These are methods that return tables of information in the form of a reference to a hash.

   Overrides
       $foundry->interfaces()
           Returns reference to hash of interface names to iids.

       $foundry->i_ignore()
           Returns reference to hash of interfaces to be ignored.

           Ignores interfaces with descriptions of  tunnel,loopback,null

       $foundry->i_duplex()
           Returns reference to hash of interface link duplex status.

           Crosses $foundry->sw_duplex() with $foundry->sw_index()

       $foundry->i_stp_state()
           Returns the mapping of ("dot1dStpPortState") to the interface index (iid).

       $foundry->agg_ports()
           Returns a HASH reference mapping from slave to master port for each member of a port
           bundle on the device. Keys are ifIndex of the slave ports, Values are ifIndex of the
           corresponding master ports.

   ENTITY-MIB Information
       ENTITY-MIB is supported on the Brocade NetIron XMR, NetIron MLX, MLXe, NetIron CES,
       NetIron CER, and older EdgeIron series devices.  For other devices which do not support
       it, these methods emulate Physical Table methods using FOUNDRY-SN-AGENT-MIB.  See Pseudo
       ENTITY-MIB information below for details on brcd_e_* methods.

       $foundry->e_index()
           If the device doesn't support "entPhysicalDescr", this will try brcd_e_index().

           Note that this is based on "entPhysicalDescr" due to implementation details of
           SNMP::Info::Entity::e_index().

       $foundry->e_class()
           If the device doesn't support "entPhysicalClass", this will try brcd_e_class().

       $foundry->e_descr()
           If the device doesn't support "entPhysicalDescr", this will try brcd_e_descr().

       $foundry->e_name()
           If the device doesn't support "entPhysicalName", this will try brcd_e_name().

       $foundry->e_parent()
           If the device doesn't support "entPhysicalContainedIn", this will try brcd_e_parent().

       $foundry->e_pos()
           If the device doesn't support "entPhysicalParentRelPos", this will try brcd_e_pos().

       $foundry->e_serial()
           If the device doesn't support "entPhysicalSerialNum", this will try brcd_e_serial().

       $foundry->e_type()
           If the device doesn't support "entPhysicalVendorType", this will try brcd_e_type().

       $foundry->e_vendor()
           If the device doesn't support "entPhysicalMfgName", this will try brcd_e_vendor().

   Pseudo ENTITY-MIB information
       These methods emulate ENTITY-MIB Physical Table methods using FOUNDRY-SN-AGENT-MIB.

       $foundry->brcd_e_index()
           Returns reference to hash.  Key: IID, Value: Integer, Indices are combined into an
           integer, each index is two digits padded with leading zero if required.

       $foundry->brcd_e_class()
           Returns reference to hash.  Key: IID, Value: General hardware type.

           Returns 'stack' for the stack master in an active stack, 'chassis' for base switches
           that contain modules, and 'module' for others.

       $foundry->brcd_e_descr()
           Returns reference to hash.  Key: IID, Value: Human friendly name

           ("snAgentConfigModule2Description") or ("snAgentConfigModuleDescription")

       $foundry->brcd_e_name()
           Returns reference to hash.  Key: IID, Value: Human friendly name

       $foundry->brcd_e_vendor()
           Returns reference to hash.  Key: IID, Value: brocade

       $foundry->brcd_e_serial()
           Returns reference to hash.  Key: IID, Value: Serial number

           Serial number is $foundry->serial() for a stack master unit and
           ("snAgentConfigModule2SerialNumber") or ("snAgentConfigModuleSerialNumber") for all
           others.

       $foundry->brcd_e_type()
           Returns reference to hash.  Key: IID, Value: Type of component/sub-component as
           defined under "snAgentConfigModule2Type" or "snAgentConfigModule2Type" in FOUNDRY-SN-
           AGENT-MIB.

       $foundry->brcd_e_pos()
           Returns reference to hash.  Key: IID, Value: The relative position among all entities
           sharing the same parent.

           ("s5ChasComSubIndx")

       $foundry->brcd_e_parent()
           Returns reference to hash.  Key: IID, Value: The value of brcd_e_index() for the
           entity which 'contains' this entity.  A value of zero indicates this entity is not
           contained in any other entity.

   Foundry Switch Port Information Table ("snSwPortIfTable")
       $foundry->sw_index()
           Returns reference to hash.  Maps Table to Interface IID.

           ("snSwPortIfIndex")

       $foundry->sw_duplex()
           Returns reference to hash.   Current duplex status for switch ports.

           ("snSwPortInfoChnMode")

       $foundry->sw_type()
           Returns reference to hash.  Current Port Type .

           ("snSwPortInfoMediaType")

       $foundry->sw_speed()
           Returns reference to hash.  Current Port Speed.

           ("snSwPortInfoSpeed")

   Power Over Ethernet Port Table
       These methods emulate the POWER-ETHERNET-MIB Power Source Entity (PSE) Port Table
       "pethPsePortTable" methods using the FOUNDRY-POE-MIB Power over Ethernet Port Table
       "snAgentPoePortTable".

       $foundry->peth_port_ifindex()
           Creates an index of module.port to align with the indexing of the "pethPsePortTable"
           with a value of "ifIndex".  The module defaults 1 if otherwise unknown.

       $foundry->peth_port_admin()
           Administrative status: is this port permitted to deliver power?

           "pethPsePortAdminEnable"

       $foundry->peth_port_status()
           Current status: is this port delivering power.

       $foundry->peth_port_class()
           Device class: if status is delivering power, this represents the 802.3af class of the
           device being powered.

       $foundry->peth_port_neg_power()
           The power, in milliwatts, that has been committed to this port.  This value is derived
           from the 802.3af class of the device being powered.

       $foundry->peth_port_power()
           The power, in milliwatts, that the port is delivering.

   Power Over Ethernet Module Table
       These methods emulate the POWER-ETHERNET-MIB Main Power Source Entity (PSE) Table
       "pethMainPseTable" methods using the FOUNDRY-POE-MIB Power over Ethernet Port Table
       "snAgentPoeModuleTable ".

       $foundry->peth_power_watts()
           The power supply's capacity, in watts.

       $foundry->peth_power_status()
           The power supply's operational status.

       $foundry->peth_power_consumption()
           How much power, in watts, this power supply has been committed to deliver.

   Table Methods imported from SNMP::Info::Layer3
       See documentation in "TABLE METHODS" in SNMP::Info::Layer3 for details.

   Table Methods imported from SNMP::Info::FDP
       See documentation in "TABLE METHODS" in SNMP::Info::FDP 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.

       $foundry->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 %{$foundry->interfaces()};
             $foundry->set_i_vlan('2', $if_map{'FastEthernet0/1'})
               or die "Couldn't change port VLAN. ",$foundry->error(1);