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

Jochen Katz katz at agentpp.com
Tue Apr 28 22:12:13 CEST 2009


Hi,

> 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.

yes.

> 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"

So an authoritative snmp engine is not allowed to change its engine id.


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

Yes, but only in terms of initial engine id discovery and time
synchronisation. I don't remember anything like engine id rediscovery.

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

No. If you have a device that changes its engine id, this can and should
be solved by the application. The MPv3 offers functions to add, get and
remove known engine ids, same for the USM.

So if you detect, that the device does no longer answer your requests,
you have to remove the engine id from MPv3 and from USM time table and
all localizen users with this engine id from USM.

Regards,
  Jochen



More information about the SNMP4J mailing list