Subject: final update before I-D submission

From: Mark Ellison <[email-masked]>
Date: Tue, 22 Jun 1999 22:58:34 -0400

Hi-

I've added some text to the introduction, and an appendix outlining changes
since the AgentX protocol document was published as RFC 2257.  These
changes appear to be required as part of the IESG directives on updating an RFC,
and are attached, below.  (see http://www.ietf.org/ID-nits.html)

Regards,

Mark

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

at the end of section 1, Introduction, the following text was added:

   This memo replaces RFC 2257.  It is worth noting that most of the
   changes are for the purpose of clarification.  The only change
   affecting AgentX protocol messages on the wire are:

     -  The agentx-Notify-PDU and agentx-Close-PDU now generate an
        agentx-Response-PDU

     -  Three new error codes are available: parseFailed(266),
        requestDenied(267), and processingError(268)

   Appendix A provides a detailed list of changes relative to RFC 2257.

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

at the end of the document, Appendix A, Changes relative to RFC 2257, was added
as follows:

   Changes on the wire:

     -  The agentx-Notify-PDU and agentx-Close-PDU now generate an
        agentx-Response-PDU.

     -  The res.error field may contain three new error codes:
        parseFailed(266), requestDenied(267), and processingError(268).

   Clarifications to the text of the memo:

     -  The use of the r.range_subid field is more clearly defined in
        6.2.3, "The agentx-Register-PDU".

     -  Default priority (127) for registration added in 6.2.3, "The
        agentx-Register-PDU" description of r.priority.

     -  Made the distinction of "administrative processing" PDUs and
        "SNMP request processing" PDUs in section 6.1, "AgentX PDU
        Header" description of h.type.  This distinction is used in the
        Elements of Procedure relative to the res.sysuptime and
        res.error fields.

     -  Added use of the `requestDenied' error code to section 7.1.4,
        "Processing the agentx-Register-PDU".

     -  Removed text in section 7, "Elements of Procedure" on parse
        errors and protocol errors.

     -  Added a new section, 7.1, "Processing AgentX Administrative
        Messages" which defines common processing and how to use the
        `parseError' and `processingError' instead of closing a session,
        and how to handle context.

     -  Removed the common processing text from the other administrative
        processing Elements of Procedure sections, and added a reference
        to section 7.1, "Processing AgentX Administrative Messages".
        The affected sections are:

          -  7.1.2,  "Processing the agentx-IndexAllocate-PDU"
          -  7.1.3,  "Processing the agentx-IndexDeallocate-PDU"
          -  7.1.4,  "Processing the agentx-Register-PDU"
          -  7.1.5,  "Processing the agentx-Unregister-PDU"
          -  7.1.6,  "Processing the agentx-AddAgentCaps-PDU"
          -  7.1.7,  "Processing the agentx-RemoveAgentCaps-PDU"
          -  7.1.8,  "Processing the agentx-Close-PDU"
          -  7.1.10, "Processing the agentx-Notify-PDU"
          -  7.1.11, "Processing the agentx-Ping-PDU"

     -  Reworked the text in section 7.1.1, "Processing the agentx-Open-
        PDU" to include new error codes, and, to eliminate reference to
        an indicated context.

     -  Modified the text in Section 7.1.10, "Processing the agentx-
        Notify-PDU" to state that context checking is performed.

     -  Rewrote portions of text in section 6.2.3, "The agentx-Register-
        PDU" to be more explicit about the following points:

          -  There is a default registration prority of 127.
          -  Improved the description of r.range_subid, independent of
             the prefix in r.region.
          -  Improved description and examples of how to use the
             registration mechanism.
          -  Added a description for r.upper_bound.
          -  changed r.region to r.subtree (because the text used the
             terms "region", "range", and "OID range" in too loose a
             fashion.  r.subtree can not represent anything more by
             itself than a simple subtree.  In conjunction with
             r.range_subid and r.upper_bound, it can represent a
             "region", that is, a union of subtrees)

     -  Modified the text in section 6.2.4, "The agentx-Unregister-PDU"
        to include a description of u.range_subid and u.upper_bound

     -  Modified the test in section 7.1.5, "Processing the agentx-
        Unregister-PDU" to require a match on u.range_subid and on
        u.upper_bound when these fields were applicable in the
        corresponding agentx-Register-PDU.

     -  Substantially modified the text in section 7.1.4.1, "Handling
        Duplicate and Overlapping Subtrees".

     -  Removed all references to "splitting", and all uses of the term
        "OID range".  The text now refers to regions or subtrees
        directly, and relies on rule (1), "Honoring the Registry", in
        section 7.2.1, "Dispatching AgentX PDUs".

     -  Added an example to the text in section 7.2.5.3, "Processing of
        Responses to agentx-GetNext-PDU and       agentx-GetBulk-PDU",
        and, removed the definition of "contains" from this section.

     -  Modified the text in section 8.1.2, "Operation" to explicitly
        prohibit interleaved sends, and, added a caution about
        exchanging AgentX messages via TCP.

     -  Modified the text of step (4) in section 4.2, "Applicability" to
        separate the two concerns of row creation, and counters that
        count rows.

     -  Removed the section on "Using the agentx-IndexAllocate-PDU" and
        added section 7.1.4.2, "Registering Stuff".  This change is
        intended to provide a more concise and a more cohesive
        description of how things are supposed to work.

     -  Modified text to be more explicit that the OID in the
        agentx-Allocate-PDU is an OBJECT-TYPE and does not contain any
        instance sub-identifiers.

     -  Added text in section 7.2.2, "Subagent Processing" describing
        common processing.

     -  Replaced the term "subagent" with the term "session" in many
        places throughout the text.

     -  Modified the text relative to master agent processing of the
        agentx-TestSet-PDU, agentx-CommitSet-PDU, and the
        agentx-UndoSet-PDU to explicit state that only "involved"
        sessions receive an agentx-CommitSet-PDU, and possibly, an
        agentx-UndoSet-PDU.

     -  Modified the text to use the term "transaction", instead of
        "packet" (and others), where appropriate.  This helps
        distinguish the overall transaction from a particular sequence
        of packets or PDUs.

     -  Modified the text to explicitly state that a session is not
        required to support concurrent sets.

     -  Added section 13, "Notices".