---
name: "SNMP::Info::Layer2::Baystack"
section: "3pm"
platform: "linux"
package: "libsnmp-info-perl"
version: "3.972002-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/SNMP::Info::Layer2::Baystack"
---

# SNMP::Info::Layer2::Baystack(3pm)

SNMP Interface to Avaya Ethernet Switch (Baystack) and VSP 7000 series switches

## 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.

### Inherited Classes

- SNMP::Info::SONMP

  - SNMP::Info::NortelStack

  - SNMP::Info::RapidCity

  - SNMP::Info::Layer3

  ### Required MIBs

- *BAY-STACK-PETH-EXT-MIB*

  ### 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::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::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\_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::Layer3

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