[AGENT++] agentX++ interoperability with NET-SNMP version 5.7.3.rc1

Claus Klein claus.klein at arcormail.de
Sat Nov 22 08:57:46 CET 2014


Hi Frank,

I have finished the tests.

The row destroy  at subagent does not work together with net-snmp master agent!


The agentX++ subagent send the (Index Deallocate) command before it send the response to
the (Commit Set) command.

This seems a Protokoll error and the master agent (net-snmp) sends
a response with errstat=261 after receiving the (Index Deallocate) message.

After some retries, the master agent close the session.

This ends with a SIGPIPE error at subagent site. If it is handled right, it ends in more problems
at the agentX++ subagent while cleanup() and terminate_set_requests();


My understanding of the AgentX protocol is that **the client has first to send**
in reply an agentx-Response-PDU to the agentx-CommitSet-PDU received.

Than, while agentx-CleanupSet-PDU it has to do the Index Deallocate and the Unregister MIB …

===========================
text snippeds from rfc2741:
===========================

7.2.4.2.  Subagent Processing of the agentx-CommitSet-PDU

   ********************************************************************
   The agentx-CommitSet-PDU indicates that the subagent should actually
   perform (as described in the post-validation sections of 4.2.5 of RFC
   1905 [13]) the management operation indicated by the previous
   TestSet-PDU.  After carrying out the management operation, the
   subagent sends in reply an agentx-Response-PDU whose res.error field
   is set to one of the following SNMPv2 PDU error-status values (see
   section 3, "Definitions", in RFC 1905 [13]):

            noError                    (0),
            commitFailed              (14)

   If this value is `commitFailed', the res.index field must be set to
   the index of the VarBind (as it occurred in the agentx-TestSet-PDU)
   for which the operation failed.  Otherwise res.index is set to 0.
   ********************************************************************

...


7.2.4.4.  Subagent Processing of the agentx-CleanupSet-PDU

   ********************************************************************
   The agentx-CleanupSet-PDU signals the end of processing of the
   management operation requested in the previous TestSet-PDU.  This is
   an indication to the subagent that it may now release any resources
   it may have reserved in order to carry out the management request.
   No response is sent by the subagent.
   ********************************************************************


What is your opinion to that?


With Regards
Claus



On 13.11.2014, at 21:48, Claus Klein <claus.klein at arcormail.de> wrote:

> Hi Frank
> 
> I continued testing with NET-SNMP version 5.7.3.rc1 as master agent.
> I changed your subagent examples to be more robust.
> 
> I Send you a patch which fix some problems, but not all I found.
> Please have a look at the changed examples!
> These are formatted with astyle because of mixed tab and blank chars used.
> 
> The most important problem is row destroy!
> 
> Here the list of issues I found.
> 
> With Regards
> Claus



More information about the AGENTPP mailing list