From: SourceForge.net <no...@so...> - 2004-05-22 16:50:20
|
Bugs item #948140, was opened at 2004-05-05 03:31 Message generated for change (Comment added) made by eriang You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112694&aid=948140&group_id=12694 Category: agent Group: None Status: Open Resolution: None Priority: 5 Submitted By: Michael J. Slifcak (slif) Assigned to: Nobody/Anonymous (nobody) Summary: agent loops forever for some SNMPv1 requests Initial Comment: Net-SNMP 5.1.1, windows, MSVC++-built snmptable -v 1 -c public localhost udpTable will loop forever. "-v 2c" does not exhibit this problem. This problem exists also for tcpConnTable, ipRouteTable. This problem does not exhibit for ipAddrTable, ifTable. ---------------------------------------------------------------------- Comment By: Erik Änggård (eriang) Date: 2004-05-22 18:50 Message: Logged In: YES user_id=878782 It's not the agent that loops, it's snmpwalk. But the problem is still in the agent, it doesn't reply correctly to a getnext request with two OIDs in it when the OIDs are the last entries of each column of the table. It works when using v2c since getbulk will be used (if you specify -CB it will fail with v2c also). See my example below. If I do a simple walk the table looks as follows: $ snmpwalk -v1 -c public localhost RFC1213-MIB::udpTable RFC1213-MIB::udpLocalAddress.0.0.0.0.0 = IpAddress: 0.0.0.0 RFC1213-MIB::udpLocalAddress.0.0.0.0.67 = IpAddress: 0.0.0.0 RFC1213-MIB::udpLocalAddress.0.0.0.0.69 = IpAddress: 0.0.0.0 RFC1213-MIB::udpLocalAddress.0.0.0.0.161 = IpAddress: 0.0.0.0 RFC1213-MIB::udpLocalAddress.0.0.0.0.1023 = IpAddress: 0.0.0.0 RFC1213-MIB::udpLocalAddress.0.0.0.0.65534 = IpAddress: 0.0.0.0 RFC1213-MIB::udpLocalPort.0.0.0.0.0 = INTEGER: 0 RFC1213-MIB::udpLocalPort.0.0.0.0.67 = INTEGER: 67 RFC1213-MIB::udpLocalPort.0.0.0.0.69 = INTEGER: 69 RFC1213-MIB::udpLocalPort.0.0.0.0.161 = INTEGER: 161 RFC1213-MIB::udpLocalPort.0.0.0.0.1023 = INTEGER: 1023 RFC1213-MIB::udpLocalPort.0.0.0.0.65534 = INTEGER: 65534 If I do a getnext on the last entries of each column separately it works fine: $ snmpgetnext -v1 -c public localhost RFC1213-MIB::udpLocalAddress.0.0.0.0.65534 RFC1213-MIB::udpLocalPort.0.0.0.0.0 = INTEGER: 0 $ snmpgetnext -v1 -c public localhost RFC1213-MIB::udpLocalPort.0.0.0.0.65534 RFC1213-MIB::snmpInPkts.0 = Counter32: 14782 But if I do a getnext with the two last entries in the same query I get an incorrect reply: $ snmpgetnext -v1 -c public localhost RFC1213-MIB::udpLocalAddress.0.0.0.0.65534 RFC1213-MIB::udpLocalPort.0.0.0.0.65534 RFC1213-MIB::udpLocalAddress.0.0.0.0.0 = IpAddress: 0.0.0.0 RFC1213-MIB::udpLocalAddress.0.0.0.0.0 = IpAddress: 0.0.0.0 As you can see I get the top entry of the table which is why snmptable will loop. I haven't figured out why, maybe someone familiar with table_iterator.c can take a look at it. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112694&aid=948140&group_id=12694 |