SNMP::...HP9300(3pm)

πŸ’– SNMP::Info::Layer3::HP9300 β€” the perl manual page (3pm), bestie edition πŸŽ€

okay so this is a User Contributed Perl Documentation page, and it lives in section 3pm of the manual. The whole thing is called SNMP::...HP9300(3pm) when you squish it down for the header, but its actual full name is SNMP::Info::Layer3::HP9300. Come sit with me, we're gonna read it together πŸ’…


✨ NAME ✨

SNMP::Info::Layer3::HP9300 β€” SNMP Interface to HP Foundry OEM Network Devices πŸ¦‹


πŸ’œ AUTHOR πŸ’œ

Eric Miller. That's the icon who wrote this, we stan πŸ‘‘


🌸 SYNOPSIS 🌸

so like, here's the vibe β€” you let SNMP::Info figure out the correct subclass for you, you don't gotta do it yourself, periodt:

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

my $class = $hp9300->class();

print "SNMP::Info determined this device to fall under subclass : $class\n";

like if it can't connect to DestHost it just dies, no cap 😭 that's the or die "Can't connect to DestHost.\n"; energy.


🫢 DESCRIPTION 🫢

This is an abstraction subclass for HP network devices where Foundry Networks was the Original Equipment Manufacturer (OEM) β€” think the HP ProCurve 9300 series, bestie. Foundry was lowkey the OEM, HP put their name on it, and now we're here 🧚

πŸŽ€ Inherited Classes

  • SNMP::Info::Layer3;
  • SNMP::Info::FDP

🌈 Required MIBs

  • HP-SN-ROOT-MIB
  • HP-SN-AGENT-MIB
  • HP-SN-SWITCH-GROUP-MIB

πŸ“ Inherited Classes' MIBs

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

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

fr fr, go read those pages, they have their own MIB lists and this page is NOT about to duplicate them for you πŸ™ˆ

⭐ GLOBALS ⭐

These are methods that return scalar value from SNMP. Scalar = one single value, not a whole table. Main character energy, one value at a time πŸ‘‘

  • $hp9300->model() β€” Returns model type. Checks $hp9300->id() against the HP-SN-ROOT-MIB and removes "hpSwitch". (yes, it literally strips that string out, iconic)
  • $hp9300->vendor() β€” Returns 'hp'
  • $hp9300->os() β€” Returns 'hp'
  • $hp9300->os_ver() β€” Returns the software version.
  • $hp9300->mac() β€” Returns MAC Address of root port. Comes from ("ifPhysAddress.1")
  • $hp9300->chassis() β€” Returns Chassis type. Comes from ("entPhysicalDescr.1")
  • $hp9300->serial() β€” Returns serial number of device.
  • $hp9300->temp() β€” Returns the chassis temperature. Comes from ("snChasActualTemperature")
  • $hp9300->ps1_type() β€” Returns the Description for the power supply. Comes from ("snChasPwrSupplyDescription.1")
  • $hp9300->ps1_status() β€” Returns the status of the power supply. Comes from ("snChasPwrSupplyOperStatus.1")
  • $hp9300->fan() β€” Returns the status of the chassis fan. Comes from ("snChasFanOperStatus.1")

πŸ’œ Global Methods imported from SNMP::Info::Layer3

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

πŸ’œ Global Methods imported from SNMP::Info::FDP

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


πŸ”₯ TABLE METHODS πŸ”₯

These are methods that return tables of information in the form of a reference to a hash. Yes bestie, tables, hashes, references β€” the whole little ecosystem πŸ’€

πŸ¦‹ Overrides

  • $hp9300->interfaces() β€” Returns reference to hash of interface names to iids.
  • $hp9300->i_ignore() β€” Returns reference to hash of interfaces to be ignored.

Ignores interfaces with descriptions of tunnel,loopback,null β€” yeah those three get the silent treatment, not me being shady, it's literally in the source πŸ™ˆ

  • $hp9300->i_duplex() β€” Returns reference to hash of interface link duplex status.

Crosses $hp9300->sw_duplex() with $hp9300->sw_index() β€” like it's matching them up, shipping them, if you will 🫢

🌸 Switch Port Information Table ("snSwPortIfTable")

  • $hp9300->sw_index() β€” Returns reference to hash. Maps Table to Interface IID. Comes from ("snSwPortIfIndex")
  • $hp9300->sw_duplex() β€” Returns reference to hash. Current duplex status for switch ports. Comes from ("snSwPortInfoChnMode")
  • $hp9300->sw_type() β€” Returns reference to hash. Current Port Type. Comes from ("snSwPortInfoMediaType")
  • $hp9300->sw_speed() β€” Returns reference to hash. Current Port Speed. Comes from ("snSwPortInfoSpeed")

πŸ’œ Table Methods imported from SNMP::Info::Layer3

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

πŸ’œ Table Methods imported from SNMP::Info::FDP

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


aaaand that's the whole page, you read it, you ate it, no crumbs πŸ’…

okay so for the cute sign-off: this gem of a doc came out as perl v5.40.1, dated 2026-02-28, and it answers to the name SNMP::...HP9300(3pm) when it's being formal. That's the footer info, folded in with love, mwah πŸ’–βœ¨

πŸ“¦ where this page comes from