FW: [AGENT++] How to disable engine id discovery mode in Agent++

Pham, My V. (Mission Systems) My.Pham at ngc.com
Wed Nov 14 23:44:21 CET 2007


 

-----Original Message-----
From: Jochen Katz [mailto:katz at agentpp.com] 
Sent: Tuesday, November 13, 2007 2:25 PM
To: Pham, My V. (Mission Systems)
Subject: Re: [AGENT++] How to disable engine id discovery mode in
Agent++

Hi,

> Maybe I misunderstood the concept of engine ID.  I thought if I 
> configured the engine ID of my agent to something, let's say 
> "SomeEngineID", then if the discovery mode of my agent is set to off 
> then an application wanting to call a get/set to a managed object via 
> my agent would have to provide the correct engine ID "SomeEngineID" in

> its message, otherwise the message won't get processed.

if engine id discovery is enabled or not does not matter in this case.
The agent has to respond with a unknown engine id report (this is
required from the RFC).

>  What I observed was
> that when I set the mode to off, an application that provided some 
> bogus engine id (i.e., not "SomeEngineID"), was still able to call a 
> get command with my agent successfully.

That depends on the application does if it receives a unknown engine id
report from the agent:
a) return this error to the user, as a engine id should never change
b) overwrite the wrong engine id with the engine id received in the
report and try again. This second request will succeed.

Obviously your application chooses b).

> But after reading your message and researching on the internet, it 
> seems to me now engine IDs are characteristics associated with the 
> receiver(s) that the agent needs to send messages to, and not a 
> characteristic of the agent per se.  The agent can keep many engine 
> IDs associated with many receivers, and the discovery mode has to do 
> with how the agent discovers the engine ID of other applications, and 
> not of how other applications discover the engine ID of the agent.

Well, an agent does only have to know the engine ids of the managers
where it wants to send informs to. The agent does not have to know the
engine id of the managers that only send get/set requests to the agent.

So if you disable engine id discovery in an agent, the agent can no
longer successfully send snmpv3 requests to new targets where the
receiver of the request is authoritative (get/set/inform). But the agent
can still send traps, as a trap message has to contain the engine id of
the sender. And the agent will still process received get/set/inform
requests because of the reasons above. But the agent can no longer
receive snmpv3 traps from new senders.

Regards,
  Jochen





More information about the AGENTPP mailing list