---
name: "SNMP::Info::Layer3::Passport"
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::Layer3::Passport"
---

# SNMP::Info::Layer3::Passport(3pm)

SNMP Interface to modular Avaya Ethernet Routing Switch 8000 Series and VSP 9000 Series switches.

## NAME

SNMP::Info::Layer3::Passport - SNMP Interface to modular Avaya Ethernet Routing Switch 8000 Series and VSP 9000 Series switches.

## AUTHOR

Eric Miller

## SYNOPSIS

```
 # Let SNMP::Info determine the correct subclass for you.
 my $passport = new SNMP::Info(
                          AutoSpecify => 1,
                          Debug       => 1,
                          DestHost    => 'myswitch',
                          Community   => 'public',
                          Version     => 2
                        )
    or die "Can't connect to DestHost.\n";
 my $class = $passport->class();
 print "SNMP::Info determined this device to fall under subclass : $class\n";
```

## DESCRIPTION

Abstraction subclass for modular Avaya Ethernet Routing Switch 8000 Series (formerly Nortel/Bay Passport/Accelar) and VSP 9000 Series switches.

These devices have some of the same characteristics as the stackable Avaya Ethernet Switches (Baystack).  For example, extended interface information is gleaned from *RAPID-CITY*.

For speed or debugging purposes you can call the subclass directly, but not after determining a more specific class using the method above.

```
 my $passport = new SNMP::Info::Layer3::Passport(...);
```

### Inherited Classes

- SNMP::Info::SONMP

  - SNMP::Info::RapidCity

  - SNMP::Info::Layer3

  ### Required MIBs

- Inherited Classes' MIBs

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

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

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

## GLOBALS

These are methods that return scalar value from SNMP

- $passport-\>**model()**

  Returns model type.  Checks `$passport`-\>**id()** against the *RAPID-CITY-MIB* and then parses out `"rcA"`.

- $passport-\>**vendor()**

  Returns 'avaya'

- $passport-\>**os()**

  Returns 'passport'

- $passport-\>**os\_ver()**

  Returns the software version extracted from `"sysDescr"`

- $passport-\>**serial()**

  Returns (`"rcChasSerialNumber"`)

- $passport-\>**root\_ip()**

  Returns the primary IP used to communicate with the device.  Returns the first found:  CLIP (CircuitLess IP), Management Virtual IP (`"rcSysVirtualIpAddr"`), OSPF Router ID (`"ospfRouterId"`), SONMP Advertised IP Address.

### Overrides

- $passport-\>**index\_factor()**

  Required by SNMP::Info::SONMP.  Returns 64 for 8600, 16 for Accelar.

- $passport-\>**port\_offset()**

  Required by SNMP::Info::SONMP.  Returns 1.

- $passport-\>**slot\_offset()**

  Required by SNMP::Info::SONMP.  Returns 0.

### Global Methods imported from SNMP::Info::SONMP

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

### Global Methods imported from SNMP::Info::RapidCity

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

### Globals imported from SNMP::Info::Layer3

See documentation in "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

- $passport-\>**i\_index()**

  Returns SNMP IID to Interface index.  Extends (`"ifIndex"`) by adding the index of the CPU virtual management IP (if present), each CPU Ethernet port, and each VLAN to ensure the virtual router ports are captured.

- $passport-\>**interfaces()**

  Returns reference to the map between IID and physical Port.

  Slot and port numbers on the Passport switches are determined by the formula: port = (`"ifIndex % index_factor"`) + port\_offset, slot = int(`"ifIndex / index_factor"`).

  The physical port name is returned as slot.port.  CPU Ethernet ports are prefixed with CPU and VLAN interfaces are returned as the VLAN ID prefixed with Vlan.

- $passport-\>**i\_mac()**

  MAC address of the interface.  Note this is just the MAC of the port, not anything connected to it.

- $passport-\>**i\_description()**

  Description of the interface. Usually a little longer single word name that is both human and machine friendly.  Not always.

- $passport-\>**i\_name()**

  Crosses **rc\_alias()** (`"rcPortName"`) with **ifAlias()** and returns the human set port name if exists.

- $passport-\>**ip\_index()**

  Maps the IP Table to the IID.  Extends (`"ipAdEntIfIndex"`) by adding the index of the CPU virtual management IP (if present) and each CPU Ethernet port.

- $passport-\>**ip\_netmask()**

  Extends (`"ipAdEntNetMask"`) by adding the mask of the CPU virtual management IP (if present) and each CPU Ethernet port.

- $passport-\>**bp\_index()**

  Returns reference to hash of bridge port table entries map back to interface identifier (iid)

  Returns (`"ifIndex"`) for both key and value since some devices seem to have problems with *BRIDGE-MIB*

### Forwarding Table

These methods utilize, in order; *Q-BRIDGE-MIB*, *BRIDGE-MIB*, and *RAPID-CITY* to obtain the forwarding table information.

- $passport-\>**fw\_mac()**

  Returns reference to hash of forwarding table MAC Addresses

  (`"dot1qTpFdbAddress"`), (`"dot1dTpFdbAddress"`), (`"rcBridgeTpFdbAddress"`)

- $passport-\>**fw\_port()**

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

  (`"dot1qTpFdbPort"`), (`"dot1dTpFdbPort"`), (`"rcBridgeTpFdbPort"`)

- $passport-\>**fw\_status()**

  Returns reference to hash of forwarding table entries status

  (`"dot1qTpFdbStatus"`), (`"dot1dTpFdbStatus"`), (`"rcBridgeTpFdbStatus"`)

- $passport-\>**qb\_fw\_vlan()**

  Returns reference to hash of forwarding table entries VLAN ID

  (`"dot1qFdbId"`), (`"rcBridgeTpFdbVlanId"`)

### Pseudo *ENTITY-MIB* information

These devices do not support *ENTITY-MIB*.  These methods emulate Physical Table methods using the *RAPID-CITY MIB*.

- $passport-\>**e\_index()**

  Returns reference to hash.  Key and Value: Integer. The index is created by combining the slot, module, and position into a five or six digit integer. Slot can be either one or two digits while the module and position are each two digits padded with leading zero if required.

- $passport-\>**e\_class()**

  Returns reference to hash.  Key: IID, Value: General hardware type.  This class only returns container, module, and power supply types.

- $passport-\>**e\_descr()**

  Returns reference to hash.  Key: IID, Value: Human friendly name.

- $passport-\>**e\_name()**

  Returns reference to hash.  Key: IID, Value: Human friendly name.

- $passport-\>**e\_hwver()**

  Returns reference to hash.  Key: IID, Value: Hardware version.

- $passport-\>**e\_vendor()**

  Returns reference to hash.  Key: IID, Value: avaya.

- $passport-\>**e\_serial()**

  Returns reference to hash.  Key: IID, Value: Serial number.

- $passport-\>**e\_pos()**

  Returns reference to hash.  Key: IID, Value: The relative position among all entities sharing the same parent.

- $passport-\>**e\_type()**

  Returns reference to hash.  Key: IID, Value: Type of component/sub-component.

- $passport-\>**e\_parent()**

  Returns reference to hash.  Key: IID, Value: The value of **e\_index()** for the entity which 'contains' this entity.  A value of zero indicates	this entity is not contained in any other entity.

### Table Methods imported from SNMP::Info::SONMP

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

### Table Methods imported from SNMP::Info::RapidCity

See documentation in "TABLE METHODS" in SNMP::Info::RapidCity for details.

### Table Methods imported from SNMP::Info::Layer3

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