This change will make sure that the internal _vlan_hoa() function will strip
any additional index levels that may be present in input data. Not only applies
to Q-BRIDGE-MIB tables with a TimeFilter index, but also to tables where part
of the data comes from IEEE8021-Q-BRIDGE-MIB with both TimeFilter and PBB ID.
When a method is resolved via AUTOLOAD (eg for objects defined in %FUNCS),
adding the method to the symbol table leads to skipping AUTOLOAD on subsequent
calls to the method. The method table however is global to the interpreter,
so even when a new SNMP::Info instance is created for a different device, all
methods created by a previous device are just "carried over" to the new one
if they are put into the symbol table. This breaks a method like "v_name",
which may resolve differently in different device classes, in the use case
where devices from different classes are polled one after another (even if
new SNMP::Info object instances are used every time).
merging this for now so we don't forget about this, but ubiquiti seems to have expanded into switches & routers as well.
so in the future this class will either needs to be expanded or split into different ones (wifi/switch/router).
* Clean up EdgeOS and EdgeSwitch verion reporting
* Fixes EdgeOS hotfix versioning
* Also clean up AirOS firmware
* Support ER-12
* lowercase vendorname
a few typos
info::bridge & info::lldp get pulled in via info::layer3
use Socket could be dropped in favor of resolve_desthost(), but needs testing.
(not tested waiting for what travis says)
* first part of fix for #372
makes lldp stop using lldpLocPortDesc directly but maps it to a function
start framework to allow nexus.pm to overwrite that function for nx-os6
* second part of fix for #372
make nx-os 6 return lldpLocPortId for lldp_lport_desc
* munge_null and whitespace nits
Note that Teltonika routers run the net-snmp agent and can present the net-snmp enterprise ID; if so, configure the following through the router CLI to be identified as Teltonika and to be picked up by this device class:
uci set snmpd.@system[0].sysObjectID=.1.3.6.1.4.1.48690
uci commit
ubus call uci commit '{"config":"snmpd"}'
after reading netdisco/netdisco#693 and checking the code it seems layers() does not return l2 support.
while here add required mibs and move layers() manpage to globals, not table entries
* Retrieve Serial Number and device type for CheckPoint devices at right place in MIB
* Retrieve Serial Number and device type for CheckPoint
* Retrieve Serial Number and device type for CheckPoint
* Test not correct with cache data
* revert fix 2 of commit 78119d6, breaks devices that report a port name
6 chars long
* and remove test case for the "packed mac" special case
* and mention cdp fix in changelog
ran this for over 2 months and did not have any regressions on my gear.
also fixed all reported errors by these, but work is still needed.
stuff like
sub thingy {
my $thing = shift;
my $stuff = $thing->os_ver();
if ($stuff =~ /check/) {
-> newer perls (or perhaps just my config somehow) seems to prefer
if ((defined $stuff) && ($stuff =~ /check/)) {
instead.
or perhaps i just don't understand autoloader magic & return type nuances.