Subject: | Missing tables stop OIDs walk |
When using the 'walk' function on single agent with multiple OIDs tables, the walk stop if one OID table is missing on the
agent and remaining tables are not walked.
ex:
%oids = ( ifIndex => '.1.3.6.1.2.1.2.2.1.1',
ifType => '.1.3.6.1.2.1.2.2.1.3',
ifOperStatus => '.1.3.6.1.2.1.2.2.1.8',
ifAlias => '.1.3.6.1.2.1.31.1.1.1.18' );
$result = $p->walk(values %oids);
on a cisco router missing .1.3.6.1.2.1.31.1.1.1.18 it returns only part of the present tables.
It seems that in the walk function, if the OID is missing, it goes to the next SNMP_AGENT and not to the next GET_TABLE.
When commenting line 972 (next SNMP_AGENT;) it walks all tables back.
Thank you for the great job on Nagios::Plugin
Dist : Nagios-Plugin-SNMP-1.2
perl -v : This is perl, v5.10.1 (*) built for x86_64-linux-gnu-thread-multi
uname -a : Linux XXX 2.6.32-22-generic #36-Ubuntu SMP Thu Jun 3 19:31:57 UTC 2010 x86_64 GNU/Linux