[SNMP4J] Sending INFORMs to an engine that changes engine ID

Joakim Althini joakim.althini at symsoft.com
Tue Apr 28 10:12:37 CEST 2009


Hi all, 

 

I have a question about how to handle the following situation:

 

We have set up an agent using SNMPv3 with targets so that informs are sent
to them when we're calling notify() on NotificationOriginator.

 

This works fine, when snooping on the traffic msgAuthoritativeEngineID will
be empty in the first informRequest, the receiving engine will then return
its engineID which will then be used in the forthcoming informRequests.

 

However, if the receiving engine is restarted and does not have a fixed
engineID, the sending engine will have cached the old engine id and continue
to use it. This will make the receiving agent drop the packets or some
implementations might return an authentication failure or something like
that.

 

I'm not sure if RFC 3414 clearly specifies how to handle such a situation;
on one hand it states that:

 

"An authoritative SNMP engine is required to maintain the values of

   its snmpEngineID and snmpEngineBoots in non-volatile storage"

 

but on the other hand it discusses the responsibilities of synchronization
for an non-authoritative SNMP engine.

 

The current implementation of snmp4j does not support resynchronization in
this case; my question is: should it?

 

Best regards

 

/Joakim Althini, Symsoft




More information about the SNMP4J mailing list