[SNMP4J] index value greater than max java 32-bit integer

Ali, Syed F Syed.Ali02 at ca.com
Wed Mar 4 02:30:28 CET 2015


Hi Frank,

Would snmp4j support issuing snmp get requests where one of the terms in the OID is larger than a signed 32-bit integer? From looking at the org.snmp4j.smi.OID class, each term in the OID has to fit into a primitive int  supports only an array of int's.
If I had an ObjectID like 1.3.6.1.4.1.9.9.42.1.3.5.1.8.71105. 2447483647, would snmp4j support querying such an object ?
Note that the value 2447483647 is greater than the signed 32-bit maximum integer which is 2147483647.

If this is not currently supported, are there plans to support this in a future version of snmp4j?

This occurs in the case of Cisco devices while monitoring response path tests where the Cisco agent actually uses the sysUpTime from the device to keep running "buckets" in which to store data within a given table. We first perform getNext's to identify the 'current bucket'. Then we use that bucket as part of creating the OID, and issue GET requests using this OID. The current bucket is increased every hour, so that new data can be stored, and old data can be purged, and hence sysUpTime is used to generate the bucket. Since the value of sysUpTime is an unsigned integer (or in TimeTicks), it can actually exceed 2,147,483,647 - it's theoretical max limit is  4,294,967,294. So we notice this problem show up on devices that have been running for greater than ~250 days.

Thanks,
Syed F. Ali




More information about the SNMP4J mailing list