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).
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"}'
* ident
* remove $Id$ tags from rcs software which has been retired
* make an effort to sync required mib docs with actual code
* sync even more docs with what code actually does
* some whitespace nits
* fixup example to use snmpv2 for all but the most ancient devices
* remove blurb to find more specific snmp::info classes for classes
which alrdy are as specific as they can get (eg snmp::info::layer3::vmware
doesn't need info on to find a specific module since there ain't none)
* rename all sub {vendor} strings to lowercase vendor, if cisco, juniper
and arista can be lowercase, so can be all the rest.
* fix tests
* spread some use warnings around
* use $ instead of @
* remove defines that are included via parent classes
* use strict + warnings
* remove alrdy included modules
* add comma after last list item
* typos
* mibs are found in our mib repo, not on the cisco site
* documentation fixes
* use PULSESECURE-PSG-MIB in layer7::neoteris, also add model() function & remove neoteris fixup from layer7. tests updated.
* will need new mibs release
while it's not yet complete is already is quite functional.
things like vlan, lldp, connected nodes, etc all work
test coverage also included.
features to be added:
link aggregation master/slave (some strange difference with standard 802.3ad i think)
spanning tree will most likely work too
fan/psu status
modules / entity-mib seems to be strangly formatted
massive amount of trailing whitespace cleanup
i ran this for 2 weeks, did not notice any regressions.
during those 2 weeks i went over all the diffs on 3 different occasions to make sure i did not delete a comma, quote or whatever.
ran the complete test set as well, no errors there either.
now it's finally commit time then i guess, so when the next module gets based on an existing one we have a clean layout.
* exinda support
* exinda support
* add exinda hint
needed to identify exinda devices.
* mentin exinda in overview and link docs
* overwrite layers to l2/3/4/7
* get uptime from exinda mib
now matches uptime reported by cli & web interface.
* single quotes preferred
* to much copy/paste
* merge 3.63
* some more functions added. also general cleanup
* Update .travis.yml
* a few fixes
* Update .travis.yml
* Update .travis.yml
* revert
* revert