rfc2572.txt

来自「RFC 的详细文档!」· 文本 代码 · 共 1,614 行 · 第 1/5 页

TXT
1,614
字号
   5) If the result is a FAILURE errorIndication, the message is
      discarded without further processing.

   6) At this point, the abstract data elements have been prepared and
      processing continues as described in Section 4.2.2, PDU
      Dispatching for Incoming Messages.

4.2.2.  PDU Dispatching for Incoming Messages

   The elements of procedure for the dispatching of PDUs depends on the
   value of sendPduHandle.  If the value of sendPduHandle is <none>,
   then this is a request or notification and the procedures specified
   in Section 4.2.2.1 apply.  If the value of snmpPduHandle is not
   <none>, then this is a response and the procedures specified in
   Section 4.2.2.2 apply.

4.2.2.1.  Incoming Requests and Notifications

   The following procedures are followed for the dispatching of PDUs
   when the value of sendPduHandle is <none>, indicating this is a
   request or notification.






SNMPv3 Working Group        Standards Track                    [Page 12]

RFC 2572           Message Processing and Dispatching           April 1999


   1) The combination of contextEngineID and pduType is used to
      determine which application has registered for this request or
      notification.

   2) If no application has registered for the combination, then

      a) The snmpUnknownPDUHandlers counter is incremented.

      b) A Response message is generated using the abstract service
         primitive:

         result =                         -- SUCCESS or FAILURE
         prepareResponseMessage(
         IN   messageProcessingModel    -- as provided by MP module
         IN   securityModel             -- as provided by MP module
         IN   securityName              -- as provided by MP module
         IN   securityLevel             -- as provided by MP module
         IN   contextEngineID           -- as provided by MP module
         IN   contextName               -- as provided by MP module
         IN   pduVersion                -- as provided by MP module
         IN   PDU                       -- as provided by MP module
         IN   maxSizeResponseScopedPDU  -- as provided by MP module
         IN   stateReference            -- as provided by MP module
         IN   statusInformation         -- errorIndication plus
                                        -- snmpUnknownPDUHandlers OID
                                        -- value pair.
         OUT  destTransportDomain       -- destination transportDomain
         OUT  destTransportAddress      -- destination transportAddress
         OUT  outgoingMessage           -- the message to send
         OUT  outgoingMessageLength     -- its length
         )

      c) If the result is SUCCESS, then the prepared message is sent to
         the originator of the request as identified by the
         transportDomain and transportAddress.

      d) The incoming message is discarded without further processing.
         Message Processing for this message is complete.

   3) The PDU is dispatched to the application, using the abstract
      service primitive:










SNMPv3 Working Group        Standards Track                    [Page 13]

RFC 2572           Message Processing and Dispatching           April 1999


      processPdu(                     -- process Request/Notification
        IN   messageProcessingModel   -- as provided by MP module
        IN   securityModel            -- as provided by MP module
        IN   securityName             -- as provided by MP module
        IN   securityLevel            -- as provided by MP module
        IN   contextEngineID          -- as provided by MP module
        IN   contextName              -- as provided by MP module
        IN   pduVersion               -- as provided by MP module
        IN   PDU                      -- as provided by MP module
        IN   maxSizeResponseScopedPDU -- as provided by MP module
        IN   stateReference           -- as provided by MP module
                                      -- needed when sending response
             )

      Message processing for this message is complete.

4.2.2.2.  Incoming Responses

   The following procedures are followed for the dispatching of PDUs
   when the value of sendPduHandle is not <none>, indicating this is a
   response.

      1) The value of sendPduHandle is used to determine, in an
         implementation-defined manner, which application is waiting for
         a response associated with this sendPduHandle.

      2) If no waiting application is found, the message is discarded
         without further processing, and the stateReference is released.
         The snmpUnknownPDUHandlers counter is incremented.  Message
         Processing is complete for this message.

      3) Any cached information, including stateReference, about the
         message is discarded.

      4) The response is dispatched to the application using the
         abstract service primitive:















SNMPv3 Working Group        Standards Track                    [Page 14]

RFC 2572           Message Processing and Dispatching           April 1999


         processResponsePdu(              -- process Response PDU
           IN   messageProcessingModel    -- provided by the MP module
           IN   securityModel             -- provided by the MP module
           IN   securityName              -- provided by the MP module
           IN   securityLevel             -- provided by the MP module
           IN   contextEngineID           -- provided by the MP module
           IN   contextName               -- provided by the MP module
           IN   pduVersion                -- provided by the MP module
           IN   PDU                       -- provided by the MP module
           IN   statusInformation         -- provided by the MP module
           IN   sendPduHandle             -- provided by the MP module
                )

         Message Processing is complete for this message.

4.3.  Application Registration for Handling PDU types

   Applications that want to process certain PDUs must register with the
   PDU Dispatcher. Applications specify the combination of
   contextEngineID and pduType(s) for which they want to take
   responsibility

   1) An application registers according to the abstract interface
      primitive:

      statusInformation =           -- success or errorIndication
        registerContextEngineID(
        IN   contextEngineID        -- take responsibility for this one
        IN   pduType                -- the pduType(s) to be registered
             )

      Note: implementations may provide a means of requesting
      registration for simultaneous multiple contextEngineID values,
      e.g., all contextEngineID values, and may also provide means for
      requesting simultaneous registration for multiple values of
      pduType.

   2) The parameters may be checked for validity; if they are not, then
      an errorIndication (invalidParameter) is returned to the
      application.

   3) Each combination of contextEngineID and pduType can be registered
      only once.  If another application has already registered for the
      specified combination, then an errorIndication (alreadyRegistered)
      is returned to the application.

   4) Otherwise, the registration is saved so that SNMP PDUs can be
      dispatched to this application.



SNMPv3 Working Group        Standards Track                    [Page 15]

RFC 2572           Message Processing and Dispatching           April 1999


4.4.  Application Unregistration for Handling PDU Types

   Applications that no longer want to process certain PDUs must
   unregister with the PDU Dispatcher.

   1) An application unregisters using the abstract service primitive:

      unregisterContextEngineID(
       IN   contextEngineID        -- give up responsibility for this
       IN   pduType                -- the pduType(s) to be unregistered
             )
      Note: implementations may provide means for requesting
      unregistration for simultaneous multiple contextEngineID values,
      e.g., all contextEngineID values, and may also provide means for
      requesting simultaneous unregistration for multiple values of
      pduType.

   2) If the contextEngineID and pduType combination has been
      registered, then the registration is deleted.

      If no such registration exists, then the request is ignored.

5.  Definitions

5.1.  Definitions for SNMP Message Processing and Dispatching

   SNMP-MPD-MIB DEFINITIONS ::= BEGIN

   IMPORTS
       MODULE-COMPLIANCE, OBJECT-GROUP         FROM SNMPv2-CONF
       MODULE-IDENTITY, OBJECT-TYPE,
       snmpModules, Counter32                  FROM SNMPv2-SMI;

   snmpMPDMIB MODULE-IDENTITY
       LAST-UPDATED "9905041636Z"              -- 4 April 1999
       ORGANIZATION "SNMPv3 Working Group"
       CONTACT-INFO "WG-EMail:   snmpv3@lists.tislabs.com
                     Subscribe:  majordomo@lists.tislabs.com
                                 In message body:  subscribe snmpv3

                     Chair:      Russ Mundy
                                 TIS Labs at Network Associates
                     postal:     3060 Washington Road
                                 Glenwood, MD 21738
                                 USA
                     EMail:      mundy@tislabs.com
                     phone:      +1 301-854-6889




SNMPv3 Working Group        Standards Track                    [Page 16]

RFC 2572           Message Processing and Dispatching           April 1999


                     Co-editor:  Jeffrey Case
                                 SNMP Research, Inc.
                     postal:     3001 Kimberlin Heights Road
                                 Knoxville, TN 37920-9716
                                 USA
                     EMail:      case@snmp.com
                     phone:      +1 423-573-1434

                     Co-editor   Dave Harrington
                                 Cabletron Systems, Inc.
                     postal:     Post Office Box 5005
                                 MailStop: Durham
                                 35 Industrial Way
                                 Rochester, NH 03867-5005
                                 USA
                     EMail:      dbh@ctron.com
                     phone:      +1 603-337-7357

                     Co-editor:  Randy Presuhn
                                 BMC Software, Inc.
                     postal:     965 Stewart Drive
                                 Sunnyvale, CA 94086
                                 USA
                     EMail:      randy_presuhn@bmc.com
                     phone:      +1 408-616-3100

                     Co-editor:  Bert Wijnen
                                 IBM T. J. Watson Research
                     postal:     Schagen 33
                                 3461 GL Linschoten
                                 Netherlands
                     EMail:      wijnen@vnet.ibm.com
                     phone:      +31 348-432-794

                    "
       DESCRIPTION  "The MIB for Message Processing and Dispatching"
       REVISION     "9905041636Z"              -- 4 April 1999
       DESCRIPTION  "Updated addresses, published as RFC 2572."
       REVISION     "9709300000Z"              -- 30 September 1997
       DESCRIPTION  "Original version, published as RFC 2272."
       ::= { snmpModules 11 }

   -- Administrative assignments ***************************************

   snmpMPDAdmin           OBJECT IDENTIFIER ::= { snmpMPDMIB 1 }
   snmpMPDMIBObjects      OBJECT IDENTIFIER ::= { snmpMPDMIB 2 }
   snmpMPDMIBConformance  OBJECT IDENTIFIER ::= { snmpMPDMIB 3 }




SNMPv3 Working Group        Standards Track                    [Page 17]

RFC 2572           Message Processing and Dispatching           April 1999


   -- Statistics for SNMP Messages *************************************

   snmpMPDStats           OBJECT IDENTIFIER ::= { snmpMPDMIBObjects 1 }

   snmpUnknownSecurityModels OBJECT-TYPE
       SYNTAX       Counter32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION "The total number of packets received by the SNMP
                    engine which were dropped because they referenced a
                    securityModel that was not known to or supported by

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?