logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

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

Author

       Eric Miller

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(...);

   InheritedClasses
       SNMP::Info::SONMP
       SNMP::Info::RapidCity
       SNMP::Info::Layer3

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

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

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

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

Name

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

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";

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-MIBForwardingTable
       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")

   PseudoENTITY-MIBinformation
       These devices do not support ENTITY-MIB.  These methods emulate Physical Table methods using  the  RAPID-CITYMIB.

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

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

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

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

perl v5.40.0                                       2024-11-09                  SNMP::Info::Layer3::Passport(3pm)

See Also