SNMP::...Adtran(3pm)

πŸ’– SNMP::...Adtran(3pm) πŸ’–

okay so bestie, this is a page from the User Contributed Perl Documentation collection, and it's about SNMP::Info::Layer2::Adtran β€” yes the name got squished down to SNMP::...Adtran(3pm) up in the header, she's shy like that, but we know her full name and we love her πŸ’…


✨ NAME ✨

SNMP::Info::Layer2::Adtran β€” the SNMP Interface to Adtran Devices, your little gateway to talking to Adtran boxes over SNMP 🫢


🌸 SYNOPSIS 🌸

the whole vibe in code form, copy it exactly bestie:

 # Let SNMP::Info determine the correct subclass for you.
 my $adtran = new SNMP::Info(
                          AutoSpecify => 1,
                          Debug       => 1,
                          DestHost    => 'myrouter',
                          Community   => 'public',
                          Version     => 2
                        )
    or die "Can't connect to DestHost.\n";

 my $class      = $adtran->class();
 print "SNMP::Info determined this device to fall under subclass : $class\n";

like, you just let AutoSpecify => 1 do its thing and SNMP::Info figures out the subclass for you. no manual gatekeeping. periodt πŸ’…


πŸ¦‹ DESCRIPTION πŸ¦‹

This is the subclass for adtran Devices running JUNOS. that's literally the whole description, short and iconic.

πŸŽ€ Inherited Classes πŸŽ€

she didn't come from nowhere, she got it from her mamas:

  • SNMP::Info::Layer2
  • SNMP::Info::Layer3

🌈 Inherited Classes' MIBs 🌈

the MIB requirements are on the family, not on her, so go read:

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

✨ GLOBALS ✨

these are methods that return a scalar value from SNMP β€” like one cute little answer per question, no table drama 🌸

  • $adtran->vendor() β€” Returns 'adtran'. that's it. she knows who she is πŸ’–
  • $adtran->os() β€” Returns 'aos'. slay.
  • $adtran->layers() β€” Ensures that layer two is reported, at least. minimum effort, maximum presence 😌
  • $adtran->os_ver() β€” Returns the software version extracted first from "adProdSwVersion" or "adAOSDeviceVersion". so if the first one's giving nothing, she goes to the second one, and that one's got her. king behavior πŸ”₯
  • $adtran->model() β€” Returns the model extracted first from "adProdName" or "adAOSDeviceProductName". same energy, same fallback order, iconic.
  • $adtran->serial() β€” Returns serial number. just the serial. no notes 🧚

πŸ’œ Globals imported from SNMP::Info::Layer3 πŸ’œ

See documentation in "GLOBALS" in SNMP::Info::Layer3 for the details β€” she borrowed those and you gotta go read the source page for the full lore iykyk.


πŸŽ€ TABLE METHODS πŸŽ€

These are methods that return tables of information in the form of a reference to a hash. yes bestie, a hash ref of tables, we love a data structure moment πŸ’…

  • $adtran->v_name() β€” VLAN names table. 🌸
  • $adtran->i_name() β€” Interface names table. ✨
  • $adtran->i_vlan() β€” Returns a mapping between "ifIndex" and the PVID or default VLAN. she's matching your ports to their vlan, matchmaker core πŸ’–
  • $adtran->i_vlan_membership() β€” Returns reference to hash of arrays: key = "ifIndex", value = array of VLAN IDs. These are the VLANs which are members of the egress list for the port. hash of arrays?? the way that she's structured πŸ˜­πŸ‘‘

🌈 Table Methods imported from SNMP::Info::Layer2 🌈

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

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

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


okay that's the whole page bestie, no skips, no gaps, every single method and fallback order present and accounted for 🫢


and for the little sign-off moment: this fine piece of documentation lives with perl v5.40.1 and was dated 2026-02-28, filing her under SNMP::...Adtran(3pm) ⭐ go talk to your Adtran box now, no cap πŸ’–πŸŽ€βœ¨

πŸ“¦ where this page comes from