Subject: agentx protocol update draft - review items

From: Mark Ellison <[email-masked]>
Date: Mon, 14 Jun 1999 08:17:52 -0400

Hi-

I've put on my reviewer's hat and looked through section 7, "Elements of

Procedure", of the agentx protocol draft, and come up with the proposed
changes
attached below.

Regards,

Mark

---------------------------------------------------------------------------------

Item (2) in section 7.1.1, "Processing the agentx-Open-PDU"
the following text should be removed:

      Examples of a parse error are

        - PDU length (h.payload) too short to contain current construct
           (Object Identifier header indicates more sub-identifiers,
           VarBind v.type indicates data follows, etc)

        - An unrecognized value is encountered for h.type, v.type, etc.

---------------------------------------------------------------------------------

Example 1, in section 7.1.4.2.3, "Examples"
the third paragraph should read: ("deallocate the failed index," added)

     If the registration failed with `duplicateRegistration', the
     subagent should deallocate the failed index, request allocation
     of a new index i, and attempt to register ifTable.[1-22].i,
     until successful.

---------------------------------------------------------------------------------

Item (1) in section 7.1.10, "Processing the agentx-Notify-PDU"
should be removed.

---------------------------------------------------------------------------------

First paragraph in section 7.1.11, "Processing the agentx-Ping-PDU"
the following text should be added:

   If as a result res.error is `noAgentXError', processing
   continues as follows:

      1) An agentx-Response-PDU is sent in reply.

---------------------------------------------------------------------------------

Item (3) in section 7.2, "Subagent Processing"
should start renumbering again from 1, to highlight as a separate path.

---------------------------------------------------------------------------------

Item (3) and item (6) in section 7.2, "Subagent Processing"
item (3) uses the reference `noError', and item (6) uses the
reference `noAgentXError'.  Probably best to use one or the other.
I suggest changing the reference in item (6) to `noError'.

---------------------------------------------------------------------------------

section 7.2.4, "Subagent Processing of agentx-TestSet, -CommitSet,
-UndoSet,
                -CleanupSet-PDUs"
Should add the following one sentence as a separate paragraph at
the end of the section.  (This text was in 2257, but was dropped-
should be part of the update, too):

   These Response-PDUs do not contain a VarBindList.

---------------------------------------------------------------------------------

section 7.2.4.2, "Subagent Processing of the agentx-CommitSet-PDU"
The second paragraph should read (inserted text- "(as it occured
in the agentx-TestSet-PDU)"):

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

---------------------------------------------------------------------------------

section 7.2.4.3, "Subagent Processing of the agentx-UndoSet-PDU"
The second paragraph should read (removed text- "whose res.index
field is set to 0, and"):

   After carrying out the undo process, the subagent sends in reply an
   agentx-Response-PDU and whose res.error field is set to one of the
   following SNMPv2 PDU error-status values (see section 3,
"Definitions",
   in RFC 1905 [13]):

---------------------------------------------------------------------------------

section 7.2.4.3, "Subagent Processing of the agentx-UndoSet-PDU"
The third paragraph should read (inserted text- "(as it occured
in the agentx-TestSet-PDU)"):

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

---------------------------------------------------------------------------------

Item (1) in section 7.2.5.2, "Processing of Responses to
agentx-Get-PDUs"
may allow an error value from an AgentX response containing an AgentX
specific error status (e.g.  parseError) into the SNMP PDU.
Some text should be included to clarify the procedure. I suggest the
following:

   1)  For any received AgentX response PDU, if res.error is not
       `noError', the SNMP response PDU's error code is set to this
       value.  If res.error contains an AgentX specific value (e.g.
       `parseError'), the SNMP response PDU's error code is
       set to a value of genErr instead.  Also, he SNMP response PDU's
error
       index is set to the index of the variable binding corresponding
to
       the failed VarBind in the subagent's AgentX response PDU.

---------------------------------------------------------------------------------

Item (1) in section 7.2.5.3, "Processing of Responses to
agentx-GetNext-PDU and
       agentx-GetBulk-PDU"
may allow an error value from an AgentX response containing an AgentX
specific error status (e.g.  parseError) into the SNMP PDU.
Some text should be included to clarify the procedure. I suggest the
following:

   1)  For any received AgentX response PDU, if res.error is not
       `noError', the SNMP response PDU's error code is set to this
       value.  If res.error contains an AgentX specific value (e.g.
       `parseError'), the SNMP response PDU's error code is
       set to a value of genErr instead.  Also, he SNMP response PDU's
error
       index is set to the index of the variable binding corresponding
to
       the failed VarBind in the subagent's AgentX response PDU.

------------------------------------------------------------------------------

Item (1) in section 7.2.5.6, "Processing of Responses to
agentx-UndoSet-PDUs"
may allow an error value from an AgentX response containing an AgentX
specific error status (e.g.  parseError) into the SNMP PDU.
Some text should be included to clarify the procedure. I suggest the
following:

   1)  If any response is not `noError' the SNMP response PDU's error
       code is set to this value.  If res.error contains an AgentX
       specific value (e.g. `parseError'), the SNMP response PDU's error

       code is set to a value of genErr instead.  Also, the SNMP
       response PDU's error index is set to the index of the VarBind
       corresponding to the failed VarBind in the agentx-TestSet-PDU.

------------------------------------------------------------------------------