# Let SNMP::Info determine the correct subclass for you.
my $pf = new SNMP::Info(
AutoSpecify => 1,
Debug => 1,
# These arguments are passed directly to SNMP::Session
DestHost => 'myswitch',
Community => 'public',
Version => 2
or die "Can't connect to DestHost.\n";
my $class = $pf->class();
print "SNMP::Info determined this device to fall under subclass : $class\n";
DESCRIPTIONSubclass for Free-BSD PF-Based devices
LLDP SupportLLDP Support is included but untested in this Device Class. It is reported that the available CDP/LLDP modules for net-snmp don't work on FreeBSD (on which pfSense is based) as they assume certain Linux specific Ethernet structures. This problem is apparently solved on PF based firewall appliances by using the ladvd package, for which a port may be found here: <http://www.freshports.org/net/ladvd/>. I'm not sure if this module ties into Net-SNMP or not.
- Inherited Classes' MIBs
See ``Required MIBs'' in SNMP::Info::Layer3 for its own MIB requirements.
See ``Required MIBs'' in SNMP::Info::LLDP for its own MIB requirements.
GLOBALSThese are methods that return scalar values from SNMP
- Grabs the os version from "sysDescr"
- Returns 'Pf'
- Tries to reference $pf->id() to one of the product MIBs listed above. Will probably return a truncation of the default OID for pf-based systems "enterprises.12318.104.22.168.1.1".
Global Methods imported from SNMP::Info::Layer3See documentation in ``GLOBALS'' in SNMP::Info::Layer3 for details.
TABLE METHODSThese are methods that return tables of information in the form of a reference to a hash.
Table Methods imported from SNMP::Info::Layer3See documentation in ``TABLE METHODS'' in SNMP::Info::Layer3 for details.
Table Methods imported from SNMP::Info::LLDPSee documentation in ``TABLE METHODS'' in SNMP::Info::LLDP for details.