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