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

NAME

SNMP::Info::Layer3::Passport - Perl5 Interface to Nortel Networks' Passport 8600 Series Switches

AUTHOR

Eric Miller (eric@jeneric.org)

SYNOPSIS

 # Let SNMP::Info determine the correct subclass for you. 
 my $passport = new SNMP::Info(
                          AutoSpecify => 1,
                          Debug       => 1,
                          # These arguments are passed directly on to SNMP::Session
                          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 Nortel Networks' Passport 8600 Series Switches.

These devices run Passport OS but have some of the same charactersitics as the Baystack family. For example, extended interface information is gleened 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
SNMP::Info::Bridge
SNMP::Info::SONMP
SNMP::Info::RapidCity

Required MIBs

OSPF-MIB
Inherited Classes' MIBs

See SNMP::Info for its own MIB requirements.

See SNMP::Info::Bridge for its own MIB requirements.

See SNMP::Info::SONMP for its own MIB requirements.

See SNMP::Info::RapidCity for its own MIB requirements.

OSPF-MIB is included in the archive at ftp://ftp.cisco.com/pub/mibs/v2/v2.tar.gz

GLOBALS

These are methods that return scalar value from SNMP

$passport->model()

Returns the model extracted from sysDescr

$passport->vendor()

Returns 'Nortel'

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

$passport->port_offset()

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

$passport->slot_offset()

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

Globals imported from SNMP::Info

See documentation in SNMP::Info for details.

Globals imported from SNMP::Info::Bridge

See documentation in SNMP::Info::Bridge for details.

Global Methods imported from SNMP::Info::SONMP

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

Global Methods imported from SNMP::Info::RapidCity

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

TABLE ENTRIES

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 % 64) + 1, slot = int(ifIndex / 64).

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

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

RFC1213 Arp Cache Table (ipNetToMediaTable)

$passport->at_index()

Returns reference to hash. Maps ARP table entries to Interface IIDs

(ipNetToMediaIfIndex)

$passport->at_paddr()

Returns reference to hash. Maps ARP table entries to MAC addresses.

(ipNetToMediaPhysAddress)

$passport->at_netaddr()

Returns reference to hash. Maps ARP table entries to IPs

(ipNetToMediaNetAddress)

Table Methods imported from SNMP::Info

See documentation in SNMP::Info for details.

Table Methods imported from SNMP::Info::Bridge

See documentation in SNMP::Info::Bridge for details.

Table Methods imported from SNMP::Info::SONMP

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

Table Methods imported from SNMP::Info::RapidCity

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