Hello, all.
I sent an e-mail a little while ago asking if anyone had a problem
where net-snmp would *send* requests, but it would not get them back.
Well, it turns out that I now have a reason why.
The only major difference between a "bad" request and a "normal"
request is the following:
* A "normal" request ID has FOUR bytes.
* A "bad" request ID has FIVE bytes, and the first bit of the second
byte is "1".
For example:
* "normal": 0x 26 16 c5 71
* "bad": 0x 00 80 83 85 5f
For those of you who are not familiar with X.690, an integer encoding
has the following rules if it is larger than one byte:
1. The first byte and the first bit of the second byte shall not be all "1"s.
2. The first byte and the first bit of the second byte shall not be all "0"s.
Thus, the 5th byte is 0x00 to ensure that the sign of the request ID
is still positive (otherwise, it it were interpreted as a 4-byte
integer, the "8" in 0x80 would force the integer to be negative).
It *appears* to me that most agents do *not* support arbitrarily sized
integers; thus, interpreting this number as a 32-bit number, it might
appear *negative* to some agents.
Our belief is that some agents, primarily network equipment, throws
out SNMP requests whose RequestIDs are greater than 31 bits. Note
that the net-snmp agent ("snmpd") works fine when this happens.
To address this, we see two possible solutions:
1. Force every agent on the planet to support proper RequestIDs.
2. Add an option to net-snmp to wrap request IDs on the 31-bit boundary.
I don't think that option #1 is viable, and my company needs to have
this "solved" in some manner fairly shortly.
I also don't think that we should force net-snmp to perform poorly
because some manufacturers can't count past 31 bits. I think that an
*option*, however, either to net-snmp itself or to a particular
session would address the problem.
Thoughts? I'm planning to patch this fairly soon (I'd like to do it
correctly as an option, but no matter what I'll be making *some* patch
on our code that we deploy), so any input would be much appreciated.
Thanks,
Doug
------------------------------------------------------------------------------
Nokia and AT&T present the 2010 Calling All Innovators-North America contest
Create new apps & games for the Nokia N8 for consumers in U.S. and Canada
$10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing
Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store
http://p.sf.net/sfu/nokia-dev2dev
_______________________________________________
Net-snmp-coders mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/net-snmp-coders