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);