SNMP::...r3::H3C(3pm)

πŸ’– SNMP::Info::Layer3::H3C πŸ’–

okay bestie, come SIT. this is the SNMP::Info::Layer3::H3C page from the User Contributed Perl Documentation, and it's giving SNMP Interface to L3 Devices, H3C & HP A-series 🌈✨

like, if your network is full of H3C boxes and HP A-series switches and you want Perl to talk to them without you losing your mind β€” this is the class. it's the specific subclass that SNMP::Info hands you when it figures out what you're actually connected to. main character energy, honestly πŸ‘‘


πŸŽ€ AUTHORS πŸŽ€

Jeroen van Ingen πŸ’œ β€” the icon who made this happen. say thank you.


✨ SYNOPSIS ✨

here's the vibe. let SNMP::Info do the detective work and pick the right subclass for you, fr fr:

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

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

one AutoSpecify => 1 and you're off. no cap. πŸ”₯


πŸ¦‹ DESCRIPTION πŸ¦‹

Subclass for H3C & HP A-series devices πŸ’…

that's the whole vibe. you don't construct it yourself usually β€” SNMP::Info sniffs your device and slides this one to you.

🌸 Inherited Classes

your girl inherits from:

  • SNMP::Info::Layer3
  • SNMP::Info::IEEE802dot3ad

all that ancestry, all that power. iconic. πŸ‘‘

πŸ“ Required MIBs

you're gonna need these loaded, bestie, or this whole thing is a shrug:

  • HH3C-LswDEVM-MIB
  • HH3C-LswINF-MIB
  • HH3C-LSW-DEV-ADM-MIB
  • HH3C-PRODUCT-ID-MIB
  • HH3C-ENTITY-VENDORTYPE-OID-MIB

πŸ’« Inherited Classes' MIBs

not everything comes from this page, so go read the family:

  • See SNMP::Info::IEEE802dot3ad for its own MIB requirements.
  • See SNMP::Info::Layer3 for its own MIB requirements.

πŸ’œ GLOBALS πŸ’œ

these are methods that return scalar values straight out of SNMP. little one-value gifts. 🎁

  • $h3c->model() β€” hands you the model, pulled out of sysObjectID or entPhysicalClass. ✨
  • $h3c->vendor() β€” gives you back the value for entPhysicalMfgName.1. 🌸
  • $h3c->os() β€” the OS, extracted from sysDescr. yes, scraped out of the description text, that's the move. πŸ¦‹
  • $h3c->os_ver() β€” the software version. it'll grab entPhysicalSoftwareRev.2 or extract it from sysDescr. whichever it can get, bestie. πŸ’…
  • $h3c->qb_fdb_index() β€” ⚠️ this one is overwritten to always return an empty hash, because the implementation on h3c is broken. it's not you, it's them. πŸ’€

🌈 Globals imported from SNMP::Info::Layer3

See documentation in SNMP::Info::Layer3 for details. go read it, iykyk.

🌈 Globals imported from SNMP::Info::IEEE802dot3ad

See documentation in SNMP::Info::IEEE802dot3ad for details. same deal.


🧚 TABLE ENTRIES 🧚

these are the methods that return tables of info, in the form of a reference to a hash. big data, big vibes. 🫢

πŸ”₯ Overrides

  • $h3c->i_ignore() β€” returns a reference to a hash. it increments the value of IID if the port is supposed to be ignored. and what does it ignore? loopback. bye πŸ‘‹
  • "agg_ports" β€” returns a HASH reference mapping from slave to master port for each member of a port bundle on the device. the keys are the ifIndex of the slave ports, and the values are the ifIndex of the corresponding master ports. port linkage, slay. πŸ”—

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

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

πŸ’– Table Methods imported from SNMP::Info::IEEE802dot3ad

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


lowkey the whole point of this class: let it auto-detect, and don't fight it when qb_fdb_index() gives you nothing. that's the design. 🫠

and that's the page!! shoutout to perl v5.40.1, dated 2026-02-28, straight from the SNMP::...r3::H3C(3pm) manual β€” you read the whole thing, so that's a vibe check passed πŸ’…βœ¨πŸŒΈ mwah, go configure something. πŸŽ€

πŸ“¦ where this page comes from