We've run into a situation where a few of our devices occasionally
return the same oid sent when doing a walk or bulkwalk.
The snmpwalk/snmpbulkwalk tools detect this error and properly
return an "OID not increasing" error, but the perl module doesn't.
In the module, it actually checks for repeating oids and explicitly
ignores them (from SNMP.xs in the _bulkwalk_recv_pdu() function):
/* If this is not the first packet, skip any duplicated OID values, if
** present. These should be the seed values copied from the last OID's
** of the previous packet. In practice we don't see this, but it is
** easy enough to do, and will avoid confusion for the caller from mis-
** behaving agents (badly misbehaving... ;^).
*/
if ((context->pkts_exch > 1) && (pix < context->repeaters)) {
if (__oid_cmp(vars->name, vars->name_length,
context->reqbase[pix].last_oid,
context->reqbase[pix].last_len) == 0)
{
DBPRT(2, (DBOUT "Ignoring repeat oid: %s\n",
snprint_objid(_debugx, sizeof(_debugx), vars->name,vars-
>name_length)));
continue;
}
}
..so it seems like this is intentional. But for us, it's messing
up our pollers because they are getting hung up on hitting the same oid
over and over. What would I break by changing it to stop ignoring these
duplicates?
The version of code I'm looking at is net-snmp-5.1.
Thanks!
Austin
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
Net-snmp-coders mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/net-snmp-coders