SNMP::...Entity(3pm)

πŸ’– SNMP::Info::PortAccessEntity πŸ’–

okay bestie, come sit with me because we're talking about SNMP::Info::PortAccessEntity β€” the SNMP interface to all the data chillin' in IEEE8021-PAE-MIB. this lives in the Perl user-contributed docs corner of the manual (you know, the 3pm girlies) and she's lowkey niche but highkey essential if you do NAC/dot1x. πŸ¦‹


✨ NAME ✨

SNMP::Info::PortAccessEntity β€” the SNMP Interface to data stored in IEEE8021-PAE-MIB. that's the whole vibe. πŸ’…

πŸ‘‘ AUTHOR πŸ‘‘

Christian Ramseyer. the icon, the moment, the blueprint. 🫢

🌸 SYNOPSIS 🌸

here's the tea, let SNMP::Info figure out the right subclass for you so you don't have to:

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

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

and then you just print the class and feel like the main character. periodt. ✨

πŸŽ€ DESCRIPTION πŸŽ€

IEEE8021-PAE-MIB is what describes Port Access Entities β€” aka your NAC / dot1x features. that's the whole personality of this MIB, no cap. 🌈

okay so, real talk: create or use a device subclass that inherits this class. do NOT use it directly. like, that's a hard no bestie, she's a base class, she's built to be inherited, not deployed solo. πŸ™ˆ

that said β€” for debugging purposes you can call this class directly, exactly like you would SNMP::Info:

my $pae = new SNMP::Info::PortAccessEntity (...);

🌟 Inherited Classes 🌟

none. she stands alone. independent queen energy. πŸ‘‘

🧚 Required MIBs 🧚

IEEE8021-PAE-MIB β€” that's the one, don't forget to load her. πŸ’œ

πŸ“ GLOBALS πŸ“

  • $pae->pae_control() β€” the administrative enable/disable state for Port Access Control in a System. possible values are enabled and disabled, that's it, that's the range. comes from "dot1xPaeSystemAuthControl". 🌸

πŸ’… TABLE METHODS πŸ’…

these are the methods that return tables of information in the form of a reference to a hash. iykyk. πŸ’–

  • $pae->pae_authconfig_state() β€” authentication state: is the port authenticated, disconnected, etc.? the will-they-won't-they of ports. maps to "dot1xAuthPaeState". πŸ’€
  • $pae->pae_authconfig_port_status() β€” the Controlled Port status parameter for the Port: it can only be authorized or unauthorized. two options, no in-between, very binary of her. maps to "dot1xAuthAuthControlledPortStatus". ✨
  • $pae->pae_authsess_user() β€” the User-Name representing the identity of the Supplicant PAE. and bestie, this can be a pretty arbitrary string besides an actual username β€” like a MAC address for MAB, or a hostname for dot1x. she contains multitudes. maps to "dot1xAuthSessionUserName". πŸ¦‹
  • $pae->pae_authsess_mab() β€” helper method! she guesses if this is a MAC address bypass port: she contains the string "mab" for indexes where the pae_authsess_user looks like a MAC address. a little detective, a little menace. πŸ”₯

🌟 friendly reminder: don't instantiate this class directly unless you're debugging β€” inherit her instead. she's a base class and she deserves a proper subclass legacy. πŸ‘‘

and that's the page! source + version check: this is from perl v5.40.1, dated 2026-02-28, under the SNMP::...Entity(3pm) manual name. slay, go configure your dot1x, mwah πŸ’–πŸŽ€πŸŒˆ

πŸ“¦ where this page comes from