The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

SNMP::Info::Layer2::Baystack - SNMP Interface to Avaya Ethernet Switch (Baystack) and VSP 7000 series switches

AUTHOR

Eric Miller

SYNOPSIS

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

 my $class = $baystack->class();
 print "SNMP::Info determined this device to fall under subclass : $class\n";

DESCRIPTION

Provides abstraction to the configuration information obtainable from an Avaya Ethernet Switch (formerly Nortel/Bay Baystack) and VSP 7000 series 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 $baystack = new SNMP::Info::Layer2::Baystack(...);

Inherited Classes

SNMP::Info::SONMP
SNMP::Info::NortelStack
SNMP::Info::RapidCity
SNMP::Info::LLDP
SNMP::Info::Layer3

Required MIBs

BAY-STACK-PETH-EXT-MIBB

Inherited MIBs

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

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

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

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

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

GLOBALS

These are methods that return scalar value from SNMP

$baystack->vendor()

Returns 'avaya'

$baystack->model()

Cross references $baystack->id() to the SYNOPTICS-MIB and returns the results. 303s and 304s have the same ID, so we have a hack to return depending on which it is.

Returns BPS for Business Policy Switch

For others extracts and returns the switch numeric designation.

$baystack->os()

Returns 'baystack' or 'boss' depending on software version.

$baystack->os_bin()

Returns the firmware version extracted from sysDescr.

$baystack->stp_ver()

Returns the particular STP version running on this device.

Values: nortelStpg, pvst, rstp, mstp, ieee8021d

(s5AgSysSpanningTreeOperMode)

Overrides

$baystack->index_factor()

Required by SNMP::Info::SONMP. Number representing the number of ports reserved per slot within the device MIB.

Index factor on the Baystack switches are determined by the formula: Index Factor = 64 if (model = 470 or (os eq 'boss' and operating in pure mode)) or else Index factor = 32.

Returns either 32 or 64 based upon the formula.

Global Methods imported from SNMP::Info::SONMP

See "GLOBALS" in SNMP::Info::SONMP for details.

Globals imported from SNMP::Info::NortelStack

See "GLOBALS" in SNMP::Info::NortelStack for details.

Global Methods imported from SNMP::Info::RapidCity

See "GLOBALS" in SNMP::Info::RapidCity for details.

Globals imported from SNMP::Info::LLDP

See documentation in "GLOBALS" in SNMP::Info::LLDP for details.

Globals imported from SNMP::Info::Layer3

See "GLOBALS" in SNMP::Info::Layer3 for details.

TABLE METHODS

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

Overrides

$baystack->interfaces()

Returns reference to the map between IID and physical Port.

  Slot and port numbers on the Baystack switches are determined by the
  formula:
  
  port = (Interface index % Index factor)
  slot = (int(Interface index / Index factor)) + Slot offset
 
  The physical port name is returned as slot.port.
$baystack->i_ignore()

Returns reference to hash of IIDs to ignore.

$baystack->i_mac()

Returns the ifPhysAddress table entries.

Removes all entries matching '00:00:00:00:00:00' -- Certain revisions of Baystack firmware report all zeros for each port mac.

$baystack->i_name()

Crosses ifName with ifAlias and returns the human set port name if exists.

$baystack->peth_port_ifindex()

Maps the pethPsePortTable to ifIndex by way of the ENTITY-MIB.

$baystack->peth_port_power()

Power supplied by PoE ports, in milliwatts

(bspePethPsePortExtMeasuredPower)

ENTITY-MIB Information

For older devices which do not support ENTITY-MIB, these methods emulate Physical Table methods using S5-CHASSIS-MIB. See "TABLE METHODS" in SNMP::Info::NortelStack for details on ns_e_* methods.

$baystack->e_index()

If the device doesn't support entPhysicalDescr, this will try ns_e_index(). Note that this is based on entPhysicalDescr due to implementation details of SNMP::Info::Entity::e_index().

$baystack->e_class()

If the device doesn't support entPhysicalClass, this will try ns_e_class().

$baystack->e_descr()

If the device doesn't support entPhysicalDescr, this will try ns_e_descr().

$baystack->e_name()

If the device doesn't support entPhysicalName, this will try ns_e_name().

$baystack->e_fwver()

If the device doesn't support entPhysicalFirmwareRev, this will try ns_e_fwver().

$baystack->e_hwver()

If the device doesn't support entPhysicalHardwareRev, this will try ns_e_hwver().

$baystack->e_parent()

If the device doesn't support entPhysicalContainedIn, this will try ns_e_parent().

$baystack->e_pos()

If the device doesn't support entPhysicalParentRelPos, this will try ns_e_pos().

$baystack->e_serial()

If the device doesn't support entPhysicalSerialNum, this will try ns_e_serial().

$baystack->e_swver()

If the device doesn't support entPhysicalSoftwareRev, this will try ns_e_swver().

$baystack->e_type()

If the device doesn't support entPhysicalVendorType, this will try ns_e_type().

$baystack->e_vendor()

If the device doesn't support entPhysicalMfgName, this will try ns_e_vendor().

Layer 2 Forwarding Database

These methods try to obtain the layer 2 forwarding database entries via the normal bridge methods as well as SPBM entries via rapid city methods.

$baystack->fw_mac()

Returns reference to hash of forwarding table MAC Addresses

$baystack->fw_port()

Returns reference to hash of forwarding table entries port interface identifier (iid)

$baystack->qb_fw_vlan()

Returns reference to hash of forwarding table entries VLAN ID

$baystack->fw_status()

Returns reference to hash of forwarding table entries status

Table Methods imported from SNMP::Info::SONMP

See "TABLE METHODS" in SNMP::Info::SONMP for details.

Table Methods imported from SNMP::Info::NortelStack

See "TABLE METHODS" in SNMP::Info::NortelStack for details.

Table Methods imported from SNMP::Info::RapidCity

See "TABLE METHODS" in SNMP::Info::RapidCity 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::Layer3

See "TABLE METHODS" in SNMP::Info::Layer3 for details.