[SNMP4J] Multiple Devices with the same Authoritative Engine ID

John Money john.money at gmail.com
Thu Apr 3 18:43:53 CEST 2014


Hi Frank,

Thank you for the great framework! I have been using snmp4j to communicate
with several devices using v3 with authPriv. Recently, I came across a
scenario where 10 of the devices I am querying have the same USM parameters
(Security Name, Security Level, Auth Key and Priv Key) and I can see in the
logs that they also have the same Authoritative Engine ID. This causes the
snmp4j code to report the message "RFC3414 ยง3.2.7.a Not in time window"
when one of the devices has a significantly different Engine Time than the
others. I have the following questions:

1. Can the Authoritative Engine ID be the same for multiple devices
according to the SNMP RFC?

2. Is the Authoritative Engine ID the same as the device Engine ID or is it
a separate id altogether?

I have tried searching the web for these answers and I am not getting
anything concrete. Also, I modified the snmp4j code to work around this
issue by changing the Hash Key for the table variable in the UsmTimeTable
class so that the new key is a combination of Device IP Address and
Authoritative Engine Id. This allows each device to have its own Engine
Time that is used for comparison and resolves the "Not in time window"
issue. Two more questions:

3. Do you have any interest in adding this functionality to the snmp4j
code? If so I can send the source to you.

4. I noticed that the comments for the UsmTimeTable class mention that it
is a Singleton, yet the code is not setup as a singleton. Did you intend
for this class to be a singleton or has that design decision changed and
the comments just weren't updated?

Thank you for your time!

Thanks,
John Money



More information about the SNMP4J mailing list