Hi Jason,

On 04/03/2009 06:32 PM, Jason Rymal wrote:
> I have a problem where a management server (which I have no control
> over) is polling my SNMP enabled device. My subagent starts up a process
> and does not immediately return the value for the OID being polled.
> Because of this, the server times out and sends a second request. This
> results in 2 processes running on the device. 
I have no idea what your subagent is trying to accomplish.  However, if 
the process that is started is the same in all cases, then it is 
reasonable to not start another process if one is currently running.

SNMP requests and re-tries from the same manager have the same value for 
the SNMP request ID.  I do not know if this value is passed along from 
the Net-SNMP master agent to your sub-agent or not.  (Dave ??)
> I can block concurrent
> runs, but sequential runs cause more timeouts to occur (along with other
> problems).
At a minimum, document the amount of time a manager should allocate 
before a retry when interrogating the MIB subtree for which your 
subagent is authoritative (responsible).  At best, re-design your 
sub-agent with a set of object-types that allow it to respond to the 
manager in a manner that says "we're working on it" and then place the 
results in an 'output table' that the manager can then interrogate for 
subsequent results.

This is the sort of pattern that is used by the RMON2-MIB. See RFC 4502 
and possibly regard the protocolDistControlTable and the 
protocolDistStatsTable, or nlHostControlTable and nlHostTable, or other 
table pairs in the RMON MIB as a model.
> Is there a method for the agent to only send one request to
> the subagent?
>
> Thanks,
> Jason Ryma
Hope this helps!

Mark
http://EllisonSoftware.com

------------------------------------------------------------------------------
_______________________________________________
Net-snmp-coders mailing list
Net-snmp-coders@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/net-snmp-coders

Reply via email to