SNMP::...elStack(3pm)
π SNMP::Info::NortelStack π
okay so bestie, you've wandered into SNMP::Info::NortelStack(3pm) and honestly? iconic of you. this is the β¨ SNMP Interface to the Avaya/Nortel S5-AGENT-MIB and S5-CHASSIS-MIB β¨ β yes, the whole thing, and we're gonna get through it together. no skipping. grab a strawberry π.
π AUTHOR π
Eric Miller wrote this one. say thank you π
β¨ SYNOPSIS β¨
okay so here's the whole vibe, copy it exactly, don't freestyle:
# Let SNMP::Info determine the correct subclass for you.
my $stack = 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 = $stack->class();
print "SNMP::Info determined this device to fall under subclass : $class\n";
like. she really said "let me figure out my own subclass, you just vibe" and slayed π
the AutoSpecify => 1 does the whole personality quiz for you, the DestHost / Community / Version bits get handed straight on over to SNMP::Session, and if she can't connect she literally <red>die</red>s on you (Can't connect to DestHost.\n). then you print the subclass she picked and feel sooo validated.
π¦ DESCRIPTION π¦
so SNMP::Info::NortelStack is a subclass of SNMP::Info that provides an interface to S5-AGENT-MIB and S5-CHASSIS-MIB. these MIBs are used across the Avaya/Nortel Stackable Ethernet Switches (BayStack), and also on older Nortel devices like the Centillion family of ATM switches. yes, old money equipment, still got lore π
the one rule, bestie: "Use or create in a subclass of SNMP::Info. Do not use directly." β she is NOT for direct consumption, she's a base to build on. periodt.
πΈ Inherited Classes πΈ
None. she's a whole self-made queen, no inheritance drama π
π Required MIBs π
S5-AGENT-MIBS5-CHASSIS-MIB
also S5-ROOT-MIB and S5-TCS-MIB are required by the other MIBs β like the MIBs' MIBs, the support system of the support system π«Ά
π GLOBALS π
these are the methods that return scalar values from SNMP. little single-value besties. one thing each. lowkey minimalist π
$stack->os_ver()β returns the software version, extracted from ("s5AgInfoVer")$stack->os_bin()β returns the firmware version, extracted from ("s5AgInfoVer") β yeah, same source MIB object, she's just pulling a different interpretation out of it, multi-talented fr fr$stack->serial()β returns serial number of the chassis ("s5ChasSerNum")$stack->ns_ag_ver()β returns the version of the agent in the form'major.minor.maintenance[letters]'("s5AgInfoVer") β¨$stack->ns_op_mode()β returns the stacking mode ("s5AgSysCurrentOperationalMode")$stack->tftp_action()β this object is used to download or upload a config file or an image file ("s5AgInfoFileAction")$stack->tftp_result()β returns the status of the latest action as shown by$stack->tftp_action()("s5AgInfoFileStatus")$stack->ns_auto_pvid()β returns the value indicating whether adding a port as a member of a VLAN automatically results in its PVID being set to be the same as that VLAN ID ("s5AgSysAutoPvid")$stack->tftp_file()β name of the binary configuration file that will be downloaded/uploaded when the$stack->tftp_action()object is set ("s5AgSysBinaryConfigFilename")$stack->tftp_host()β the IP address of the TFTP server for all TFTP operations ("s5AgSysTftpServerAddress")$stack->vlan()β returns the VLAN ID of the system's management VLAN ("s5AgSysManagementVlanId")$stack->ch_ser()β returns the serial number of the chassis ("s5ChasSerNum") β yes, she has a second way to get a serial number, she's thorough like that π$stack->ns_cfg_chg()β returns the total number of configuration changes (other than attachment changes, or physical additions or removals) in the chassis that have been detected since cold/warm start ("s5ChasGblConfChngs")$stack->ns_cfg_time()β returns the value of"sysUpTime"when the last configuration change (other than attachment changes, or physical additions or removals) in the chassis was detected ("s5ChasGblConfLstChng")
π TABLE METHODS π
these are the methods that return tables of information in the form of a reference to a hash. key/value girlies. hash refs are their love language π
π Agent Interface Table ("s5AgMyIfTable") π
$stack->i_cfg_file()β returns reference to hash. Key: Table entry, Value: Name of the file ("s5AgMyIfCfgFname")$stack->i_cfg_host()β returns reference to hash. Key: Table entry, Value: IP address of the load server ("s5AgMyIfLdSvrAddr")
π Chassis Components Table ("s5ChasComTable") π
$stack->ns_com_grp_idx()β returns reference to hash. Key: Table entry, Value: Index of the chassis level group which contains this component ("s5ChasComGrpIndx")$stack->ns_com_idx()β returns reference to hash. Key: Table entry, Value: Index of the component in the group. For modules in the'board'group, this is the slot number ("s5ChasComIndx")$stack->ns_com_sub_idx()β returns reference to hash. Key: Table entry, Value: Index of the sub-component in the component ("s5ChasComSubIndx")$stack->ns_com_type()β returns reference to hash. Key: Table entry, Value: Type ("s5ChasComType")$stack->ns_com_descr()β returns reference to hash. Key: Table entry, Value: Description ("s5ChasComDescr")$stack->ns_com_ver()β returns reference to hash. Key: Table entry, Value: Version ("s5ChasComVer")$stack->ns_com_serial()β returns reference to hash. Key: Table entry, Value: Serial Number ("s5ChasComSerNum")
π Storage Area Table ("s5ChasStoreTable") π
$stack->ns_store_grp_idx()β returns reference to hash. Key: Table entry, Value: Index of the chassis level group ("s5ChasStoreGrpIndx")$stack->ns_store_idx()β returns reference to hash. Key: Table entry, Value: Index of the group ("s5ChasStoreComIndx")$stack->ns_store_sub_idx()β returns reference to hash. Key: Table entry, Value: Index of the sub-component ("s5ChasStoreSubIndx")$stack->ns_store_idx()β returns reference to hash. Key: Table entry, Value: Index of the storage area ("s5ChasStoreIndx") β okay ngl, yes,ns_store_idxshows up twice in here, pointed at two different MIB objects. that's just how the page lists it, so that's how we're listing it. not me editing the source π$stack->ns_store_type()β returns reference to hash. Key: Table entry, Value: Type ("s5ChasStoreType")$stack->ns_store_size()β returns reference to hash. Key: Table entry, Value: Size ("s5ChasStoreCurSize")$stack->ns_store_ver()β returns reference to hash. Key: Table entry, Value: Version ("s5ChasStoreCntntVer")
π§ Pseudo ENTITY-MIB information π§
these methods emulate ENTITY-MIB Physical Table methods using S5-CHASSIS-MIB. cosplay but make it accurate π
$stack->ns_e_index()β returns reference to hash. Key: IID, Value: Integer, Indices are combined into a six digit integer, each index is two digits padded with leading zero if required$stack->ns_e_class()β returns reference to hash. Key: IID, Value: General hardware type ("s5ChasGrpDescr"). Group is stripped from the string. Values may be Supervisory Module, Back Plane, Board, Power Supply, Sensor, Fan, Clock, Unit$stack->ns_e_descr()β returns reference to hash. Key: IID, Value: Human friendly name ("s5ChasComDescr")$stack->ns_e_name()β returns reference to hash. Key: IID, Value: Human friendly name$stack->ns_e_hwver()β returns reference to hash. Key: IID, Value: Hardware version ("s5ChasComVer")$stack->ns_e_vendor()β returns reference to hash. Key: IID, Value: avaya$stack->ns_e_serial()β returns reference to hash. Key: IID, Value: Serial number ("s5ChasComSerNum")$stack->ns_e_pos()β returns reference to hash. Key: IID, Value: The relative position among all entities sharing the same parent ("s5ChasComSubIndx")$stack->ns_e_type()β returns reference to hash. Key: IID, Value: Type of component/sub-component as defined under"s5ChasComTypeVal"in S5-REG-MIB$stack->ns_e_fwver()β returns reference to hash. Key: IID, Value: Firmware revision. Value of"s5ChasStoreCntntVer"for entries with rom, boot, or firmware in"s5ChasStoreType"$stack->ns_e_swver()β returns reference to hash. Key: IID, Value: Software revision. Value of"s5ChasStoreCntntVer"for entries with"flash"in"s5ChasStoreType"$stack->ns_e_parent()β returns reference to hash. Key: IID, Value: The value ofns_e_index()for the entity which'contains'this entity. A value of zero indicates this entity is not contained in any other entity
π Data Munging Callback Subroutines π
$stack->munge_ns_grp_type()β munges"s5ChasGrpType"into an"ENTITY-MIB PhysicalClass"equivalent. munging is just translating for the girlies who only speak ENTITY-MIB, we love a bilingual queen π
okay that's literally the whole page, every flag, every method, every MIB object name, all of it, and you ate every bite π
she's from perl v5.40.1, dated 2026-02-28, and filed under SNMP::...elStack(3pm) in the User Contributed Perl Documentation directory β go forth and subclass, bestie, but remember: do not use directly. mwah π«Άβ¨
π¦ where this page comes from
- ubuntu stonking: libsnmp-info-perl 3.975000-1 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms