SNMP::Info::Layer2::Baystack - SNMP Interface to Avaya Ethernet Switch
(Baystack) and VSP 7000 series switches
# 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";
Provides abstraction to the configuration information obtainable from an Avaya
Ethernet Switch (formerly Nortel/Bay Baystack) and VSP 7000 series through
SNMP.
- SNMP::Info::SONMP
- SNMP::Info::NortelStack
- SNMP::Info::RapidCity
- SNMP::Info::Layer3
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::Layer3 for its MIB
requirements.
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")
- $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.
See "GLOBALS" in SNMP::Info::SONMP for details.
See "GLOBALS" in SNMP::Info::NortelStack for details.
See "GLOBALS" in SNMP::Info::RapidCity for details.
See "GLOBALS" in SNMP::Info::Layer3 for details.
These are methods that return tables of information in the form of a reference
to a hash.
- $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_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")
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().
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
See "TABLE METHODS" in SNMP::Info::SONMP for details.
See "TABLE METHODS" in SNMP::Info::NortelStack for details.
See "TABLE METHODS" in SNMP::Info::RapidCity for details.
See "TABLE METHODS" in SNMP::Info::Layer3 for details.