home *** CD-ROM | disk | FTP | other *** search
/ The Hacker's Encyclopedia 1998 / hackers_encyclopedia.iso / rfc / 3 / rfc2263.txt < prev    next >
Encoding:
Text File  |  2003-06-11  |  140.1 KB  |  3,924 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                            D. Levi
  8. Request for Comments: 2263                           SNMP Research, Inc.
  9. Category: Standards Track                                       P. Meyer
  10.                                             Secure Computing Corporation
  11.                                                               B. Stewart
  12.                                                            Cisco Systems
  13.                                                             January 1998
  14.  
  15.                           SNMPv3 Applications
  16.  
  17.  
  18. Status of this Memo
  19.  
  20.    This document specifies an Internet standards track protocol for the
  21.    Internet community, and requests discussion and suggestions for
  22.    improvements.  Please refer to the current edition of the "Internet
  23.    Official Protocol Standards" (STD 1) for the standardization state
  24.    and status of this protocol.  Distribution of this memo is unlimited.
  25.  
  26. Copyright Notice
  27.  
  28.    Copyright (C) The Internet Society (1997).  All Rights Reserved.
  29.  
  30. Abstract
  31.  
  32.    This memo describes five types of SNMP applications which make use of
  33.    an SNMP engine as described in [RFC2261].  The types of application
  34.    described are Command Generators, Command Responders, Notification
  35.    Originators, Notification Receivers, and Proxy Forwarders.
  36.  
  37.    This memo also defines MIB modules for specifying targets of
  38.    management operations, for notification filtering, and for proxy
  39.    forwarding.
  40.  
  41. Table of Contents
  42.  
  43.    1 Overview .....................................................    2
  44.    1.1 Command Generator Applications .............................    3
  45.    1.2 Command Responder Applications .............................    3
  46.    1.3 Notification Originator Applications .......................    3
  47.    1.4 Notification Receiver Applications .........................    3
  48.    1.5 Proxy Forwarder Applications ...............................    3
  49.    2 Management Targets ...........................................    5
  50.    3 Elements Of Procedure ........................................    6
  51.    3.1 Command Generator Applications .............................    6
  52.    3.2 Command Responder Applications .............................    8
  53.    3.3 Notification Originator Applications .......................   13
  54.    3.4 Notification Receiver Applications .........................   16
  55.  
  56.  
  57.  
  58. Levi, et. al.               Standards Track                     [Page 1]
  59.  
  60. RFC 2263                  SNMPv3 Applications               January 1998
  61.  
  62.  
  63.    3.5 Proxy Forwarder Applications ...............................   18
  64.    3.5.1 Request Forwarding .......................................   19
  65.    3.5.1.1 Processing an Incoming Request .........................   19
  66.    3.5.1.2 Processing an Incoming Response ........................   22
  67.    3.5.1.3 Processing an Incoming Report Indication ...............   23
  68.    3.5.2 Notification Forwarding ..................................   24
  69.    4 The Structure of the MIB Modules .............................   27
  70.    4.1 The Management Target MIB Module ...........................   27
  71.    4.1.1 Tag Lists ................................................   28
  72.    4.1.2 Definitions ..............................................   28
  73.    4.2 The Notification MIB Module ................................   41
  74.    4.2.1 Definitions ..............................................   42
  75.    4.3 The Proxy MIB Module .......................................   53
  76.    4.3.1 Definitions ..............................................   53
  77.    5 Identification of Management Targets in Notification
  78.         Originators ...............................................   59
  79.    6 Notification Filtering .......................................   60
  80.    7 Management Target Translation in Proxy  Forwarder
  81.         Applications ..............................................   61
  82.    7.1 Management Target Translation for Request Forwarding .......   61
  83.    7.2 Management Target Translation for Notification Forwarding
  84.         ...........................................................   62
  85.    8 Intellectual Property ........................................   63
  86.    9 Acknowledgments ..............................................   64
  87.    10 Security Considerations .....................................   65
  88.    11 References ..................................................   65
  89.    12 Editors' Address ............................................   67
  90.    A. Trap Configuration Example ..................................   68
  91.    B. Full Copyright Statement ....................................   70
  92.  
  93. 1.  Overview
  94.  
  95.    This document describes five types of SNMP applications:
  96.  
  97.        -  Applications which initiate SNMP Get, GetNext, GetBulk, and/or
  98.           Set requests, called 'command generators.'
  99.  
  100.        -  Applications which respond to SNMP Get, GetNext, GetBulk,
  101.           and/or Set requests, called 'command responders.'
  102.  
  103.        -  Applications which generate notifications, called
  104.           'notification originators.'
  105.  
  106.        -  Applications which receive notifications, called 'notification
  107.           receivers.'
  108.  
  109.        -  Applications which forward SNMP Get, GetNext, GetBulk, and/or
  110.           Set requests or notifications, called 'proxy forwarder.'
  111.  
  112.  
  113.  
  114. Levi, et. al.               Standards Track                     [Page 2]
  115.  
  116. RFC 2263                  SNMPv3 Applications               January 1998
  117.  
  118.  
  119.    Note that there are no restrictions on which types of applications
  120.    may be associated with a particular SNMP engine.  For example, a
  121.    single SNMP engine may, in fact, be associated with both command
  122.    generator and command responder applications.
  123.  
  124. 1.1.  Command Generator Applications
  125.  
  126.    A command generator application initiates SNMP Get, GetNext, GetBulk,
  127.    and/or Set requests, as well as processing the response to a request
  128.    which it generated.
  129.  
  130. 1.2.  Command Responder Applications
  131.  
  132.    A command responder application receives SNMP Get, GetNext, GetBulk,
  133.    and/or Set requests destined for the local system as indicated by the
  134.    fact that the contextEngineID in the received request is equal to
  135.    that of the local engine through which the request was received.  The
  136.    command responder application will perform the appropriate protocol
  137.    operation, using access control, and will generate a response message
  138.    to be sent to the request's originator.
  139.  
  140. 1.3.  Notification Originator Applications
  141.  
  142.    A notification originator application conceptually monitors a system
  143.    for particular events or conditions, and generates Trap and/or Inform
  144.    messages based on these events or conditions.  A notification
  145.    originator must have a mechanism for determining where to send
  146.    messages, and what SNMP version and security parameters to use when
  147.    sending messages.  A mechanism and MIB module for this purpose is
  148.    provided in this document.
  149.  
  150. 1.4.  Notification Receiver Applications
  151.  
  152.    A notification receiver application listens for notification
  153.    messages, and generates response messages when a message containing
  154.    an Inform PDU is received.
  155.  
  156. 1.5.  Proxy Forwarder Applications
  157.  
  158.    A proxy forwarder application forwards SNMP messages.  Note that
  159.    implementation of a proxy forwarder application is optional.  The
  160.    sections describing proxy (4.5, 5.3, and 8) may be skipped for
  161.    implementations that do not include a proxy forwarder application.
  162.  
  163.    The term "proxy" has historically been used very loosely, with
  164.    multiple different meanings.  These different meanings include (among
  165.    others):
  166.  
  167.  
  168.  
  169.  
  170. Levi, et. al.               Standards Track                     [Page 3]
  171.  
  172. RFC 2263                  SNMPv3 Applications               January 1998
  173.  
  174.  
  175. (1)  the forwarding of SNMP requests to other SNMP entities without
  176.      regard for what managed object types are being accessed; for
  177.      example, in order to forward an SNMP request from one transport
  178.      domain to another, or to translate SNMP requests of one version
  179.      into SNMP requests of another version;
  180.  
  181. (2)  the translation of SNMP requests into operations of some non-SNMP
  182.      management protocol; and
  183.  
  184. (3)  support for aggregated managed objects where the value of one
  185.      managed object instance depends upon the values of multiple other
  186.      (remote) items of management information.
  187.  
  188.    Each of these scenarios can be advantageous; for example, support for
  189.    aggregation of management information can significantly reduce the
  190.    bandwidth requirements of large-scale management activities.
  191.    However, using a single term to cover multiple different scenarios
  192.    causes confusion.
  193.  
  194.    To avoid such confusion, this document uses the term "proxy" with a
  195.    much more tightly defined meaning.  The term "proxy" is used in this
  196.    document to refer to a proxy forwarder application which forwards
  197.    either SNMP requests, notifications, and responses without regard for
  198.    what managed objects are contained within requests or notifications.
  199.    This definition is most closely related to the first definition
  200.    above.  Note, however, that in the SNMP architecture [RFC2261], a
  201.    proxy forwarder is actually an application, and need not be
  202.    associated with what is traditionally thought of as an SNMP agent.
  203.  
  204.    Specifically, the distinction between a traditional SNMP agent and a
  205.    proxy forwarder application is simple:
  206.  
  207.        -  a proxy forwarder application forwards requests and/or
  208.           notifications to other SNMP engines according to the context,
  209.           and irrespective of the specific managed object types being
  210.           accessed, and forwards the response to such previously
  211.           forwarded messages back to the SNMP engine from which the
  212.           original message was received;
  213.  
  214.        -  in contrast, the command responder application that is part of
  215.           what is traditionally thought of as an SNMP agent, and which
  216.           processes SNMP requests according to the (names of the)
  217.           individual managed object types and instances being accessed,
  218.           is NOT a proxy forwarder application from the perspective of
  219.           this document.
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226. Levi, et. al.               Standards Track                     [Page 4]
  227.  
  228. RFC 2263                  SNMPv3 Applications               January 1998
  229.  
  230.  
  231.    Thus, when a proxy forwarder application forwards a request or
  232.    notification for a particular contextEngineID / contextName pair, not
  233.    only is the information on how to forward the request specifically
  234.    associated with that context, but the proxy forwarder application has
  235.    no need of a detailed definition of a MIB view (since the proxy
  236.    forwarder application forwards the request irrespective of the
  237.    managed object types).
  238.  
  239.    In contrast, a command responder application must have the detailed
  240.    definition of the MIB view, and even if it needs to issue requests to
  241.    other entities, via SNMP or otherwise, that need is dependent on the
  242.    individual managed object instances being accessed (i.e., not only on
  243.    the context).
  244.  
  245.    Note that it is a design goal of a proxy forwarder application to act
  246.    as an intermediary between the endpoints of a transaction.  In
  247.    particular, when forwarding Inform requests, the associated response
  248.    is forwarded when it is received from the target to which the Inform
  249.    request was forwarded, rather than generating a response immediately
  250.    when an Inform request is received.
  251.  
  252. 2.  Management Targets
  253.  
  254.    Some types of applications (notification generators and proxy
  255.    forwarders in particular) require a mechanism for determining where
  256.    and how to send generated messages.  This document provides a
  257.    mechanism and MIB module for this purpose.  The set of information
  258.    that describes where and how to send a message is called a
  259.    'Management Target', and consists of two kinds of information:
  260.  
  261.        -  Destination information, consisting of a transport domain and
  262.           a transport address.  This is also termed a transport
  263.           endpoint.
  264.  
  265.        -  SNMP parameters, consisting of message processing model,
  266.           security model, security level, and security name information.
  267.  
  268.    The SNMP-TARGET-MIB module described later in this document contains
  269.    one table for each of these types of information.  There can be a
  270.    many-to-many relationship in the MIB between these two types of
  271.    information.  That is, there may be multiple transport endpoints
  272.    associated with a particular set of SNMP parameters, or a particular
  273.    transport endpoint may be associated with several sets of SNMP
  274.    parameters.
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282. Levi, et. al.               Standards Track                     [Page 5]
  283.  
  284. RFC 2263                  SNMPv3 Applications               January 1998
  285.  
  286.  
  287. 3.  Elements Of Procedure
  288.  
  289.    The following sections describe the procedures followed by each type
  290.    of application when generating messages for transmission or when
  291.    processing received messages.  Applications communicate with the
  292.    Dispatcher using the abstract service interfaces defined in [RFC2261].
  293.  
  294. 3.1.  Command Generator Applications
  295.  
  296.    A command generator initiates an SNMP request by calling the
  297.    Dispatcher using the following abstract service interface:
  298.  
  299.        statusInformation =              -- sendPduHandle if success
  300.                                         -- errorIndication if failure
  301.          sendPdu(
  302.          IN   transportDomain           -- transport domain to be used
  303.          IN   transportAddress          -- destination network address
  304.          IN   messageProcessingModel    -- typically, SNMP version
  305.          IN   securityModel             -- Security Model to use
  306.          IN   securityName              -- on behalf of this principal
  307.          IN   securityLevel             -- Level of Security requested
  308.          IN   contextEngineID           -- data from/at this entity
  309.          IN   contextName               -- data from/in this context
  310.          IN   pduVersion                -- the version of the PDU
  311.          IN   PDU                       -- SNMP Protocol Data Unit
  312.          IN   expectResponse            -- TRUE or FALSE
  313.               )
  314.  
  315.    Where:
  316.  
  317.        -  The transportDomain is that of the destination of the message.
  318.  
  319.        -  The transportAddress is that of the destination of the
  320.           message.
  321.  
  322.        -  The messageProcessingModel indicates which Message Processing
  323.           Model the application wishes to use.
  324.  
  325.        -  The securityModel is the security model that the application
  326.           wishes to use.
  327.  
  328.        -  The securityName is the security model independent name for
  329.           the principal on whose behalf the application wishes the
  330.           message is to be generated.
  331.  
  332.        -  The securityLevel is the security level that the application
  333.           wishes to use.
  334.  
  335.  
  336.  
  337.  
  338. Levi, et. al.               Standards Track                     [Page 6]
  339.  
  340. RFC 2263                  SNMPv3 Applications               January 1998
  341.  
  342.  
  343.        -  The contextEngineID is provided by the command generator if it
  344.           wishes to explicitly specify the location of the management
  345.           information it is requesting.
  346.  
  347.        -  The contextName is provided by the command generator if it
  348.           wishes to explicitly specify the local context name for the
  349.           management information it is requesting.
  350.  
  351.        -  The pduVersion indicates the version of the PDU to be sent.
  352.  
  353.        -  The PDU is a value constructed by the command generator
  354.           containing the management operation that the command generator
  355.           wishes to perform.
  356.  
  357.        -  The expectResponse argument indicates that a response is
  358.           expected.
  359.  
  360.    The result of the sendPdu interface indicates whether the PDU was
  361.    successfully sent.  If it was successfully sent, the returned value
  362.    will be a sendPduHandle.  The command generator should store the
  363.    sendPduHandle so that it can correlate a response to the original
  364.    request.
  365.  
  366.    The Dispatcher is responsible for delivering the response to a
  367.    particular request to the correct command generator application.  The
  368.    abstract service interface used is:
  369.  
  370.        processResponsePdu(              -- process Response PDU
  371.          IN   messageProcessingModel    -- typically, SNMP version
  372.          IN   securityModel             -- Security Model in use
  373.          IN   securityName              -- on behalf of this principal
  374.          IN   securityLevel             -- Level of Security
  375.          IN   contextEngineID           -- data from/at this SNMP entity
  376.          IN   contextName               -- data from/in this context
  377.          IN   pduVersion                -- the version of the PDU
  378.          IN   PDU                       -- SNMP Protocol Data Unit
  379.          IN   statusInformation         -- success or errorIndication
  380.          IN   sendPduHandle             -- handle from sendPDU
  381.               )
  382.  
  383.    Where:
  384.  
  385.        -  The messageProcessingModel is the value from the received
  386.           response.
  387.  
  388.        -  The securityModel is the value from the received response.
  389.  
  390.        -  The securityName is the value from the received response.
  391.  
  392.  
  393.  
  394. Levi, et. al.               Standards Track                     [Page 7]
  395.  
  396. RFC 2263                  SNMPv3 Applications               January 1998
  397.  
  398.  
  399.        -  The securityLevel is the value from the received response.
  400.  
  401.        -  The contextEngineID is the value from the received response.
  402.  
  403.        -  The contextName is the value from the received response.
  404.  
  405.        -  The pduVersion indicates the version of the PDU in the
  406.           received response.
  407.  
  408.        -  The PDU is the value from the received response.
  409.  
  410.        -  The statusInformation indicates success or failure in
  411.           receiving the response.
  412.  
  413.        -  The sendPduHandle is the value returned by the sendPdu call
  414.           which generated the original request to which this is a
  415.           response.
  416.  
  417.    The procedure when a command generator receives a message is as
  418.    follows:
  419.  
  420. (1)  If the received values of messageProcessingModel, securityModel,
  421.      securityName, contextEngineID, contextName, and pduVersion are not
  422.      all equal to the values used in the original request, the response
  423.      is discarded.
  424.  
  425. (2)  The operation type, request-id, error-status, error-index, and
  426.      variable-bindings are extracted from the PDU and saved.  If the
  427.      request-id is not equal to the value used in the original request,
  428.      the response is discarded.
  429.  
  430. (3)  At this point, it is up to the application to take an appropriate
  431.      action.  The specific action is implementation dependent.  If the
  432.      statusInformation indicates that the request failed, an appropriate
  433.      action might be to attempt to transmit the request again, or to
  434.      notify the person operating the application that a failure
  435.      occurred.
  436.  
  437. 3.2.  Command Responder Applications
  438.  
  439.    Before a command responder application can process messages, it must
  440.    first associate itself with an SNMP engine.  The abstract service
  441.    interface used for this purpose is:
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450. Levi, et. al.               Standards Track                     [Page 8]
  451.  
  452. RFC 2263                  SNMPv3 Applications               January 1998
  453.  
  454.  
  455.        statusInformation =        -- success or errorIndication
  456.          registerContextEngineID(
  457.          IN   contextEngineID     -- take responsibility for this one
  458.          IN   pduType             -- the pduType(s) to be registered
  459.               )
  460.  
  461.    Where:
  462.  
  463.        -  The statusInformation indicates success or failure of the
  464.           registration attempt.
  465.  
  466.        -  The contextEngineID is equal to the snmpEngineID of the SNMP
  467.           engine with which the command responder is registering.
  468.  
  469.        -  The pduType indicates a Get, GetNext, GetBulk, or Set pdu.
  470.  
  471.    Note that if another command responder application is already
  472.    registered with an SNMP engine, any further attempts to register with
  473.    the same contextEngineID and pduType will be denied.  This implies
  474.    that separate command responder applications could register
  475.    separately for the various pdu types.  However, in practice this is
  476.    undesirable, and only a single command responder application should
  477.    be registered with an SNMP engine at any given time.
  478.  
  479.    A command responder application can disassociate with an SNMP engine
  480.    using the following abstract service interface:
  481.  
  482.        unregisterContextEngineID(
  483.          IN   contextEngineID     -- give up responsibility for this one
  484.          IN   pduType             -- the pduType(s) to be unregistered
  485.               )
  486.  
  487.    Where:
  488.  
  489.        -  The contextEngineID is equal to the snmpEngineID of the SNMP
  490.           engine with which the command responder is cancelling the
  491.           registration.
  492.  
  493.        -  The pduType indicates a Get, GetNext, GetBulk, or Set pdu.
  494.  
  495.    Once the command responder has registered with the SNMP engine, it
  496.    waits to receive SNMP messages.  The abstract service interface used
  497.    for receiving messages is:
  498.  
  499.    processPdu(                     -- process Request/Notification PDU
  500.      IN   messageProcessingModel   -- typically, SNMP version
  501.      IN   securityModel            -- Security Model in use
  502.      IN   securityName             -- on behalf of this principal
  503.  
  504.  
  505.  
  506. Levi, et. al.               Standards Track                     [Page 9]
  507.  
  508. RFC 2263                  SNMPv3 Applications               January 1998
  509.  
  510.  
  511.      IN   securityLevel            -- Level of Security
  512.      IN   contextEngineID          -- data from/at this SNMP entity
  513.      IN   contextName              -- data from/in this context
  514.      IN   pduVersion               -- the version of the PDU
  515.      IN   PDU                      -- SNMP Protocol Data Unit
  516.      IN   maxSizeResponseScopedPDU -- maximum size of the Response PDU
  517.      IN   stateReference           -- reference to state information
  518.           )                        -- needed when sending a response
  519.  
  520.    Where:
  521.  
  522.        -  The messageProcessingModel indicates which Message Processing
  523.           Model received and processed the message.
  524.  
  525.        -  The securityModel is the value from the received message.
  526.  
  527.        -  The securityName is the value from the received message.
  528.  
  529.        -  The securityLevel is the value from the received message.
  530.  
  531.        -  The contextEngineID is the value from the received message.
  532.  
  533.        -  The contextName is the value from the received message.
  534.  
  535.        -  The pduVersion indicates the version of the PDU in the
  536.           received message.
  537.  
  538.        -  The PDU is the value from the received message.
  539.  
  540.        -  The maxSizeResponseScopedPDU is the maximum allowable size of
  541.           a ScopedPDU containing a Response PDU (based on the maximum
  542.           message size that the originator of the message can accept).
  543.  
  544.        -  The stateReference is a value which references cached
  545.           information about each received request message.  This value
  546.           must be returned to the Dispatcher in order to generate a
  547.           response.
  548.  
  549.    The procedure when a message is received is as follows.
  550.  
  551. (1)  The operation type is determined from the ASN.1 tag value
  552.      associated with the PDU parameter.  The operation type should
  553.      always be one of the types previously registered by the
  554.      application.
  555.  
  556. (2)  The request-id is extracted from the PDU and saved.
  557.  
  558.  
  559.  
  560.  
  561.  
  562. Levi, et. al.               Standards Track                    [Page 10]
  563.  
  564. RFC 2263                  SNMPv3 Applications               January 1998
  565.  
  566.  
  567. (3)  If the SNMPv2 operation type is GetBulk, the non-repeaters and
  568.      max-repetitions values are extracted from the PDU and saved.
  569.  
  570. (4)  The variable-bindings are extracted from the PDU and saved.
  571.  
  572. (5)  The management operation represented by the SNMPv2 operation type
  573.      is performed with respect to the relevant MIB view within the
  574.      context named by the contextName, according to the procedures set
  575.      forth in [RFC1905].  The relevant MIB view is determined by the
  576.      securityLevel, securityModel, contextName, securityName, and SNMPv2
  577.      operation type.  To determine whether a particular object instance
  578.      is within the relevant MIB view, the following abstract service
  579.      interface is called:
  580.  
  581.          statusInformation =      -- success or errorIndication
  582.            isAccessAllowed(
  583.            IN   securityModel     -- Security Model in use
  584.            IN   securityName      -- principal who wants to access
  585.            IN   securityLevel     -- Level of Security
  586.            IN   viewType          -- read, write, or notify view
  587.            IN   contextName       -- context containing variableName
  588.            IN   variableName      -- OID for the managed object
  589.                 )
  590.  
  591.      Where:
  592.  
  593.        -  The securityModel is the value from the received message.
  594.  
  595.        -  The securityName is the value from the received message.
  596.  
  597.        -  The securityLevel is the value from the received message.
  598.  
  599.        -  The viewType indicates whether the PDU type is a read or write
  600.           operation.
  601.  
  602.        -  The contextName is the value from the received message.
  603.  
  604.        -  The variableName is the object instance of the variable for
  605.           which access rights are to be checked.
  606.  
  607.      Normally, the result of the management operation will be a new PDU
  608.      value, and processing will continue in step (6) below.  However, at
  609.      any time during the processing of the management operation:
  610.  
  611.        -  If the isAccessAllowed ASI returns a noSuchView,
  612.           noAccessEntry, or noGroupName error, processing of the
  613.           management operation is halted, a PDU value is contructed
  614.           using the values from the originally received PDU, but
  615.  
  616.  
  617.  
  618. Levi, et. al.               Standards Track                    [Page 11]
  619.  
  620. RFC 2263                  SNMPv3 Applications               January 1998
  621.  
  622.  
  623.           replacing the error_status with an authorizationError code,
  624.           and error_index value of 0, and control is passed to step (6)
  625.           below.
  626.  
  627.        -  If the isAccessAllowed ASI returns an otherError, processing
  628.           of the management operation is halted, a different PDU value
  629.           is contructed using the values from the originally received
  630.           PDU, but replacing the error_status with a genError code, and
  631.           control is passed to step (6) below.
  632.  
  633.        -  If the isAccessAllowed ASI returns a noSuchContext error,
  634.           processing of the management operation is halted, no result
  635.           PDU is generated, the snmpUnknownContexts counter is
  636.           incremented, and control is passed to step (6) below.
  637.  
  638.        -  If the context named by the contextName parameter is
  639.           unavailable, processing of the management operation is halted,
  640.           no result PDU is generated, the snmpUnavailableContexts
  641.           counter is incremented, and control is passed to step (6)
  642.           below.
  643.  
  644. (6)  The Dispatcher is called to generate a response or report message.
  645.      The abstract service interface is:
  646.  
  647.      returnResponsePdu(
  648.        IN   messageProcessingModel   -- typically, SNMP version
  649.        IN   securityModel            -- Security Model in use
  650.        IN   securityName             -- on behalf of this principal
  651.        IN   securityLevel            -- same as on incoming request
  652.        IN   contextEngineID          -- data from/at this SNMP entity
  653.        IN   contextName              -- data from/in this context
  654.        IN   pduVersion               -- the version of the PDU
  655.        IN   PDU                      -- SNMP Protocol Data Unit
  656.        IN   maxSizeResponseScopedPDU -- maximum size of the Response PDU
  657.        IN   stateReference           -- reference to state information
  658.                                      -- as presented with the request
  659.        IN   statusInformation        -- success or errorIndication
  660.             )                        -- error counter OID/value if error
  661.  
  662.      Where:
  663.  
  664.        -  The messageProcessingModel is the value from the processPdu
  665.           call.
  666.  
  667.        -  The securityModel is the value from the processPdu call.
  668.  
  669.        -  The securityName is the value from the processPdu call.
  670.  
  671.  
  672.  
  673.  
  674. Levi, et. al.               Standards Track                    [Page 12]
  675.  
  676. RFC 2263                  SNMPv3 Applications               January 1998
  677.  
  678.  
  679.        -  The securityLevel is the value from the processPdu call.
  680.  
  681.        -  The contextEngineID is the value from the processPdu call.
  682.  
  683.        -  The contextName is the value from the processPdu call.
  684.  
  685.        -  The pduVersion indicates the version of the PDU to be
  686.           returned.  If no result PDU was generated, the pduVersion is
  687.           an undefined value.
  688.  
  689.        -  The PDU is the result generated in step (5) above.  If no
  690.           result PDU was generated, the PDU is an undefined value.
  691.  
  692.        -  The maxSizeResponseScopedPDU is a local value indicating the
  693.           maximum size of a ScopedPDU that the application can accept.
  694.  
  695.        -  The stateReference is the value from the processPdu call.
  696.  
  697.        -  The statusInformation either contains an indication that no
  698.           error occurred and that a response should be generated, or
  699.           contains an indication that an error occurred along with the
  700.           OID and counter value of the appropriate error counter object.
  701.  
  702.    Note that a command responder application should always call the
  703.    returnResponsePdu abstract service interface, even in the event of an
  704.    error such as a resource allocation error.  In the event of such an
  705.    error, the PDU value passed to returnResponsePdu should contain
  706.    appropriate values for errorStatus and errorIndex.
  707.  
  708. 3.3.  Notification Originator Applications
  709.  
  710.    A notification originator application generates SNMP notification
  711.    messages.  A notification message may, for example, contain an
  712.    SNMPv2-Trap PDU or an Inform PDU.  However, a particular
  713.    implementation is not required to be capable of generating both types
  714.    of messages.
  715.  
  716.    Notification originator applications require a mechanism for
  717.    identifying the management targets to which notifications should be
  718.    sent.  The particular mechanism used is implementation dependent.
  719.    However, if an implementation makes the configuration of management
  720.    targets SNMP manageable, it MUST use the SNMP-TARGET-MIB module
  721.    described in this document.
  722.  
  723.    When a notification originator wishes to generate a notification, it
  724.    must first determine in which context the information to be conveyed
  725.    in the notification exists, i.e., it must determine the
  726.    contextEngineID and contextName.  It must then determine the set of
  727.  
  728.  
  729.  
  730. Levi, et. al.               Standards Track                    [Page 13]
  731.  
  732. RFC 2263                  SNMPv3 Applications               January 1998
  733.  
  734.  
  735.    management targets to which the notification should be sent.  The
  736.    application must also determine, for each management target, whether
  737.    the notification message should contain an SNMPv2-Trap PDU or Inform
  738.    PDU, and if it is to contain an Inform PDU, the number of retries and
  739.    retransmission algorithm.
  740.  
  741.    The mechanism by which a notification originator determines this
  742.    information is implementation dependent.  Once the application has
  743.    determined this information, the following procedure is performed for
  744.    each management target:
  745.  
  746. (1)  Any appropriate filtering mechanisms are applied to determine
  747.      whether the notification should be sent to the management target.
  748.      If such filtering mechanisms determine that the notification should
  749.      not be sent, processing continues with the next management target.
  750.      Otherwise,
  751.  
  752. (2)  The appropriate set of variable-bindings is retrieved from local
  753.      MIB instrumentation within the relevant MIB view.  The relevant MIB
  754.      view is determined by the securityLevel, securityModel,
  755.      contextName, and securityName of the management target.  To
  756.      determine whether a particular object instance is within the
  757.      relevant MIB view, the isAccessAllowed abstract service interface
  758.      is used, in the same manner as described in the preceding section.
  759.      If the statusInformation returned by isAccessAllowed does not
  760.      indicate accessAllowed, the notification is not sent to the
  761.      management target.
  762.  
  763. (3)  A PDU is constructed using a locally unique request-id value, an
  764.      operation type of SNMPv2-Trap or Inform, an error-status and
  765.      error-index value of 0, and the variable-bindings supplied
  766.      previously in step (2).
  767.  
  768. (4)  If the notification contains an SNMPv2-Trap PDU, the Dispatcher is
  769.      called using the following abstract service interface:
  770.  
  771.          statusInformation =              -- sendPduHandle if success
  772.                                           -- errorIndication if failure
  773.            sendPdu(
  774.            IN   transportDomain           -- transport domain to be used
  775.            IN   transportAddress          -- destination network address
  776.            IN   messageProcessingModel    -- typically, SNMP version
  777.            IN   securityModel             -- Security Model to use
  778.            IN   securityName              -- on behalf of this principal
  779.            IN   securityLevel             -- Level of Security requested
  780.            IN   contextEngineID           -- data from/at this entity
  781.            IN   contextName               -- data from/in this context
  782.            IN   pduVersion                -- the version of the PDU
  783.  
  784.  
  785.  
  786. Levi, et. al.               Standards Track                    [Page 14]
  787.  
  788. RFC 2263                  SNMPv3 Applications               January 1998
  789.  
  790.  
  791.            IN   PDU                       -- SNMP Protocol Data Unit
  792.            IN   expectResponse            -- TRUE or FALSE
  793.                 )
  794.  
  795.      Where:
  796.  
  797.        -  The transportDomain is that of the management target.
  798.  
  799.        -  The transportAddress is that of the management target.
  800.  
  801.        -  The messageProcessingModel is that of the management target.
  802.  
  803.        -  The securityModel is that of the management target.
  804.  
  805.        -  The securityName is that of the management target.
  806.  
  807.        -  The securityLevel is that of the management target.
  808.  
  809.        -  The contextEngineID is the value originally determined for the
  810.           notification.
  811.  
  812.        -  The contextName is the value originally determined for the
  813.           notification.
  814.  
  815.        -  The pduVersion is the version of the PDU to be sent.
  816.  
  817.        -  The PDU is the value constructed in step (3) above.
  818.  
  819.        -  The expectResponse argument indicates that no response is
  820.           expected.
  821.  
  822.      Otherwise,
  823.  
  824. (5)  If the notification contains an Inform PDU, then:
  825.  
  826.       a)  The Dispatcher is called using the sendPdu abstract service
  827.           interface as described in step (4) above, except that the
  828.           expectResponse argument indicates that a response is expected.
  829.  
  830.       b)   The application caches information about the management
  831.           target.
  832.  
  833.       c)  If a response is received within an appropriate time interval
  834.           from the transport endpoint of the management target, the
  835.           notification is considered acknowledged and the cached
  836.           information is deleted.  Otherwise,
  837.  
  838.  
  839.  
  840.  
  841.  
  842. Levi, et. al.               Standards Track                    [Page 15]
  843.  
  844. RFC 2263                  SNMPv3 Applications               January 1998
  845.  
  846.  
  847.       d)  If a response is not received within an appropriate time
  848.           period, or if a report indication is received, information
  849.           about the management target is retrieved from the cache, and
  850.           steps a) through d) are repeated.  The number of times these
  851.           steps are repeated is equal to the previously determined retry
  852.           count.  If this retry count is exceeded, the acknowledgement
  853.           of the notification is considered to have failed, and
  854.           processing of the notification for this management target is
  855.           halted.
  856.  
  857.    Responses to Inform PDU notifications will be received via the
  858.    processResponsePDU abstract service interface.
  859.  
  860. 3.4.  Notification Receiver Applications
  861.  
  862.    Notification receiver applications receive SNMP Notification messages
  863.    from the Dispatcher.  Before any messages can be received, the
  864.    notification receiver must register with the Dispatcher using the
  865.    registerContextEngineID abstract service interface.  The parameters
  866.    used are:
  867.  
  868.        -  The contextEngineID is an undefined 'wildcard' value.
  869.           Notifications are delivered to a registered notification
  870.           receiver regardless of the contextEngineID contained in the
  871.           notification message.
  872.  
  873.        -  The pduType indicates the type of notifications that the
  874.           application wishes to receive (for example, SNMPv2-Trap PDUs
  875.           or Inform PDUs).
  876.  
  877.    Once the notification receiver has registered with the Dispatcher,
  878.    messages are received using the processPdu abstract service
  879.    interface.  Parameters are:
  880.  
  881.        -  The messageProcessingModel indicates which Message Processing
  882.           Model received and processed the message.
  883.  
  884.        -  The securityModel is the value from the received message.
  885.  
  886.        -  The securityName is the value from the received message.
  887.  
  888.        -  The securityLevel is the value from the received message.
  889.  
  890.        -  The contextEngineID is the value from the received message.
  891.  
  892.        -  The contextName is the value from the received message.
  893.  
  894.  
  895.  
  896.  
  897.  
  898. Levi, et. al.               Standards Track                    [Page 16]
  899.  
  900. RFC 2263                  SNMPv3 Applications               January 1998
  901.  
  902.  
  903.        -  The pduVersion indicates the version of the PDU in the
  904.           received message.
  905.  
  906.        -  The PDU is the value from the received message.
  907.  
  908.        -  The maxSizeResponseScopedPDU is the maximum allowable size of
  909.           a ScopedPDU containing a Response PDU (based on the maximum
  910.           message size that the originator of the message can accept).
  911.  
  912.        -  If the message contains an SNMPv2-Trap PDU, the stateReference
  913.           is undefined and unused.  Otherwise, the stateReference is a
  914.           value which references cached information about the
  915.           notification.  This value must be returned to the Dispatcher
  916.           in order to generate a response.
  917.  
  918.    When an SNMPv2-Trap PDU is delivered to a notification receiver
  919.    application, it first extracts the SNMP operation type, request-id,
  920.    error-status, error-index, and variable-bindings from the PDU.  After
  921.    this, processing depends on the particular implementation.
  922.  
  923.    When an Inform PDU is received, the notification receiver application
  924.    follows the following procedure:
  925.  
  926. (1)  The SNMPv2 operation type, request-id, error-status, error-index,
  927.      and variable-bindings are extracted from the PDU.
  928.  
  929. (2)  A Response PDU is constructed using the extracted request-id and
  930.      variable-bindings, and with error-status and error-index both set
  931.      to 0.
  932.  
  933. (3)  The Dispatcher is called to generate a response message using the
  934.      returnResponsePdu abstract service interface.  Parameters are:
  935.  
  936.        -  The messageProcessingModel is the value from the processPdu
  937.           call.
  938.  
  939.        -  The securityModel is the value from the processPdu call.
  940.  
  941.        -  The securityName is the value from the processPdu call.
  942.  
  943.        -  The securityLevel is the value from the processPdu call.
  944.  
  945.        -  The contextEngineID is the value from the processPdu call.
  946.  
  947.        -  The contextName is the value from the processPdu call.
  948.  
  949.        -  The pduVersion indicates the version of the PDU to be
  950.           returned.
  951.  
  952.  
  953.  
  954. Levi, et. al.               Standards Track                    [Page 17]
  955.  
  956. RFC 2263                  SNMPv3 Applications               January 1998
  957.  
  958.  
  959.        -  The PDU is the result generated in step (2) above.
  960.  
  961.        -  The maxSizeResponseScopedPDU is a local value indicating the
  962.           maximum size of a ScopedPDU that the application can accept.
  963.  
  964.        -  The stateReference is the value from the processPdu call.
  965.  
  966.        -  The statusInformation indicates that no error occurred and
  967.           that a response should be generated.
  968.  
  969. 3.5.  Proxy Forwarder Applications
  970.  
  971.    A proxy forwarder application deals with forwarding SNMP messages.
  972.    There are four basic types of messages which a proxy forwarder
  973.    application may need to forward.  These are grouped according to the
  974.    PDU type contained in a message, or according to whether a report
  975.    indication is contained in the message.  The four basic types of
  976.    messages are:
  977.  
  978.        -  Those containing PDU types which were generated by a command
  979.           generator application (for example, Get, GetNext, GetBulk, and
  980.           Set PDU types).  These deal with requesting or modifying
  981.           information located within a particular context.
  982.  
  983.        -  Those containing PDU types which were generated by a
  984.           notification originator application (for example, SNMPv2-Trap
  985.           and Inform PDU types).  These deal with notifications
  986.           concerning information located within a particular context.
  987.  
  988.        -  Those containing a Response PDU type.  Forwarding of Response
  989.           PDUs always occurs as a result of receiving a response to a
  990.           previously forwarded message.
  991.  
  992.        -  Those containing a report indication.  Forwarding of report
  993.           indications always occurs as a result of receiving a report
  994.           indication for a previously forwarded message.
  995.  
  996.    For the first type, the proxy forwarder's role is to deliver a
  997.    request for management information to an SNMP engine which is
  998.    "closer" or "downstream in the path" to the SNMP engine which has
  999.    access to that information, and to deliver the response containing
  1000.    the information back to the SNMP engine from which the request was
  1001.    received.  The context information in a request is used to determine
  1002.    which SNMP engine has access to the requested information, and this
  1003.    is used to determine where and how to forward the request.
  1004.  
  1005.  
  1006.  
  1007.  
  1008.  
  1009.  
  1010. Levi, et. al.               Standards Track                    [Page 18]
  1011.  
  1012. RFC 2263                  SNMPv3 Applications               January 1998
  1013.  
  1014.  
  1015.    For the second type, the proxy forwarder's role is to determine which
  1016.    SNMP engines should receive notifications about management
  1017.    information from a particular location.  The context information in a
  1018.    notification message determines the location to which the information
  1019.    contained in the notification applies.  This is used to determine
  1020.    which SNMP engines should receive notification about this
  1021.    information.
  1022.  
  1023.    For the third type, the proxy forwarder's role is to determine which
  1024.    previously forwarded request or notification (if any) the response
  1025.    matches, and to forward the response back to the initiator of the
  1026.    request or notification.
  1027.  
  1028.    For the fourth type, the proxy forwarder's role is to determine which
  1029.    previously forwarded request or notification (if any) the report
  1030.    indication matches, and to forward the report indication back to the
  1031.    initiator of the request or notification.
  1032.  
  1033.    When forwarding messages, a proxy forwarder application must perform
  1034.    a translation of incoming management target information into outgoing
  1035.    management target information.  How this translation is performed is
  1036.    implementation specific.  In many cases, this will be driven by a
  1037.    preconfigured translation table.  If a proxy forwarder application
  1038.    makes the contents of this table SNMP manageable, it MUST use the
  1039.    SNMP-PROXY-MIB module defined in this document.
  1040.  
  1041. 3.5.1.  Request Forwarding
  1042.  
  1043.    There are two phases for request forwarding.  First, the incoming
  1044.    request needs to be passed through the proxy application.  Then, the
  1045.    resulting response needs to be passed back.  These phases are
  1046.    described in the following two sections.
  1047.  
  1048. 3.5.1.1.  Processing an Incoming Request
  1049.  
  1050.    A proxy forwarder application that wishes to forward request messages
  1051.    must first register with the Dispatcher using the
  1052.    registerContextEngineID abstract service interface.  The proxy
  1053.    forwarder must register each contextEngineID for which it wishes to
  1054.    forward messages, as well as for each pduType.  Note that as the
  1055.    configuration of a proxy forwarder is changed, the particular
  1056.    contextEngineID values for which it is forwarding may change.  The
  1057.    proxy forwarder should call the registerContextEngineID and
  1058.    unregisterContextEngineID abstract service interfaces as needed to
  1059.    reflect its current configuration.
  1060.  
  1061.  
  1062.  
  1063.  
  1064.  
  1065.  
  1066. Levi, et. al.               Standards Track                    [Page 19]
  1067.  
  1068. RFC 2263                  SNMPv3 Applications               January 1998
  1069.  
  1070.  
  1071.    A proxy forwarder application should never attempt to register a
  1072.    value of contextEngineID which is equal to the snmpEngineID of the
  1073.    SNMP engine to which the proxy forwarder is associated.
  1074.  
  1075.    Once the proxy forwarder has registered for the appropriate
  1076.    contextEngineId values, it can start processing messages.  The
  1077.    following procedure is used:
  1078.  
  1079. (1)  A message is received using the processPdu abstract service
  1080.      interface.  The incoming management target information received
  1081.      from the processPdu interface is translated into outgoing
  1082.      management target information.  Note that this translation may vary
  1083.      for different values of contextEngineID and/or contextName.  The
  1084.      translation should result in a single management target.
  1085.  
  1086. (2)  If appropriate outgoing management target information cannot be
  1087.      found, the proxy forwarder increments the snmpProxyDrops counter
  1088.      [RFC1907], and then calls the Dispatcher using the
  1089.      returnResponsePdu abstract service interface.  Parameters are:
  1090.  
  1091.        -  The messageProcessingModel is the value from the processPdu
  1092.           call.
  1093.  
  1094.        -  The securityModel is the value from the processPdu call.
  1095.  
  1096.        -  The securityName is the value from the processPdu call.
  1097.  
  1098.        -  The securityLevel is the value from the processPdu call.
  1099.  
  1100.        -  The contextEngineID is the value from the processPdu call.
  1101.  
  1102.        -  The contextName is the value from the processPdu call.
  1103.  
  1104.        -  The pduVersion is the value from the processPdu call.
  1105.  
  1106.        -  The PDU is an undefined value.
  1107.  
  1108.        -  The maxSizeResponseScopedPDU is a local value indicating the
  1109.           maximum size of a ScopedPDU that the application can accept.
  1110.  
  1111.        -  The stateReference is the value from the processPdu call.
  1112.  
  1113.        -  The statusInformation indicates that an error occurred and
  1114.           includes the OID and value of the snmpProxyDrops object.
  1115.  
  1116.      Processing of the message stops at this point.  Otherwise,
  1117.  
  1118.  
  1119.  
  1120.  
  1121.  
  1122. Levi, et. al.               Standards Track                    [Page 20]
  1123.  
  1124. RFC 2263                  SNMPv3 Applications               January 1998
  1125.  
  1126.  
  1127. (3)  A new PDU is constructed.  A unique value of request-id should be
  1128.      used in the new PDU (this value will enable a subsequent response
  1129.      message to be correlated with this request).  The remainder of the
  1130.      new PDU is identical to the received PDU, unless the incoming SNMP
  1131.      version is SNMPv2 or SNMPv3 and the outgoing SNMP version is
  1132.      SNMPv1, in which case the proxy forwarder must apply the
  1133.      translation rules as documented in [RFC1908].
  1134.  
  1135. (4)  The proxy forwarder calls the Dispatcher to generate the forwarded
  1136.      message, using the sendPdu abstract service interface.  The
  1137.      parameters are:
  1138.  
  1139.        -  The transportDomain is that of the outgoing management target.
  1140.  
  1141.        -  The transportAddress is that of the outgoing management
  1142.           target.
  1143.  
  1144.        -  The messageProcessingModel is that of the outgoing management
  1145.           target.
  1146.  
  1147.        -  The securityModel is that of the outgoing management target.
  1148.  
  1149.        -  The securityName is that of the outgoing management target.
  1150.  
  1151.        -  The securityLevel is that of the outgoing management target.
  1152.  
  1153.        -  The contextEngineID is the value originally received.
  1154.  
  1155.        -  The contextName is the value originally received.
  1156.  
  1157.        -  The pduVersion is the version of the PDU to be sent.
  1158.  
  1159.        -  The PDU is the value constructed in step (3) above.
  1160.  
  1161.        -  The expectResponse argument indicates that a response is
  1162.           expected.  If the sendPdu call is unsuccessful, the proxy
  1163.           forwarder performs the steps described in (2) above.
  1164.           Otherwise:
  1165.  
  1166. (5)  The proxy forwarder caches the following information in order to
  1167.      match an incoming response to the forwarded request:
  1168.  
  1169.        -  The sendPduHandle returned from the call to sendPdu,
  1170.  
  1171.        -  The request-id from the received PDU.
  1172.  
  1173.        -  the contextEngineID,
  1174.  
  1175.  
  1176.  
  1177.  
  1178. Levi, et. al.               Standards Track                    [Page 21]
  1179.  
  1180. RFC 2263                  SNMPv3 Applications               January 1998
  1181.  
  1182.  
  1183.        -  the contextName,
  1184.  
  1185.        -  the stateReference,
  1186.  
  1187.        -  the incoming management target information,
  1188.  
  1189.        -  the outgoing management information,
  1190.  
  1191.        -  any other information needed to match an incoming response to
  1192.           the forwarded request.
  1193.  
  1194.      If this information cannot be cached (possibly due to a lack of
  1195.      resources), the proxy forwarder performs the steps described in (2)
  1196.      above.  Otherwise:
  1197.  
  1198. (6)  Processing of the request stops until a response to the forwarded
  1199.      request is received, or until an appropriate time interval has
  1200.      expired.  If this time interval expires before a response has been
  1201.      received, the cached information about this request is removed.
  1202.  
  1203. 3.5.1.2.  Processing an Incoming Response
  1204.  
  1205.    A proxy forwarder follows the following procedure when an incoming
  1206.    response is received:
  1207.  
  1208. (1)  The incoming response is received using the processResponsePdu
  1209.      interface.  The proxy forwarder uses the received parameters to
  1210.      locate an entry in its cache of pending forwarded requests.  This
  1211.      is done by matching the received parameters with the cached values
  1212.      of sendPduHandle, contextEngineID, contextName, outgoing management
  1213.      target information, and the request-id contained in the received
  1214.      PDU (the proxy forwarder must extract the request-id for this
  1215.      purpose).  If an appropriate cache entry cannot be found,
  1216.      processing of the response is halted.  Otherwise:
  1217.  
  1218. (2)  The cache information is extracted, and removed from the cache.
  1219.  
  1220. (3)  A new Response PDU is constructed, using the request-id value from
  1221.      the original forwarded request (as extracted from the cache).  All
  1222.      other values are identical to those in the received Response PDU.
  1223.  
  1224. (4)  If the incoming SNMP version is SNMPv1 and the outgoing SNMP
  1225.      version is SNMPv2 or SNMPv3, the proxy forwarder must apply the
  1226.      translation rules documented in [RFC1908].
  1227.  
  1228. (5)  The proxy forwarder calls the Dispatcher using the
  1229.      returnResponsePdu abstract service interface.  Parameters are:
  1230.  
  1231.  
  1232.  
  1233.  
  1234. Levi, et. al.               Standards Track                    [Page 22]
  1235.  
  1236. RFC 2263                  SNMPv3 Applications               January 1998
  1237.  
  1238.  
  1239.        -  The messageProcessingModel indicates the Message Processing
  1240.           Model by which the original incoming message was processed.
  1241.  
  1242.        -  The securityModel is that of the original incoming management
  1243.           target extracted from the cache.
  1244.  
  1245.        -  The securityName is that of the original incoming management
  1246.           target extracted from the cache.
  1247.  
  1248.        -  The securityLevel is that of the original incoming management
  1249.           target extracted from the cache.
  1250.  
  1251.        -  The contextEngineID is the value extracted from the cache.
  1252.  
  1253.        -  The contextName is the value extracted from the cache.
  1254.  
  1255.        -  The pduVersion indicates the version of the PDU to be
  1256.           returned.
  1257.  
  1258.        -  The PDU is the (possibly translated) Response PDU.
  1259.  
  1260.        -  The maxSizeResponseScopedPDU is a local value indicating the
  1261.           maximum size of a ScopedPDU that the application can accept.
  1262.  
  1263.        -  The stateReference is the value extracted from the cache.
  1264.  
  1265.        -  The statusInformation indicates that no error occurred and
  1266.           that a Response PDU message should be generated.
  1267.  
  1268. 3.5.1.3.  Processing an Incoming Report Indication
  1269.  
  1270.    A proxy forwarder follows the following procedure when an incoming
  1271.    report indication is received:
  1272.  
  1273. (1)  The incoming report indication is received using the
  1274.      processResponsePdu interface.  The proxy forwarder uses the
  1275.      received parameters to locate an entry in its cache of pending
  1276.      forwarded requests.  This is done by matching the received
  1277.      parameters with the cached values of sendPduHandle.  If an
  1278.      appropriate cache entry cannot be found, processing of the report
  1279.      indication is halted.  Otherwise:
  1280.  
  1281. (2)  The cache information is extracted, and removed from the cache.
  1282.  
  1283. (3)  If the original incoming management target information indicates
  1284.      SNMPv1, processing of the report indication is halted.
  1285.  
  1286.  
  1287.  
  1288.  
  1289.  
  1290. Levi, et. al.               Standards Track                    [Page 23]
  1291.  
  1292. RFC 2263                  SNMPv3 Applications               January 1998
  1293.  
  1294.  
  1295. (4)  The proxy forwarder calls the Dispatcher using the
  1296.      returnResponsePdu abstract service interface.  Parameters are:
  1297.  
  1298.        -  The messageProcessingModel indicates the Message Processing
  1299.           Model by which the original incoming message was processed.
  1300.  
  1301.        -  The securityModel is that of the original incoming management
  1302.           target extracted from the cache.
  1303.  
  1304.        -  The securityName is that of the original incoming management
  1305.           target extracted from the cache.
  1306.  
  1307.        -  The securityLevel is that of the original incoming management
  1308.           target extracted from the cache.
  1309.  
  1310.        -  The contextEngineID is the value extracted from the cache.
  1311.  
  1312.        -  The contextName is the value extracted from the cache.
  1313.  
  1314.        -  The pduVersion indicates the version of the PDU to be
  1315.           returned.
  1316.  
  1317.        -  The PDU is unused.
  1318.  
  1319.        -  The maxSizeResponseScopedPDU is a local value indicating the
  1320.           maximum size of a ScopedPDU that the application can accept.
  1321.  
  1322.        -  The stateReference is the value extracted from the cache.
  1323.  
  1324.        -  The statusInformation contain the contextEngineID,
  1325.           contextName, counter OID, and counter value received in the
  1326.           report indication.
  1327.  
  1328. 3.5.2.  Notification Forwarding
  1329.  
  1330.    A proxy forwarder receives notifications in the same manner as a
  1331.    notification receiver application, using the processPdu abstract
  1332.    service interface.  The following procedure is used when a
  1333.    notification is received:
  1334.  
  1335. (1)  The incoming management target information received from the
  1336.      processPdu interface is translated into outgoing management target
  1337.      information.  Note that this translation may vary for different
  1338.      values of contextEngineId and/or contextName.  The translation may
  1339.      result in multiple management targets.
  1340.  
  1341.  
  1342.  
  1343.  
  1344.  
  1345.  
  1346. Levi, et. al.               Standards Track                    [Page 24]
  1347.  
  1348. RFC 2263                  SNMPv3 Applications               January 1998
  1349.  
  1350.  
  1351. (2)  If appropriate outgoing management target information cannot be
  1352.      found and the notification was a Trap, processing of the
  1353.      notification is halted.  If appropriate outgoing management target
  1354.      information cannot be found and the notification was an Inform, the
  1355.      proxy forwarder increments the snmpProxyDrops object, and calls the
  1356.      Dispatcher using the returnResponsePdu abstract service interface.
  1357.  
  1358.      The parameters are:
  1359.  
  1360.        -  The messageProcessingModel is the received value.
  1361.  
  1362.        -  The securityModel is the received value.
  1363.  
  1364.        -  The securityName is the received value.
  1365.  
  1366.        -  The securityLevel is the received value.
  1367.  
  1368.        -  The contextEngineID is the received value.
  1369.  
  1370.        -  The contextName is the received value.
  1371.  
  1372.        -  The pduVersion is the received value.
  1373.  
  1374.        -  The PDU is an undefined and unused value.
  1375.  
  1376.        -  The maxSizeResponseScopedPDU is a local value indicating the
  1377.           maximum size of a ScopedPDU that the application can accept.
  1378.  
  1379.        -  The stateReference is the received value.
  1380.  
  1381.        -  The statusInformation indicates that an error occurred and
  1382.           that a Report message should be generated.
  1383.  
  1384.      Processing of the message stops at this point.  Otherwise,
  1385.  
  1386. (3)  The proxy forwarder generates a notification using the procedures
  1387.      described in the preceding section on Notification Originators,
  1388.      with the following exceptions:
  1389.  
  1390.        -  The contextEngineID and contextName values from the original
  1391.           received notification are used.
  1392.  
  1393.        -  The outgoing management targets previously determined are
  1394.           used.
  1395.  
  1396.        -  No filtering mechanisms are applied.
  1397.  
  1398.  
  1399.  
  1400.  
  1401.  
  1402. Levi, et. al.               Standards Track                    [Page 25]
  1403.  
  1404. RFC 2263                  SNMPv3 Applications               January 1998
  1405.  
  1406.  
  1407.        -  The variable-bindings from the original received notification
  1408.           are used, rather than retrieving variable-bindings from local
  1409.           MIB instrumentation.  In particular, no access-control is
  1410.           applied to these variable-bindings.
  1411.  
  1412.        -  If for any of the outgoing management targets, the incoming
  1413.           SNMP version is SNMPv1 and the outgoing SNMP version is SNMPv2
  1414.           or SNMPv3, the proxy forwarder must apply the translation
  1415.           rules as documented in [RFC1908].
  1416.  
  1417.        -  If for any of the outgoing management targets, the incoming
  1418.           SNMP version is SNMPv2 or SNMPv3, and the outgoing SNMP
  1419.           version is SNMPv1, this outgoing management target is not used
  1420.           when generating the forwarded notifications.
  1421.  
  1422. (4)  If the original received notification contains an SNMPv2-Trap PDU,
  1423.      processing of the notification is now completed.  Otherwise, the
  1424.      original received notification must contain an Inform PDU, and
  1425.      processing continues.
  1426.  
  1427. (5)  If the forwarded notifications included any Inform PDUs, processing
  1428.      continues when the procedures described in the section for
  1429.      Notification Originators determine that either:
  1430.  
  1431.        -  None of the generated notifications containing Inform PDUs
  1432.           have been successfully acknowledged within the longest of the
  1433.           time intervals, in which case processing of the original
  1434.           notification is halted, or,
  1435.  
  1436.        -  At least one of the generated notifications containing Inform
  1437.           PDUs is successfully acknowledged, in which case a response to
  1438.           the original received notification containing an Inform PDU is
  1439.           generated as described in the following steps.
  1440.  
  1441. (6)  A Response PDU is constructed, using the values of request-id and
  1442.      variable-bindings from the original received Inform PDU, and
  1443.      error-status and error-index values of 0.
  1444.  
  1445. (7)  The Dispatcher is called using the returnResponsePdu abstract
  1446.      service interface.  Parameters are:
  1447.  
  1448.        -  The messageProcessingModel is the originally received value.
  1449.  
  1450.        -  The securityModel is the originally received value.
  1451.  
  1452.        -  The securityName is the originally received value.
  1453.  
  1454.        -  The securityLevel is the originally received value.
  1455.  
  1456.  
  1457.  
  1458. Levi, et. al.               Standards Track                    [Page 26]
  1459.  
  1460. RFC 2263                  SNMPv3 Applications               January 1998
  1461.  
  1462.  
  1463.        -  The contextEngineID is the originally received value.
  1464.  
  1465.        -  The contextName is the originally received value.
  1466.  
  1467.        -  The pduVersion indicates the version of the PDU constructed in
  1468.           step (6) above.
  1469.  
  1470.        -  The PDU is the value constructed in step (6) above.
  1471.  
  1472.        -  The maxSizeResponseScopedPDU is a local value indicating the
  1473.           maximum size of a ScopedPDU that the application can accept.
  1474.  
  1475.        -  The stateReference is the originally received value.
  1476.  
  1477.        -  The statusInformation indicates that no error occurred and
  1478.           that a Response PDU message should be generated.
  1479.  
  1480. 4.  The Structure of the MIB Modules
  1481.  
  1482.    There are three separate MIB modules described in this document, the
  1483.    management target MIB, the notification MIB, and the proxy MIB.  The
  1484.    following sections describe the structure of these three MIB modules.
  1485.  
  1486.    The use of these MIBs by particular types of applications is
  1487.    described later in this document:
  1488.  
  1489.        -  The use of the management target MIB and the notification MIB
  1490.           in notification originator applications is described in
  1491.           section 6.
  1492.  
  1493.        -  The use of the notification MIB for filtering notifications in
  1494.           notification originator applications is described in section
  1495.           7.
  1496.  
  1497.        -  The use of the management target MIB and the proxy MIB in
  1498.           proxy forwarding applications is described in section 8.
  1499.  
  1500. 4.1.  The Management Target MIB Module
  1501.  
  1502.    The SNMP-TARGET-MIB module contains objects for defining management
  1503.    targets.  It consists of two tables and conformance/compliance
  1504.    statements.
  1505.  
  1506.    The first table, the snmpTargetAddrTable, contains information about
  1507.    transport domains and addresses.  It also contains an object,
  1508.    snmpTargetAddrTagList, which provides a mechanism for grouping
  1509.    entries.
  1510.  
  1511.  
  1512.  
  1513.  
  1514. Levi, et. al.               Standards Track                    [Page 27]
  1515.  
  1516. RFC 2263                  SNMPv3 Applications               January 1998
  1517.  
  1518.  
  1519.    The second table, the snmpTargetParamsTable, contains information
  1520.    about SNMP version and security information to be used when sending
  1521.    messages to particular transport domains and addresses.
  1522.  
  1523. 4.1.1.  Tag Lists
  1524.  
  1525.    The snmpTargetAddrTagList object is used for grouping entries in the
  1526.    snmpTargetAddrTable.  The value of this object contains a list of tag
  1527.    values which are used to select target addresses to be used for a
  1528.    particular operation.
  1529.  
  1530.    A tag value, which may also be used in MIB objects other than
  1531.    snmpTargetAddrTagList, is an arbitrary string of octets, but may not
  1532.    contain a delimiter character.  Delimiter characters are defined to
  1533.    be one of the following characters:
  1534.  
  1535.        -  An ASCII space character (0x20).
  1536.  
  1537.        -  An ASCII TAB character (0x09).
  1538.  
  1539.        -  An ASCII carriage return (CR) character (0x0D).
  1540.  
  1541.        -  An ASCII line feed (LF) character (0x0B).
  1542.  
  1543.    In addition, a tag value may not have a zero length.  Generally, a
  1544.    particular MIB object may contain either
  1545.  
  1546.        -  a single tag value, in which case the value of the MIB object
  1547.           may not contain a delimiter character, or:
  1548.  
  1549.        -  a MIB object may contain a list of tag values, separated by
  1550.           single delimiter characters.
  1551.  
  1552.    For a list of tag values, these constraints imply certain
  1553.    restrictions on the value of a MIB object:
  1554.  
  1555.        -  There cannot be a leading or trailing delimiter character.
  1556.  
  1557.        -  There cannot be multiple adjacent delimiter charaters.
  1558.  
  1559. 4.1.2.  Definitions
  1560.  
  1561.    SNMP-TARGET-MIB DEFINITIONS ::= BEGIN
  1562.  
  1563.    IMPORTS
  1564.        TEXTUAL-CONVENTION,
  1565.        MODULE-IDENTITY,
  1566.        OBJECT-TYPE,
  1567.  
  1568.  
  1569.  
  1570. Levi, et. al.               Standards Track                    [Page 28]
  1571.  
  1572. RFC 2263                  SNMPv3 Applications               January 1998
  1573.  
  1574.  
  1575.        snmpModules,
  1576.        Integer32
  1577.            FROM SNMPv2-SMI
  1578.  
  1579.        TDomain,
  1580.        TAddress,
  1581.        TimeInterval,
  1582.        RowStatus,
  1583.        StorageType,
  1584.        TestAndIncr
  1585.            FROM SNMPv2-TC
  1586.        SnmpSecurityModel,
  1587.        SnmpMessageProcessingModel,
  1588.        SnmpSecurityLevel,
  1589.        SnmpAdminString
  1590.            FROM SNMP-FRAMEWORK-MIB
  1591.  
  1592.        OBJECT-GROUP
  1593.            FROM SNMPv2-CONF;
  1594.  
  1595.    snmpTargetMIB MODULE-IDENTITY
  1596.        LAST-UPDATED "9711210000Z"
  1597.        ORGANIZATION "IETF SNMPv3 Working Group"
  1598.        CONTACT-INFO
  1599.            "WG-email:   snmpv3@tis.com
  1600.             Subscribe:  majordomo@tis.com
  1601.                         In message body:  subscribe snmpv3
  1602.  
  1603.             Chair:      Russ Mundy
  1604.                         Trusted Information Systems
  1605.             Postal:     3060 Washington Rd
  1606.                         Glenwood MD 21738
  1607.                         USA
  1608.             Email:      mundy@tis.com
  1609.             Phone:      +1-301-854-6889
  1610.  
  1611.             Co-editor:  David B. Levi
  1612.                         SNMP Research, Inc.
  1613.             Postal:     3001 Kimberlin Heights Road
  1614.                         Knoxville, TN 37920-9716
  1615.             E-mail:     levi@snmp.com
  1616.             Phone:      +1 423 573 1434
  1617.  
  1618.             Co-editor:  Paul Meyer
  1619.                         Secure Computing Corporation
  1620.             Postal:     2675 Long Lake Road
  1621.                         Roseville, MN 55113
  1622.             E-mail:     paul_meyer@securecomputing.com
  1623.  
  1624.  
  1625.  
  1626. Levi, et. al.               Standards Track                    [Page 29]
  1627.  
  1628. RFC 2263                  SNMPv3 Applications               January 1998
  1629.  
  1630.  
  1631.             Phone:      +1 612 628 1592
  1632.  
  1633.             Co-editor:  Bob Stewart
  1634.                         Cisco Systems, Inc.
  1635.             Postal:     170 West Tasman Drive
  1636.                         San Jose, CA 95134-1706
  1637.             E-mail:     bstewart@cisco.com
  1638.             Phone:      +1 603 654 6923"
  1639.        DESCRIPTION
  1640.            "This MIB module defines MIB objects which provide
  1641.             mechanisms to remotely configure the parameters used
  1642.             by an SNMP entity for the generation of SNMP messages."
  1643.        REVISION        "9707140000Z"
  1644.        DESCRIPTION
  1645.            "The initial revision."
  1646.        ::= { snmpModules 7 }
  1647.  
  1648.    snmpTargetObjects       OBJECT IDENTIFIER ::= { snmpTargetMIB 1 }
  1649.    snmpTargetConformance   OBJECT IDENTIFIER ::= { snmpTargetMIB 3 }
  1650.  
  1651.    SnmpTagValue ::= TEXTUAL-CONVENTION
  1652.        DISPLAY-HINT "255a"
  1653.        STATUS       current
  1654.        DESCRIPTION
  1655.            "An octet string containing a tag value.
  1656.             Tag values are preferably in human-readable form.
  1657.  
  1658.             To facilitate internationalization, this information
  1659.             is represented using the ISO/IEC IS 10646-1 character
  1660.             set, encoded as an octet string using the UTF-8
  1661.             character encoding scheme described in RFC 2044.
  1662.  
  1663.             Since additional code points are added by amendments
  1664.             to the 10646 standard from time to time,
  1665.             implementations must be prepared to encounter any code
  1666.             point from 0x00000000 to 0x7fffffff.
  1667.  
  1668.             The use of control codes should be avoided, and certain
  1669.             control codes are not allowed as described below.
  1670.  
  1671.             For code points not directly supported by user
  1672.             interface hardware or software, an alternative means
  1673.             of entry and display, such as hexadecimal, may be
  1674.             provided.
  1675.  
  1676.             For information encoded in 7-bit US-ASCII, the UTF-8
  1677.             representation is identical to the US-ASCII encoding.
  1678.  
  1679.  
  1680.  
  1681.  
  1682. Levi, et. al.               Standards Track                    [Page 30]
  1683.  
  1684. RFC 2263                  SNMPv3 Applications               January 1998
  1685.  
  1686.  
  1687.             Note that when this TC is used for an object that
  1688.             is used or envisioned to be used as an index, then a
  1689.             SIZE restriction must be specified so that the number
  1690.             sub-identifiers for any object instance do not exceed
  1691.             the limit of 128, as defined by [RFC1905].
  1692.  
  1693.             An object of this type contains a single tag value
  1694.             which is used to select a set of entries in a table.
  1695.             A tag value is an arbitrary string of octets, but
  1696.             may not contain a delimiter character.  Delimiter
  1697.             characters are defined to be one of the following:
  1698.  
  1699.                 -  An ASCII space character (0x20).
  1700.  
  1701.                 -  An ASCII TAB character (0x09).
  1702.  
  1703.                 -  An ASCII carriage return (CR) character (0x0D).
  1704.  
  1705.                 -  An ASCII line feed (LF) character (0x0B).
  1706.  
  1707.             Delimiter characters are used to separate tag values
  1708.             in a tag list.  An object of this type may only
  1709.             contain a single tag value, and so delimiter
  1710.             characters are not allowed in a value of this type.
  1711.  
  1712.             Some examples of valid tag values are:
  1713.  
  1714.                 - 'acme'
  1715.  
  1716.                 - 'router'
  1717.  
  1718.                 - 'host'
  1719.  
  1720.             The use of a tag value to select table entries is
  1721.             application and MIB specific."
  1722.        SYNTAX       OCTET STRING (SIZE (0..255))
  1723.  
  1724.    SnmpTagList ::= TEXTUAL-CONVENTION
  1725.        DISPLAY-HINT "255a"
  1726.        STATUS       current
  1727.        DESCRIPTION
  1728.            "An octet string containing a list of tag values.
  1729.             Tag values are preferably in human-readable form.
  1730.  
  1731.             To facilitate internationalization, this information
  1732.             is represented using the ISO/IEC IS 10646-1 character
  1733.             set, encoded as an octet string using the UTF-8
  1734.             character encoding scheme described in RFC 2044.
  1735.  
  1736.  
  1737.  
  1738. Levi, et. al.               Standards Track                    [Page 31]
  1739.  
  1740. RFC 2263                  SNMPv3 Applications               January 1998
  1741.  
  1742.  
  1743.             Since additional code points are added by amendments
  1744.             to the 10646 standard from time to time,
  1745.             implementations must be prepared to encounter any code
  1746.             point from 0x00000000 to 0x7fffffff.
  1747.  
  1748.             The use of control codes should be avoided, except as
  1749.             described below.
  1750.  
  1751.             For code points not directly supported by user
  1752.             interface hardware or software, an alternative means
  1753.             of entry and display, such as hexadecimal, may be
  1754.             provided.
  1755.  
  1756.             For information encoded in 7-bit US-ASCII, the UTF-8
  1757.             representation is identical to the US-ASCII encoding.
  1758.  
  1759.             An object of this type contains a list of tag values
  1760.             which are used to select a set of entries in a table.
  1761.  
  1762.             A tag value is an arbitrary string of octets, but
  1763.             may not contain a delimiter character.  Delimiter
  1764.             characters are defined to be one of the following:
  1765.  
  1766.                 -  An ASCII space character (0x20).
  1767.  
  1768.                 -  An ASCII TAB character (0x09).
  1769.  
  1770.                 -  An ASCII carriage return (CR) character (0x0D).
  1771.  
  1772.                 -  An ASCII line feed (LF) character (0x0B).
  1773.  
  1774.             Delimiter characters are used to separate tag values
  1775.             in a tag list.  Only a single delimiter character may
  1776.             occur between two tag values.  A tag value may not
  1777.             have a zero length.  These constraints imply certain
  1778.             restrictions on the contents of this object:
  1779.  
  1780.                 - There cannot be a leading or trailing delimiter
  1781.                   character.
  1782.  
  1783.                 - There cannot be multiple adjacent delimiter
  1784.                   characters.
  1785.  
  1786.             Some examples of valid tag lists are:
  1787.  
  1788.                 - An empty string
  1789.  
  1790.                 - 'acme router'
  1791.  
  1792.  
  1793.  
  1794. Levi, et. al.               Standards Track                    [Page 32]
  1795.  
  1796. RFC 2263                  SNMPv3 Applications               January 1998
  1797.  
  1798.  
  1799.                 - 'host managerStation'
  1800.  
  1801.             Note that although a tag value may not have a length of
  1802.             zero, an empty string is still valid.  This indicates
  1803.             an empty list (i.e. there are no tag values in the list).
  1804.  
  1805.             The use of the tag list to select table entries is
  1806.             application and MIB specific.  Typically, an application
  1807.             will provide one or more tag values, and any entry
  1808.             which contains some combination of these tag values
  1809.             will be selected."
  1810.        SYNTAX       OCTET STRING (SIZE (0..255))
  1811.  
  1812.    --
  1813.    --
  1814.    -- The snmpTargetObjects group
  1815.    --
  1816.    --
  1817.  
  1818.    snmpTargetSpinLock OBJECT-TYPE
  1819.        SYNTAX      TestAndIncr
  1820.        MAX-ACCESS  read-write
  1821.        STATUS      current
  1822.        DESCRIPTION
  1823.            "This object is used to facilitate modification of table
  1824.             entries in the SNMP-TARGET-MIB module by multiple
  1825.             managers.  In particular, it is useful when modifying
  1826.             the value of the snmpTargetAddrTagList object.
  1827.  
  1828.             The procedure for modifying the snmpTargetAddrTagList
  1829.             object is as follows:
  1830.  
  1831.                 1.  Retrieve the value of snmpTargetSpinLock and
  1832.                     of snmpTargetAddrTagList.
  1833.  
  1834.                 2.  Generate a new value for snmpTargetAddrTagList.
  1835.  
  1836.                 3.  Set the value of snmpTargetSpinLock to the
  1837.                     retrieved value, and the value of
  1838.                     snmpTargetAddrTagList to the new value.  If
  1839.                     the set fails for the snmpTargetSpinLock
  1840.                     object, go back to step 1."
  1841.        ::= { snmpTargetObjects 1 }
  1842.  
  1843.    snmpTargetAddrTable OBJECT-TYPE
  1844.        SYNTAX      SEQUENCE OF SnmpTargetAddrEntry
  1845.        MAX-ACCESS  not-accessible
  1846.        STATUS      current
  1847.  
  1848.  
  1849.  
  1850. Levi, et. al.               Standards Track                    [Page 33]
  1851.  
  1852. RFC 2263                  SNMPv3 Applications               January 1998
  1853.  
  1854.  
  1855.        DESCRIPTION
  1856.            "A table of transport addresses to be used in the generation
  1857.             of SNMP messages."
  1858.  
  1859.        ::= { snmpTargetObjects 2 }
  1860.  
  1861.    snmpTargetAddrEntry OBJECT-TYPE
  1862.        SYNTAX      SnmpTargetAddrEntry
  1863.        MAX-ACCESS  not-accessible
  1864.        STATUS      current
  1865.        DESCRIPTION
  1866.            "A transport address to be used in the generation
  1867.             of SNMP operations.
  1868.  
  1869.             Entries in the snmpTargetAddrTable are created and
  1870.             deleted using the snmpTargetAddrRowStatus object."
  1871.        INDEX { IMPLIED snmpTargetAddrName }
  1872.        ::= { snmpTargetAddrTable 1 }
  1873.  
  1874.    SnmpTargetAddrEntry ::= SEQUENCE {
  1875.        snmpTargetAddrName         SnmpAdminString,
  1876.        snmpTargetAddrTDomain      TDomain,
  1877.        snmpTargetAddrTAddress     TAddress,
  1878.        snmpTargetAddrTimeout      TimeInterval,
  1879.        snmpTargetAddrRetryCount   Integer32,
  1880.        snmpTargetAddrTagList      SnmpTagList,
  1881.        snmpTargetAddrParams       SnmpAdminString,
  1882.        snmpTargetAddrStorageType  StorageType,
  1883.        snmpTargetAddrRowStatus    RowStatus
  1884.    }
  1885.  
  1886.    snmpTargetAddrName OBJECT-TYPE
  1887.        SYNTAX      SnmpAdminString (SIZE(1..32))
  1888.        MAX-ACCESS  not-accessible
  1889.        STATUS      current
  1890.        DESCRIPTION
  1891.            "The locally arbitrary, but unique identifier associated
  1892.             with this snmpTargetAddrEntry."
  1893.        ::= { snmpTargetAddrEntry 1 }
  1894.  
  1895.    snmpTargetAddrTDomain OBJECT-TYPE
  1896.        SYNTAX      TDomain
  1897.        MAX-ACCESS  read-create
  1898.        STATUS      current
  1899.        DESCRIPTION
  1900.            "This object indicates the transport type of the address
  1901.             contained in the snmpTargetAddrTAddress object."
  1902.        ::= { snmpTargetAddrEntry 2 }
  1903.  
  1904.  
  1905.  
  1906. Levi, et. al.               Standards Track                    [Page 34]
  1907.  
  1908. RFC 2263                  SNMPv3 Applications               January 1998
  1909.  
  1910.  
  1911.    snmpTargetAddrTAddress OBJECT-TYPE
  1912.        SYNTAX      TAddress
  1913.        MAX-ACCESS  read-create
  1914.        STATUS      current
  1915.        DESCRIPTION
  1916.            "This object contains a transport address.  The format of
  1917.             this address depends on the value of the
  1918.             snmpTargetAddrTDomain object."
  1919.        ::= { snmpTargetAddrEntry 3 }
  1920.  
  1921.    snmpTargetAddrTimeout OBJECT-TYPE
  1922.        SYNTAX      TimeInterval
  1923.        MAX-ACCESS  read-create
  1924.        STATUS      current
  1925.        DESCRIPTION
  1926.            "This object should reflect the expected maximum round
  1927.             trip time for communicating with the transport address
  1928.             defined by this row.  When a message is sent to this
  1929.             address, and a response (if one is expected) is not
  1930.             received within this time period, an implementation
  1931.             may assume that the response will not be delivered.
  1932.  
  1933.             Note that the time interval that an application waits
  1934.             for a response may actually be derived from the value
  1935.             of this object.  The method for deriving the actual time
  1936.             interval is implementation dependent.  One such method
  1937.             is to derive the expected round trip time based on a
  1938.             particular retransmission algorithm and on the number
  1939.             of timeouts which have occurred.  The type of message may
  1940.             also be considered when deriving expected round trip
  1941.             times for retransmissions.  For example, if a message is
  1942.             being sent with a securityLevel that indicates both
  1943.             authentication and privacy, the derived value may be
  1944.             increased to compensate for extra processing time spent
  1945.             during authentication and encryption processing."
  1946.        DEFVAL { 1500 }
  1947.        ::= { snmpTargetAddrEntry 4 }
  1948.  
  1949.    snmpTargetAddrRetryCount OBJECT-TYPE
  1950.        SYNTAX      Integer32 (0..255)
  1951.        MAX-ACCESS  read-create
  1952.        STATUS      current
  1953.        DESCRIPTION
  1954.            "This object specifies a default number of retries to be
  1955.             attempted when a response is not received for a generated
  1956.             message.  An application may provide its own retry count,
  1957.             in which case the value of this object is ignored."
  1958.        DEFVAL { 3 }
  1959.  
  1960.  
  1961.  
  1962. Levi, et. al.               Standards Track                    [Page 35]
  1963.  
  1964. RFC 2263                  SNMPv3 Applications               January 1998
  1965.  
  1966.  
  1967.        ::= { snmpTargetAddrEntry 5 }
  1968.  
  1969.    snmpTargetAddrTagList OBJECT-TYPE
  1970.        SYNTAX      SnmpTagList
  1971.        MAX-ACCESS  read-create
  1972.        STATUS      current
  1973.        DESCRIPTION
  1974.            "This object contains a list of tag values which are
  1975.             used to select target addresses for a particular
  1976.             operation."
  1977.        ::= { snmpTargetAddrEntry 6 }
  1978.  
  1979.    snmpTargetAddrParams OBJECT-TYPE
  1980.        SYNTAX      SnmpAdminString (SIZE(1..32))
  1981.        MAX-ACCESS  read-create
  1982.        STATUS      current
  1983.        DESCRIPTION
  1984.            "The value of this object identifies an entry in the
  1985.             snmpTargetParamsTable.  The identified entry
  1986.             contains SNMP parameters to be used when generating
  1987.             messages to be sent to this transport address."
  1988.        ::= { snmpTargetAddrEntry 7 }
  1989.  
  1990.    snmpTargetAddrStorageType OBJECT-TYPE
  1991.        SYNTAX      StorageType
  1992.        MAX-ACCESS  read-create
  1993.        STATUS      current
  1994.        DESCRIPTION
  1995.            "The storage type for this conceptual row."
  1996.        ::= { snmpTargetAddrEntry 8 }
  1997.  
  1998.    snmpTargetAddrRowStatus OBJECT-TYPE
  1999.        SYNTAX      RowStatus
  2000.        MAX-ACCESS  read-create
  2001.        STATUS      current
  2002.        DESCRIPTION
  2003.            "The status of this conceptual row.
  2004.  
  2005.             To create a row in this table, a manager must
  2006.             set this object to either createAndGo(4) or
  2007.             createAndWait(5).
  2008.  
  2009.             Until instances of all corresponding columns are
  2010.             appropriately configured, the value of the
  2011.             corresponding instance of the snmpTargetAddrRowStatus
  2012.             column is 'notReady'.
  2013.  
  2014.             In particular, a newly created row cannot be made
  2015.  
  2016.  
  2017.  
  2018. Levi, et. al.               Standards Track                    [Page 36]
  2019.  
  2020. RFC 2263                  SNMPv3 Applications               January 1998
  2021.  
  2022.  
  2023.             active until the corresponding snmpTargetAddrTDomain
  2024.             and snmpTargetAddrTAddress have both been set.
  2025.  
  2026.             The following objects may not be modified while the
  2027.             value of this object is active(1):
  2028.                 - snmpTargetAddrTDomain
  2029.                 - snmpTargetAddrTAddress"
  2030.        ::= { snmpTargetAddrEntry 9 }
  2031.  
  2032.    snmpTargetParamsTable OBJECT-TYPE
  2033.        SYNTAX      SEQUENCE OF SnmpTargetParamsEntry
  2034.        MAX-ACCESS  not-accessible
  2035.        STATUS      current
  2036.        DESCRIPTION
  2037.            "A table of SNMP target information to be used
  2038.             in the generation of SNMP messages."
  2039.        ::= { snmpTargetObjects 3 }
  2040.  
  2041.    snmpTargetParamsEntry OBJECT-TYPE
  2042.        SYNTAX      SnmpTargetParamsEntry
  2043.        MAX-ACCESS  not-accessible
  2044.        STATUS      current
  2045.        DESCRIPTION
  2046.            "A set of SNMP target information.
  2047.  
  2048.             Entries in the snmpTargetParamsTable are created and
  2049.             deleted using the snmpTargetParamsRowStatus object."
  2050.        INDEX { IMPLIED snmpTargetParamsName }
  2051.        ::= { snmpTargetParamsTable 1 }
  2052.  
  2053.    SnmpTargetParamsEntry ::= SEQUENCE {
  2054.        snmpTargetParamsName           SnmpAdminString,
  2055.        snmpTargetParamsMPModel        SnmpMessageProcessingModel,
  2056.        snmpTargetParamsSecurityModel  SnmpSecurityModel,
  2057.        snmpTargetParamsSecurityName   SnmpAdminString,
  2058.        snmpTargetParamsSecurityLevel  SnmpSecurityLevel,
  2059.        snmpTargetParamsStorageType    StorageType,
  2060.        snmpTargetParamsRowStatus      RowStatus
  2061.    }
  2062.  
  2063.    snmpTargetParamsName OBJECT-TYPE
  2064.        SYNTAX      SnmpAdminString (SIZE(1..32))
  2065.        MAX-ACCESS  not-accessible
  2066.        STATUS      current
  2067.        DESCRIPTION
  2068.            "The locally arbitrary, but unique identifier associated
  2069.             with this snmpTargetParamsEntry."
  2070.        ::= { snmpTargetParamsEntry 1 }
  2071.  
  2072.  
  2073.  
  2074. Levi, et. al.               Standards Track                    [Page 37]
  2075.  
  2076. RFC 2263                  SNMPv3 Applications               January 1998
  2077.  
  2078.  
  2079.    snmpTargetParamsMPModel OBJECT-TYPE
  2080.        SYNTAX      SnmpMessageProcessingModel
  2081.        MAX-ACCESS  read-create
  2082.        STATUS      current
  2083.        DESCRIPTION
  2084.            "The Message Processing Model to be used when generating
  2085.             SNMP messages using this entry."
  2086.        ::= { snmpTargetParamsEntry 2 }
  2087.  
  2088.    snmpTargetParamsSecurityModel OBJECT-TYPE
  2089.        SYNTAX      SnmpSecurityModel (0..254 | 256..2147483647)
  2090.        MAX-ACCESS  read-create
  2091.        STATUS      current
  2092.        DESCRIPTION
  2093.            "The Security Model to be used when generating SNMP
  2094.              messages using this entry."
  2095.        ::= { snmpTargetParamsEntry 3 }
  2096.  
  2097.    snmpTargetParamsSecurityName OBJECT-TYPE
  2098.        SYNTAX      SnmpAdminString
  2099.        MAX-ACCESS  read-create
  2100.        STATUS      current
  2101.        DESCRIPTION
  2102.            "The securityName which identifies the Principal on
  2103.             whose behalf SNMP messages will be generated using
  2104.             this entry."
  2105.        ::= { snmpTargetParamsEntry 4 }
  2106.  
  2107.    snmpTargetParamsSecurityLevel OBJECT-TYPE
  2108.        SYNTAX      SnmpSecurityLevel
  2109.        MAX-ACCESS  read-create
  2110.        STATUS      current
  2111.        DESCRIPTION
  2112.            "The Level of Security to be used when generating
  2113.             SNMP messages using this entry."
  2114.        ::= { snmpTargetParamsEntry 5 }
  2115.  
  2116.    snmpTargetParamsStorageType OBJECT-TYPE
  2117.        SYNTAX      StorageType
  2118.        MAX-ACCESS  read-create
  2119.        STATUS      current
  2120.        DESCRIPTION
  2121.            "The storage type for this conceptual row."
  2122.        ::= { snmpTargetParamsEntry 6 }
  2123.  
  2124.    snmpTargetParamsRowStatus OBJECT-TYPE
  2125.        SYNTAX      RowStatus
  2126.        MAX-ACCESS  read-create
  2127.  
  2128.  
  2129.  
  2130. Levi, et. al.               Standards Track                    [Page 38]
  2131.  
  2132. RFC 2263                  SNMPv3 Applications               January 1998
  2133.  
  2134.  
  2135.        STATUS      current
  2136.        DESCRIPTION
  2137.            "The status of this conceptual row.
  2138.  
  2139.             To create a row in this table, a manager must
  2140.             set this object to either createAndGo(4) or
  2141.             createAndWait(5).
  2142.  
  2143.             Until instances of all corresponding columns are
  2144.             appropriately configured, the value of the
  2145.             corresponding instance of the snmpTargetParamsRowStatus
  2146.             column is 'notReady'.
  2147.  
  2148.             In particular, a newly created row cannot be made
  2149.             active until the corresponding
  2150.             snmpTargetParamsMPModel,
  2151.             snmpTargetParamsSecurityModel,
  2152.             snmpTargetParamsSecurityName,
  2153.             and snmpTargetParamsSecurityLevel have all been set.
  2154.  
  2155.             The following objects may not be modified while the
  2156.             value of this object is active(1):
  2157.                 - snmpTargetParamsMPModel
  2158.                 - snmpTargetParamsSecurityModel
  2159.                 - snmpTargetParamsSecurityName
  2160.                 - snmpTargetParamsSecurityLevel"
  2161.        ::= { snmpTargetParamsEntry 7 }
  2162.  
  2163.    snmpUnavailableContexts OBJECT-TYPE
  2164.        SYNTAX       Counter32
  2165.        MAX-ACCESS   read-only
  2166.        STATUS       current
  2167.        DESCRIPTION
  2168.            "The total number of packets received by the SNMP
  2169.             engine which were dropped because the context
  2170.             contained in the mesage was unavailable."
  2171.        ::= { snmpTargetObjects 4 }
  2172.  
  2173.    snmpUnknownContexts OBJECT-TYPE
  2174.        SYNTAX       Counter32
  2175.        MAX-ACCESS   read-only
  2176.        STATUS       current
  2177.        DESCRIPTION
  2178.            "The total number of packets received by the SNMP
  2179.             engine which were dropped because the context
  2180.             contained in the mesage was unknown."
  2181.  
  2182.        ::= { snmpTargetObjects 5 }
  2183.  
  2184.  
  2185.  
  2186. Levi, et. al.               Standards Track                    [Page 39]
  2187.  
  2188. RFC 2263                  SNMPv3 Applications               January 1998
  2189.  
  2190.  
  2191.    --
  2192.    --
  2193.    -- Conformance information
  2194.    --
  2195.    --
  2196.  
  2197.    snmpTargetCompliances OBJECT IDENTIFIER ::=
  2198.                                            { snmpTargetConformance 1 }
  2199.    snmpTargetGroups      OBJECT IDENTIFIER ::=
  2200.                                            { snmpTargetConformance 2 }
  2201.  
  2202.    --
  2203.    --
  2204.    -- Compliance statements
  2205.    --
  2206.    --
  2207.  
  2208.  
  2209.    snmpTargetCommandResponderCompliance MODULE-COMPLIANCE
  2210.        STATUS      current
  2211.        DESCRIPTION
  2212.            "The compliance statement for SNMP entities which include
  2213.             a command responder application."
  2214.        MODULE -- This Module
  2215.            MANDATORY-GROUPS { snmpTargetCommandResponderGroup }
  2216.        ::= { snmpTargetCompliances 1 }
  2217.  
  2218.    snmpTargetBasicGroup OBJECT-GROUP
  2219.        OBJECTS {
  2220.            snmpTargetSpinLock,
  2221.            snmpTargetAddrTDomain,
  2222.            snmpTargetAddrTAddress,
  2223.            snmpTargetAddrTagList,
  2224.            snmpTargetAddrParams,
  2225.            snmpTargetAddrStorageType,
  2226.            snmpTargetAddrRowStatus,
  2227.            snmpTargetParamsMPModel,
  2228.            snmpTargetParamsSecurityModel,
  2229.            snmpTargetParamsSecurityName,
  2230.            snmpTargetParamsSecurityLevel,
  2231.            snmpTargetParamsStorageType,
  2232.            snmpTargetParamsRowStatus
  2233.        }
  2234.        STATUS      current
  2235.        DESCRIPTION
  2236.  
  2237.            "A collection of objects providing basic remote
  2238.             configuration of management targets."
  2239.  
  2240.  
  2241.  
  2242. Levi, et. al.               Standards Track                    [Page 40]
  2243.  
  2244. RFC 2263                  SNMPv3 Applications               January 1998
  2245.  
  2246.  
  2247.        ::= { snmpTargetGroups 1 }
  2248.  
  2249.    snmpTargetResponseGroup OBJECT-GROUP
  2250.        OBJECTS {
  2251.            snmpTargetAddrTimeout,
  2252.            snmpTargetAddrRetryCount
  2253.        }
  2254.        STATUS      current
  2255.        DESCRIPTION
  2256.            "A collection of objects providing remote configuration
  2257.             of management targets for applications which generate
  2258.             SNMP messages for which a response message would be
  2259.             expected."
  2260.        ::= { snmpTargetGroups 2 }
  2261.  
  2262.    snmpTargetCommandResponderGroup OBJECT-GROUP
  2263.        OBJECTS {
  2264.            snmpUnavailableContexts,
  2265.            snmpUnknownContexts
  2266.        }
  2267.        STATUS      current
  2268.        DESCRIPTION
  2269.            "A collection of objects required for command responder
  2270.             applications, used for counting error conditions."
  2271.        ::= { snmpTargetGroups 3 }
  2272.  
  2273.    END
  2274.  
  2275. 4.2.  The Notification MIB Module
  2276.  
  2277.    The SNMP-NOTIFICATION-MIB module contains objects for the remote
  2278.    configuration of the parameters used by an SNMP entity for the
  2279.    generation of notifications.  It consists of three tables and
  2280.    conformance/compliance statements.  The first table, the
  2281.    snmpNotifyTable, contains entries which select which entries in the
  2282.    snmpTargetAddrTable should be used for generating notifications, and
  2283.    the type of notifications to be generated.
  2284.  
  2285.    The second table sparsely augments the snmpTargetAddrTable with an
  2286.    object which is used to associate a set of filters with a particular
  2287.    management target.
  2288.  
  2289.    The third table defines filters which are used to limit the number of
  2290.    notifications which are generated using particular management
  2291.    targets.
  2292.  
  2293.  
  2294.  
  2295.  
  2296.  
  2297.  
  2298. Levi, et. al.               Standards Track                    [Page 41]
  2299.  
  2300. RFC 2263                  SNMPv3 Applications               January 1998
  2301.  
  2302.  
  2303. 4.2.1.  Definitions
  2304.  
  2305.    SNMP-NOTIFICATION-MIB DEFINITIONS ::= BEGIN
  2306.  
  2307.    IMPORTS
  2308.        MODULE-IDENTITY,
  2309.        OBJECT-TYPE,
  2310.        snmpModules
  2311.            FROM SNMPv2-SMI
  2312.  
  2313.        RowStatus,
  2314.        StorageType
  2315.            FROM SNMPv2-TC
  2316.  
  2317.        SnmpAdminString
  2318.            FROM SNMP-FRAMEWORK-MIB
  2319.  
  2320.        SnmpTagValue,
  2321.        snmpTargetParamsName
  2322.            FROM SNMP-TARGET-MIB
  2323.  
  2324.        MODULE-COMPLIANCE,
  2325.        OBJECT-GROUP
  2326.            FROM SNMPv2-CONF;
  2327.  
  2328.    snmpNotificationMIB MODULE-IDENTITY
  2329.        LAST-UPDATED "9711210000Z"
  2330.        ORGANIZATION "IETF SNMPv3 Working Group"
  2331.        CONTACT-INFO
  2332.            "WG-email:   snmpv3@tis.com
  2333.             Subscribe:  majordomo@tis.com
  2334.                         In message body:  subscribe snmpv3
  2335.  
  2336.             Chair:      Russ Mundy
  2337.                         Trusted Information Systems
  2338.             Postal:     3060 Washington Rd
  2339.                         Glenwood MD 21738
  2340.                         USA
  2341.             Email:      mundy@tis.com
  2342.             Phone:      +1-301-854-6889
  2343.  
  2344.             Co-editor:  David B. Levi
  2345.                         SNMP Research, Inc.
  2346.             Postal:     3001 Kimberlin Heights Road
  2347.                         Knoxville, TN 37920-9716
  2348.             E-mail:     levi@snmp.com
  2349.             Phone:      +1 423 573 1434
  2350.  
  2351.  
  2352.  
  2353.  
  2354. Levi, et. al.               Standards Track                    [Page 42]
  2355.  
  2356. RFC 2263                  SNMPv3 Applications               January 1998
  2357.  
  2358.  
  2359.             Co-editor:  Paul Meyer
  2360.                         Secure Computing Corporation
  2361.             Postal:     2675 Long Lake Road
  2362.                         Roseville, MN 55113
  2363.             E-mail:     paul_meyer@securecomputing.com
  2364.             Phone:      +1 612 628 1592
  2365.  
  2366.             Co-editor:  Bob Stewart
  2367.                         Cisco Systems, Inc.
  2368.             Postal:     170 West Tasman Drive
  2369.                         San Jose, CA 95134-1706
  2370.             E-mail:     bstewart@cisco.com
  2371.             Phone:      +1 603 654 6923"
  2372.        DESCRIPTION
  2373.            "This MIB module defines MIB objects which provide
  2374.             mechanisms to remotely configure the parameters
  2375.             used by an SNMP entity for the generation of
  2376.             notifications."
  2377.        REVISION    "9707140000Z"
  2378.        DESCRIPTION
  2379.            "The initial revision."
  2380.        ::= { snmpModules 8 }
  2381.  
  2382.    snmpNotifyObjects       OBJECT IDENTIFIER ::=
  2383.                                              { snmpNotificationMIB 1 }
  2384.    snmpNotifyConformance   OBJECT IDENTIFIER ::=
  2385.                                              { snmpNotificationMIB 3 }
  2386.  
  2387.  
  2388.    --
  2389.    --
  2390.    -- The snmpNotifyObjects group
  2391.    --
  2392.    --
  2393.  
  2394.    snmpNotifyTable OBJECT-TYPE
  2395.        SYNTAX      SEQUENCE OF SnmpNotifyEntry
  2396.        MAX-ACCESS  not-accessible
  2397.        STATUS      current
  2398.        DESCRIPTION
  2399.            "This table is used to select management targets which should
  2400.             receive notifications, as well as the type of notification
  2401.             which should be sent to each selected management target."
  2402.        ::= { snmpNotifyObjects 1 }
  2403.  
  2404.    snmpNotifyEntry OBJECT-TYPE
  2405.        SYNTAX      SnmpNotifyEntry
  2406.        MAX-ACCESS  not-accessible
  2407.  
  2408.  
  2409.  
  2410. Levi, et. al.               Standards Track                    [Page 43]
  2411.  
  2412. RFC 2263                  SNMPv3 Applications               January 1998
  2413.  
  2414.  
  2415.        STATUS      current
  2416.        DESCRIPTION
  2417.            "An entry in this table selects a set of management targets
  2418.             which should receive notifications, as well as the type of
  2419.             notification which should be sent to each selected
  2420.             management target.
  2421.  
  2422.             Entries in the snmpNotifyTable are created and
  2423.             deleted using the snmpNotifyRowStatus object."
  2424.        INDEX { IMPLIED snmpNotifyName }
  2425.        ::= { snmpNotifyTable 1 }
  2426.  
  2427.    SnmpNotifyEntry ::= SEQUENCE {
  2428.        snmpNotifyName         SnmpAdminString,
  2429.        snmpNotifyTag          SnmpTagValue,
  2430.        snmpNotifyType         INTEGER,
  2431.        snmpNotifyStorageType  StorageType,
  2432.        snmpNotifyRowStatus    RowStatus
  2433.    }
  2434.  
  2435.    snmpNotifyName OBJECT-TYPE
  2436.        SYNTAX      SnmpAdminString (SIZE(1..32))
  2437.        MAX-ACCESS  not-accessible
  2438.        STATUS      current
  2439.        DESCRIPTION
  2440.            "The locally arbitrary, but unique identifier associated
  2441.             with this snmpNotifyEntry."
  2442.        ::= { snmpNotifyEntry 1 }
  2443.  
  2444.    snmpNotifyTag OBJECT-TYPE
  2445.        SYNTAX      SnmpTagValue
  2446.        MAX-ACCESS  read-create
  2447.        STATUS      current
  2448.        DESCRIPTION
  2449.            "This object contains a single tag value which is used
  2450.             to select entries in the snmpTargetAddrTable.  Any entry
  2451.             in the snmpTargetAddrTable which contains a tag value
  2452.             which is equal to the value of an instance of this
  2453.             object is selected.  If this object contains a value
  2454.             of zero length, no entries are selected."
  2455.        ::= { snmpNotifyEntry 2 }
  2456.  
  2457.    snmpNotifyType OBJECT-TYPE
  2458.        SYNTAX      INTEGER {
  2459.                        trap(1),
  2460.                        inform(2)
  2461.                    }
  2462.        MAX-ACCESS  read-create
  2463.  
  2464.  
  2465.  
  2466. Levi, et. al.               Standards Track                    [Page 44]
  2467.  
  2468. RFC 2263                  SNMPv3 Applications               January 1998
  2469.  
  2470.  
  2471.        STATUS      current
  2472.        DESCRIPTION
  2473.            "This object determines the type of notification to
  2474.             be generated for entries in the snmpTargetAddrTable
  2475.             selected by the corresponding instance of
  2476.             snmpNotifyTag.
  2477.  
  2478.             If the value of this object is trap(1), then any
  2479.             messages generated for selected rows will contain
  2480.             SNMPv2-Trap PDUs.
  2481.  
  2482.             If the value of this object is inform(2), then any
  2483.             messages generated for selected rows will contain
  2484.             Inform PDUs.
  2485.  
  2486.             Note that if an SNMP entity only supports
  2487.             generation of traps (and not informs), then this
  2488.             object may be read-only."
  2489.        DEFVAL { trap }
  2490.        ::= { snmpNotifyEntry 3 }
  2491.  
  2492.    snmpNotifyStorageType OBJECT-TYPE
  2493.        SYNTAX      StorageType
  2494.        MAX-ACCESS  read-create
  2495.        STATUS      current
  2496.        DESCRIPTION
  2497.            "The storage type for this conceptual row."
  2498.        ::= { snmpNotifyEntry 4 }
  2499.  
  2500.    snmpNotifyRowStatus OBJECT-TYPE
  2501.        SYNTAX      RowStatus
  2502.        MAX-ACCESS  read-create
  2503.        STATUS      current
  2504.        DESCRIPTION
  2505.            "The status of this conceptual row.
  2506.  
  2507.             To create a row in this table, a manager must
  2508.             set this object to either createAndGo(4) or
  2509.             createAndWait(5).
  2510.  
  2511.             Until instances of all corresponding columns are
  2512.             appropriately configured, the value of the
  2513.             corresponding instance of the snmpNotifyRowStatus
  2514.             column is 'notReady'.
  2515.  
  2516.             In particular, a newly created row cannot be made
  2517.             active until the corresponding snmpNotifyTag has
  2518.             been set."
  2519.  
  2520.  
  2521.  
  2522. Levi, et. al.               Standards Track                    [Page 45]
  2523.  
  2524. RFC 2263                  SNMPv3 Applications               January 1998
  2525.  
  2526.  
  2527.        ::= { snmpNotifyEntry 5 }
  2528.  
  2529.    snmpNotifyFilterProfileTable OBJECT-TYPE
  2530.        SYNTAX      SEQUENCE OF SnmpNotifyFilterProfileEntry
  2531.        MAX-ACCESS  not-accessible
  2532.        STATUS      current
  2533.        DESCRIPTION
  2534.            "This table is used to associate a notification filter
  2535.             profile with a particular set of target parameters."
  2536.        ::= { snmpNotifyObjects 2 }
  2537.  
  2538.    snmpNotifyFilterProfileEntry OBJECT-TYPE
  2539.        SYNTAX      SnmpNotifyFilterProfileEntry
  2540.        MAX-ACCESS  not-accessible
  2541.        STATUS      current
  2542.        DESCRIPTION
  2543.            "An entry in this table indicates the name of the filter
  2544.             profile to be used when generating notifications using
  2545.             the corresponding entry in the snmpTargetParamsTable.
  2546.  
  2547.             Entries in the snmpNotifyFilterProfileTable are created
  2548.             and deleted using the snmpNotifyFilterProfileRowStatus
  2549.             object."
  2550.        INDEX { IMPLIED snmpTargetParamsName }
  2551.        ::= { snmpNotifyFilterProfileTable 1 }
  2552.  
  2553.    SnmpNotifyFilterProfileEntry ::= SEQUENCE {
  2554.        snmpNotifyFilterProfileName         SnmpAdminString,
  2555.        snmpNotifyFilterProfileStorType     StorageType,
  2556.        snmpNotifyFilterProfileRowStatus    RowStatus
  2557.    }
  2558.  
  2559.    snmpNotifyFilterProfileName OBJECT-TYPE
  2560.        SYNTAX      SnmpAdminString (SIZE(1..32))
  2561.        MAX-ACCESS  read-create
  2562.        STATUS      current
  2563.        DESCRIPTION
  2564.            "The name of the filter profile to be used when generating
  2565.             notifications using the corresponding entry in the
  2566.             snmpTargetAddrTable."
  2567.        ::= { snmpNotifyFilterProfileEntry 1 }
  2568.  
  2569.    snmpNotifyFilterProfileStorType OBJECT-TYPE
  2570.        SYNTAX      StorageType
  2571.        MAX-ACCESS  read-create
  2572.        STATUS      current
  2573.        DESCRIPTION
  2574.            "The storage type of this conceptual row."
  2575.  
  2576.  
  2577.  
  2578. Levi, et. al.               Standards Track                    [Page 46]
  2579.  
  2580. RFC 2263                  SNMPv3 Applications               January 1998
  2581.  
  2582.  
  2583.        ::= { snmpNotifyFilterProfileEntry 2 }
  2584.  
  2585.    snmpNotifyFilterProfileRowStatus OBJECT-TYPE
  2586.        SYNTAX      RowStatus
  2587.        MAX-ACCESS  read-create
  2588.        STATUS      current
  2589.        DESCRIPTION
  2590.            "The status of this conceptual row.
  2591.  
  2592.             To create a row in this table, a manager must
  2593.             set this object to either createAndGo(4) or
  2594.             createAndWait(5)."
  2595.        ::= { snmpNotifyFilterProfileEntry 3 }
  2596.  
  2597.    snmpNotifyFilterTable OBJECT-TYPE
  2598.        SYNTAX      SEQUENCE OF SnmpNotifyFilterEntry
  2599.        MAX-ACCESS  not-accessible
  2600.        STATUS      current
  2601.        DESCRIPTION
  2602.            "The table of filter profiles.  Filter profiles are used
  2603.             to determine whether particular management targets should
  2604.             receive particular notifications.
  2605.  
  2606.             When a notification is generated, it must be compared
  2607.             with the filters associated with each management target
  2608.             which is configured to receive notifications.  If the
  2609.             notification is matched by a filter, it is not sent to
  2610.             the management target with which the filter is
  2611.             associated."
  2612.        ::= { snmpNotifyObjects 3 }
  2613.  
  2614.    snmpNotifyFilterEntry OBJECT-TYPE
  2615.        SYNTAX      SnmpNotifyFilterEntry
  2616.        MAX-ACCESS  not-accessible
  2617.        STATUS      current
  2618.        DESCRIPTION
  2619.            "An element of a filter profile.
  2620.  
  2621.             Entries in the snmpNotifyFilterTable are created and
  2622.             deleted using the snmpNotifyFilterRowStatus object."
  2623.        INDEX {         snmpNotifyFilterProfileName,
  2624.                IMPLIED snmpNotifyFilterSubtree }
  2625.        ::= { snmpNotifyFilterTable 1 }
  2626.  
  2627.    SnmpNotifyFilterEntry ::= SEQUENCE {
  2628.        snmpNotifyFilterSubtree           OBJECT IDENTIFIER,
  2629.        snmpNotifyFilterMask              OCTET STRING,
  2630.        snmpNotifyFilterType              INTEGER,
  2631.  
  2632.  
  2633.  
  2634. Levi, et. al.               Standards Track                    [Page 47]
  2635.  
  2636. RFC 2263                  SNMPv3 Applications               January 1998
  2637.  
  2638.  
  2639.        snmpNotifyFilterStorageType       StorageType,
  2640.        snmpNotifyFilterRowStatus         RowStatus
  2641.    }
  2642.  
  2643.    snmpNotifyFilterSubtree OBJECT-TYPE
  2644.        SYNTAX      OBJECT IDENTIFIER
  2645.        MAX-ACCESS  not-accessible
  2646.        STATUS      current
  2647.        DESCRIPTION
  2648.            "The MIB subtree which, when combined with the corresponding
  2649.             instance of snmpNotifyFilterMask, defines a family of
  2650.             subtrees which are included in or excluded from the
  2651.             filter profile."
  2652.        ::= { snmpNotifyFilterEntry 1 }
  2653.  
  2654.    snmpNotifyFilterMask OBJECT-TYPE
  2655.        SYNTAX      OCTET STRING (SIZE(0..16))
  2656.        MAX-ACCESS  read-create
  2657.        STATUS      current
  2658.        DESCRIPTION
  2659.            "The bit mask which, in combination with the corresponding
  2660.             instance of snmpNotifyFilterSubtree, defines a family of
  2661.             subtrees which are included in or excluded from the
  2662.             filter profile.
  2663.  
  2664.             Each bit of this bit mask corresponds to a
  2665.             sub-identifier of snmpNotifyFilterSubtree, with the
  2666.             most significant bit of the i-th octet of this octet
  2667.             string value (extended if necessary, see below)
  2668.             corresponding to the (8*i - 7)-th sub-identifier, and
  2669.             the least significant bit of the i-th octet of this
  2670.             octet string corresponding to the (8*i)-th
  2671.             sub-identifier, where i is in the range 1 through 16.
  2672.  
  2673.             Each bit of this bit mask specifies whether or not
  2674.             the corresponding sub-identifiers must match when
  2675.             determining if an OBJECT IDENTIFIER matches this
  2676.             family of filter subtrees; a '1' indicates that an
  2677.             exact match must occur; a '0' indicates 'wild card',
  2678.             i.e., any sub-identifier value matches.
  2679.  
  2680.             Thus, the OBJECT IDENTIFIER X of an object instance
  2681.             is contained in a family of filter subtrees if, for
  2682.             each sub-identifier of the value of
  2683.             snmpNotifyFilterSubtree, either:
  2684.  
  2685.               the i-th bit of snmpNotifyFilterMask is 0, or
  2686.  
  2687.  
  2688.  
  2689.  
  2690. Levi, et. al.               Standards Track                    [Page 48]
  2691.  
  2692. RFC 2263                  SNMPv3 Applications               January 1998
  2693.  
  2694.  
  2695.               the i-th sub-identifier of X is equal to the i-th
  2696.               sub-identifier of the value of
  2697.               snmpNotifyFilterSubtree.
  2698.  
  2699.             If the value of this bit mask is M bits long and
  2700.             there are more than M sub-identifiers in the
  2701.             corresponding instance of snmpNotifyFilterSubtree,
  2702.             then the bit mask is extended with 1's to be the
  2703.             required length.
  2704.  
  2705.             Note that when the value of this object is the
  2706.             zero-length string, this extension rule results in
  2707.             a mask of all-1's being used (i.e., no 'wild card'),
  2708.             and the family of filter subtrees is the one
  2709.             subtree uniquely identified by the corresponding
  2710.             instance of snmpNotifyFilterSubtree."
  2711.        DEFVAL { ''H }
  2712.        ::= { snmpNotifyFilterEntry 2 }
  2713.  
  2714.    snmpNotifyFilterType OBJECT-TYPE
  2715.        SYNTAX      INTEGER {
  2716.                        included(1),
  2717.                        excluded(2)
  2718.                    }
  2719.        MAX-ACCESS  read-create
  2720.        STATUS      current
  2721.        DESCRIPTION
  2722.            "This object indicates whether the family of filter subtrees
  2723.             defined by this entry are included in or excluded from a
  2724.             filter."
  2725.        DEFVAL { included }
  2726.        ::= { snmpNotifyFilterEntry 3 }
  2727.  
  2728.    snmpNotifyFilterStorageType OBJECT-TYPE
  2729.        SYNTAX      StorageType
  2730.        MAX-ACCESS  read-create
  2731.        STATUS      current
  2732.        DESCRIPTION
  2733.            "The storage type of this conceptual row."
  2734.        ::= { snmpNotifyFilterEntry 4 }
  2735.  
  2736.    snmpNotifyFilterRowStatus OBJECT-TYPE
  2737.        SYNTAX      RowStatus
  2738.        MAX-ACCESS  read-create
  2739.        STATUS      current
  2740.        DESCRIPTION
  2741.            "The status of this conceptual row.
  2742.  
  2743.  
  2744.  
  2745.  
  2746. Levi, et. al.               Standards Track                    [Page 49]
  2747.  
  2748. RFC 2263                  SNMPv3 Applications               January 1998
  2749.  
  2750.  
  2751.             To create a row in this table, a manager must
  2752.             set this object to either createAndGo(4) or
  2753.             createAndWait(5)."
  2754.        ::= { snmpNotifyFilterEntry 5 }
  2755.  
  2756.    --
  2757.    --
  2758.    -- Conformance information
  2759.    --
  2760.    --
  2761.  
  2762.    snmpNotifyCompliances OBJECT IDENTIFIER ::=
  2763.                                            { snmpNotifyConformance 1 }
  2764.    snmpNotifyGroups      OBJECT IDENTIFIER ::=
  2765.                                            { snmpNotifyConformance 2 }
  2766.  
  2767.    --
  2768.    --
  2769.    -- Compliance statements
  2770.    --
  2771.    --
  2772.  
  2773.    snmpNotifyBasicCompliance MODULE-COMPLIANCE
  2774.        STATUS      current
  2775.        DESCRIPTION
  2776.            "The compliance statement for minimal SNMP entities which
  2777.             implement only SNMP Traps and read-create operations on
  2778.             only the snmpTargetAddrTable."
  2779.        MODULE SNMP-TARGET-MIB
  2780.            MANDATORY-GROUPS { snmpTargetBasicGroup }
  2781.  
  2782.            OBJECT snmpTargetParamsMPModel
  2783.            MIN-ACCESS    read-only
  2784.            DESCRIPTION
  2785.                "Create/delete/modify access is not required."
  2786.  
  2787.            OBJECT snmpTargetParamsSecurityModel
  2788.            MIN-ACCESS    read-only
  2789.            DESCRIPTION
  2790.                "Create/delete/modify access is not required."
  2791.  
  2792.            OBJECT snmpTargetParamsSecurityName
  2793.            MIN-ACCESS    read-only
  2794.            DESCRIPTION
  2795.                "Create/delete/modify access is not required."
  2796.  
  2797.            OBJECT snmpTargetParamsSecurityLevel
  2798.            MIN-ACCESS    read-only
  2799.  
  2800.  
  2801.  
  2802. Levi, et. al.               Standards Track                    [Page 50]
  2803.  
  2804. RFC 2263                  SNMPv3 Applications               January 1998
  2805.  
  2806.  
  2807.            DESCRIPTION
  2808.                "Create/delete/modify access is not required."
  2809.  
  2810.            OBJECT snmpTargetParamsStorageType
  2811.            SYNTAX INTEGER {
  2812.                readOnly(5)
  2813.            }
  2814.            MIN-ACCESS    read-only
  2815.            DESCRIPTION
  2816.                "Create/delete/modify access is not required.
  2817.                 Support of the values other(1), volatile(2),
  2818.                 nonVolatile(3), and permanent(4) is not required."
  2819.  
  2820.            OBJECT snmpTargetParamsRowStatus
  2821.            SYNTAX INTEGER {
  2822.                active(1)
  2823.            }
  2824.            MIN-ACCESS    read-only
  2825.            DESCRIPTION
  2826.                "Create/delete/modify access to the
  2827.                 snmpTargetParamsTable is not required.
  2828.                 Support of the values notInService(2), notReady(3),
  2829.                 createAndGo(4), createAndWait(5), and destroy(6) is
  2830.                 not required."
  2831.  
  2832.        MODULE -- This Module
  2833.            MANDATORY-GROUPS { snmpNotifyGroup }
  2834.  
  2835.            OBJECT snmpNotifyTag
  2836.            MIN-ACCESS    read-only
  2837.            DESCRIPTION
  2838.                "Create/delete/modify access is not required."
  2839.  
  2840.            OBJECT snmpNotifyType
  2841.            SYNTAX INTEGER {
  2842.                trap(1)
  2843.            }
  2844.            MIN-ACCESS    read-only
  2845.            DESCRIPTION
  2846.                "Create/delete/modify access is not required.
  2847.                 Support of the value notify(2) is not required."
  2848.  
  2849.            OBJECT snmpNotifyStorageType
  2850.            SYNTAX INTEGER {
  2851.                readOnly(5)
  2852.            }
  2853.            MIN-ACCESS    read-only
  2854.            DESCRIPTION
  2855.  
  2856.  
  2857.  
  2858. Levi, et. al.               Standards Track                    [Page 51]
  2859.  
  2860. RFC 2263                  SNMPv3 Applications               January 1998
  2861.  
  2862.  
  2863.                "Create/delete/modify access is not required.
  2864.                 Support of the values other(1), volatile(2),
  2865.                 nonVolatile(3), and permanent(4) is not required."
  2866.  
  2867.            OBJECT snmpNotifyRowStatus
  2868.            SYNTAX INTEGER {
  2869.                active(1)
  2870.            }
  2871.            MIN-ACCESS    read-only
  2872.            DESCRIPTION
  2873.                "Create/delete/modify access to the
  2874.                 snmpNotifyTable is not required.
  2875.                 Support of the values notInService(2), notReady(3),
  2876.                 createAndGo(4), createAndWait(5), and destroy(6) is
  2877.                 not required."
  2878.  
  2879.        ::= { snmpNotifyCompliances 1 }
  2880.  
  2881.    snmpNotifyBasicFiltersCompliance MODULE-COMPLIANCE
  2882.        STATUS      current
  2883.        DESCRIPTION
  2884.            "The compliance statement for SNMP entities which implement
  2885.             SNMP Traps with filtering, and read-create operations on
  2886.             all related tables."
  2887.        MODULE SNMP-TARGET-MIB
  2888.            MANDATORY-GROUPS { snmpTargetBasicGroup }
  2889.        MODULE -- This Module
  2890.            MANDATORY-GROUPS { snmpNotifyGroup,
  2891.                               snmpNotifyFilterGroup }
  2892.        ::= { snmpNotifyCompliances 2 }
  2893.  
  2894.    snmpNotifyFullCompliance MODULE-COMPLIANCE
  2895.        STATUS      current
  2896.        DESCRIPTION
  2897.            "The compliance statement for SNMP entities which either
  2898.             implement only SNMP Informs, or both SNMP Traps and SNMP
  2899.             Informs, plus filtering and read-create operations on
  2900.             all related tables."
  2901.        MODULE SNMP-TARGET-MIB
  2902.            MANDATORY-GROUPS { snmpTargetBasicGroup,
  2903.                               snmpTargetResponseGroup }
  2904.        MODULE -- This Module
  2905.            MANDATORY-GROUPS { snmpNotifyGroup,
  2906.                               snmpNotifyFilterGroup }
  2907.        ::= { snmpNotifyCompliances 3 }
  2908.  
  2909.    snmpNotifyGroup OBJECT-GROUP
  2910.        OBJECTS {
  2911.  
  2912.  
  2913.  
  2914. Levi, et. al.               Standards Track                    [Page 52]
  2915.  
  2916. RFC 2263                  SNMPv3 Applications               January 1998
  2917.  
  2918.  
  2919.            snmpNotifyTag,
  2920.            snmpNotifyType,
  2921.            snmpNotifyStorageType,
  2922.            snmpNotifyRowStatus
  2923.        }
  2924.        STATUS      current
  2925.        DESCRIPTION
  2926.            "A collection of objects for selecting which management
  2927.             targets are used for generating notifications, and the
  2928.             type of notification to be generated for each selected
  2929.             management target."
  2930.        ::= { snmpNotifyGroups 1 }
  2931.  
  2932.    snmpNotifyFilterGroup OBJECT-GROUP
  2933.        OBJECTS {
  2934.            snmpNotifyFilterProfileName,
  2935.            snmpNotifyFilterProfileStorType,
  2936.            snmpNotifyFilterProfileRowStatus,
  2937.            snmpNotifyFilterMask,
  2938.            snmpNotifyFilterType,
  2939.            snmpNotifyFilterStorageType,
  2940.            snmpNotifyFilterRowStatus
  2941.        }
  2942.        STATUS      current
  2943.        DESCRIPTION
  2944.            "A collection of objects providing remote configuration
  2945.             of notification filters."
  2946.        ::= { snmpNotifyGroups 2 }
  2947.  
  2948.    END
  2949.  
  2950. 4.3.  The Proxy MIB Module
  2951.  
  2952.    The SNMP-PROXY-MIB module, which defines MIB objects that provide
  2953.    mechanisms to remotely configure the parameters used by an SNMP
  2954.    entity for proxy forwarding operations, contains a single table.
  2955.    This table, snmpProxyTable, is used to define translations between
  2956.    management targets for use when forwarding messages.
  2957.  
  2958. 4.3.1.  Definitions
  2959.  
  2960.    SNMP-PROXY-MIB DEFINITIONS ::= BEGIN
  2961.  
  2962.    IMPORTS
  2963.        MODULE-IDENTITY,
  2964.        OBJECT-TYPE,
  2965.     hich the filter is
  2966.        FROM SNMPv2-SMI
  2967.  
  2968.  
  2969.  
  2970. Levi, et. al.               Standards Track                    [Page 53]
  2971.  
  2972. RFC 2263                  SNMPv3 Applications               January 1998
  2973.  
  2974.  
  2975.        RowStatus,
  2976.        StorageType
  2977.            FROM SNMPv2-TC
  2978.  
  2979.        SnmpEngineID,
  2980.        SnmpAdminString
  2981.            FROM SNMP-FRAMEWORK-MIB
  2982.  
  2983.        SnmpTagValue,
  2984.            FROM SNMP-TARGET-MIB
  2985.  
  2986.        MODULE-COMPLIANCE,
  2987.        OBJECT-GROUP
  2988.            FROM SNMPv2-CONF;
  2989.  
  2990.    snmpProxyMIB MODULE-IDENTITY
  2991.        LAST-UPDATED "9711210000Z"
  2992.        ORGANIZATION "IETF SNMPv3 Working Group"
  2993.        CONTACT-INFO
  2994.            "WG-email:   snmpv3@tis.com
  2995.             Subscribe:  majordomo@tis.com
  2996.                         In message body:  subscribe snmpv3
  2997.  
  2998.             Chair:      Russ Mundy
  2999.                         Trusted Information Systems
  3000.             Postal:     3060 Washington Rd
  3001.                         Glenwood MD 21738
  3002.                         USA
  3003.             Email:      mundy@tis.com
  3004.             Phone:      +1-301-854-6889
  3005.  
  3006.             Co-editor:  David B. Levi
  3007.                         SNMP Research, Inc.
  3008.             Postal:     3001 Kimberlin Heights Road
  3009.                         Knoxville, TN 37920-9716
  3010.             E-mail:     levi@snmp.com
  3011.             Phone:      +1 423 573 1434
  3012.  
  3013.             Co-editor:  Paul Meyer
  3014.                         Secure Computing Corporation
  3015.             Postal:     2675 Long Lake Road
  3016.                         Roseville, MN 55113
  3017.             E-mail:     paul_meyer@securecomputing.com
  3018.             Phone:      +1 612 628 1592
  3019.  
  3020.             Co-editor:  Bob Stewart
  3021.                         Cisco Systems, Inc.
  3022.             Postal:     170 West Tasman Drive
  3023.  
  3024.  
  3025.  
  3026. Levi, et. al.               Standards Track                    [Page 54]
  3027.  
  3028. RFC 2263                  SNMPv3 Applications               January 1998
  3029.  
  3030.  
  3031.                         San Jose, CA 95134-1706
  3032.             E-mail:     bstewart@cisco.com
  3033.             Phone:      +1 603 654 6923"
  3034.        DESCRIPTION
  3035.            "This MIB module defines MIB objects which provide
  3036.             mechanisms to remotely configure the parameters
  3037.             used by a proxy forwarding application."
  3038.        REVISION    "9707140000Z"
  3039.        DESCRIPTION
  3040.            "The initial revision."
  3041.        ::= { snmpModules 9 }
  3042.  
  3043.    snmpProxyObjects        OBJECT IDENTIFIER ::= { snmpProxyMIB 1 }
  3044.    snmpProxyConformance    OBJECT IDENTIFIER ::= { snmpProxyMIB 3 }
  3045.  
  3046.    --
  3047.    --
  3048.    -- The snmpProxyObjects group
  3049.    --
  3050.    --
  3051.  
  3052.    snmpProxyTable OBJECT-TYPE
  3053.        SYNTAX      SEQUENCE OF SnmpProxyEntry
  3054.        MAX-ACCESS  not-accessible
  3055.        STATUS      current
  3056.        DESCRIPTION
  3057.            "The table of translation parameters used by proxy forwarder
  3058.             applications for forwarding SNMP messages."
  3059.        ::= { snmpProxyObjects 2 }
  3060.  
  3061.    snmpProxyEntry OBJECT-TYPE
  3062.        SYNTAX      SnmpProxyEntry
  3063.        MAX-ACCESS  not-accessible
  3064.        STATUS      current
  3065.        DESCRIPTION
  3066.            "A set of translation parameters used by a proxy forwarder
  3067.             application for forwarding SNMP messages.
  3068.  
  3069.             Entries in the snmpProxyTable are created and deleted
  3070.             using the snmpProxyRowStatus object."
  3071.        INDEX { IMPLIED snmpProxyName }
  3072.        ::= { snmpProxyTable 1 }
  3073.  
  3074.    SnmpProxyEntry ::= SEQUENCE {
  3075.        snmpProxyName               SnmpAdminString,
  3076.        snmpProxyType               INTEGER,
  3077.        snmpProxyContextEngineID    SnmpEngineID,
  3078.        snmpProxyContextName        SnmpAdminString,
  3079.  
  3080.  
  3081.  
  3082. Levi, et. al.               Standards Track                    [Page 55]
  3083.  
  3084. RFC 2263                  SNMPv3 Applications               January 1998
  3085.  
  3086.  
  3087.        snmpProxyTargetParamsIn     SnmpAdminString,
  3088.        snmpProxySingleTargetOut    SnmpAdminString,
  3089.        snmpProxyMultipleTargetOut  SnmpTagValue,
  3090.        snmpProxyStorageType        StorageType,
  3091.        snmpProxyRowStatus          RowStatus
  3092.    }
  3093.  
  3094.    snmpProxyName OBJECT-TYPE
  3095.        SYNTAX      SnmpAdminString (SIZE(1..32))
  3096.        MAX-ACCESS  not-accessible
  3097.        STATUS      current
  3098.        DESCRIPTION
  3099.            "The locally arbitrary, but unique identifier associated
  3100.             with this snmpProxyEntry."
  3101.        ::= { snmpProxyEntry 1 }
  3102.  
  3103.    snmpProxyType OBJECT-TYPE
  3104.        SYNTAX      INTEGER {
  3105.                        read(1),
  3106.                        write(2),
  3107.                        trap(3),
  3108.                        inform(4)
  3109.                    }
  3110.        MAX-ACCESS  read-create
  3111.        STATUS      current
  3112.        DESCRIPTION
  3113.            "The type of message that may be forwarded using
  3114.             the translation parameters defined by this entry."
  3115.        ::= { snmpProxyEntry 2 }
  3116.  
  3117.    snmpProxyContextEngineID OBJECT-TYPE
  3118.        SYNTAX      SnmpEngineID
  3119.        MAX-ACCESS  read-create
  3120.        STATUS      current
  3121.        DESCRIPTION
  3122.            "The contextEngineID contained in messages that
  3123.             may be forwarded using the translation parameters
  3124.             defined by this entry."
  3125.        ::= { snmpProxyEntry 3 }
  3126.  
  3127.    snmpProxyContextName OBJECT-TYPE
  3128.        SYNTAX      SnmpAdminString
  3129.        MAX-ACCESS  read-create
  3130.        STATUS      current
  3131.        DESCRIPTION
  3132.            "The contextName contained in messages that may be
  3133.             forwarded using the translation parameters defined
  3134.             by this entry.
  3135.  
  3136.  
  3137.  
  3138. Levi, et. al.               Standards Track                    [Page 56]
  3139.  
  3140. RFC 2263                  SNMPv3 Applications               January 1998
  3141.  
  3142.  
  3143.             This object is optional, and if not supported, the
  3144.             contextName contained in a message is ignored when
  3145.             selecting an entry in the snmpProxyTable."
  3146.        ::= { snmpProxyEntry 4 }
  3147.  
  3148.    snmpProxyTargetParamsIn OBJECT-TYPE
  3149.        SYNTAX      SnmpAdminString
  3150.        MAX-ACCESS  read-create
  3151.        STATUS      current
  3152.        DESCRIPTION
  3153.            "This object selects an entry in the snmpTargetParamsTable.
  3154.             The selected entry is used to determine which row of the
  3155.             snmpProxyTable to use for forwarding received messages."
  3156.        ::= { snmpProxyEntry 5 }
  3157.  
  3158.    snmpProxySingleTargetOut OBJECT-TYPE
  3159.        SYNTAX      SnmpAdminString
  3160.        MAX-ACCESS  read-create
  3161.        STATUS      current
  3162.        DESCRIPTION
  3163.            "This object selects a management target defined in the
  3164.             snmpTargetAddrTable (in the SNMP-TARGET-MIB).  The
  3165.             selected target is defined by an entry in the
  3166.             snmpTargetAddrTable whose index value (snmpTargetAddrName)
  3167.             is equal to this object.
  3168.  
  3169.             This object is only used when selection of a single
  3170.             target is required (i.e. when forwarding an incoming
  3171.             read or write request)."
  3172.        ::= { snmpProxyEntry 6 }
  3173.  
  3174.    snmpProxyMultipleTargetOut OBJECT-TYPE
  3175.        SYNTAX      SnmpTagValue
  3176.        MAX-ACCESS  read-create
  3177.        STATUS      current
  3178.        DESCRIPTION
  3179.            "This object selects a set of management targets defined
  3180.             in the snmpTargetAddrTable (in the SNMP-TARGET-MIB).
  3181.  
  3182.             This object is only used when selection of multiple
  3183.             targets is required (i.e. when forwarding an incoming
  3184.             notification)."
  3185.        ::= { snmpProxyEntry 7 }
  3186.  
  3187.    snmpProxyStorageType OBJECT-TYPE
  3188.        SYNTAX      StorageType
  3189.        MAX-ACCESS  read-create
  3190.        STATUS      current
  3191.  
  3192.  
  3193.  
  3194. Levi, et. al.               Standards Track                    [Page 57]
  3195.  
  3196. RFC 2263                  SNMPv3 Applications               January 1998
  3197.  
  3198.  
  3199.        DESCRIPTION
  3200.            "The storage type of this conceptual row."
  3201.        ::= { snmpProxyEntry 8 }
  3202.  
  3203.    snmpProxyRowStatus OBJECT-TYPE
  3204.        SYNTAX      RowStatus
  3205.        MAX-ACCESS  read-create
  3206.        STATUS      current
  3207.        DESCRIPTION
  3208.            "The status of this conceptual row.
  3209.  
  3210.             To create a row in this table, a manager must
  3211.             set this object to either createAndGo(4) or
  3212.             createAndWait(5).
  3213.  
  3214.             The following objects may not be modified while the
  3215.             value of this object is active(1):
  3216.                 - snmpProxyType
  3217.                 - snmpProxyContextEngineID
  3218.                 - snmpProxyContextName
  3219.                 - snmpProxyTargetParamsIn
  3220.                 - snmpProxySingleTargetOut
  3221.                 - snmpProxyMultipleTargetOut"
  3222.  
  3223.        ::= { snmpProxyEntry 9 }
  3224.  
  3225.    --
  3226.    --
  3227.    -- Conformance information
  3228.    --
  3229.    --
  3230.  
  3231.    snmpProxyCompliances OBJECT IDENTIFIER ::=
  3232.                                             { snmpProxyConformance 1 }
  3233.    snmpProxyGroups      OBJECT IDENTIFIER ::=
  3234.                                             { snmpProxyConformance 2 }
  3235.  
  3236.    --
  3237.    --
  3238.    -- Compliance statements
  3239.    --
  3240.    --
  3241.  
  3242.    snmpProxyCompliance MODULE-COMPLIANCE
  3243.        STATUS      current
  3244.        DESCRIPTION
  3245.            "The compliance statement for SNMP entities which include
  3246.             a proxy forwarding application."
  3247.  
  3248.  
  3249.  
  3250. Levi, et. al.               Standards Track                    [Page 58]
  3251.  
  3252. RFC 2263                  SNMPv3 Applications               January 1998
  3253.  
  3254.  
  3255.        MODULE SNMP-TARGET-MIB
  3256.            MANDATORY-GROUPS { snmpTargetBasicGroup,
  3257.                               snmpTargetResponseGroup }
  3258.        MODULE -- This Module
  3259.            MANDATORY-GROUPS { snmpProxyGroup }
  3260.        ::= { snmpProxyCompliances 1 }
  3261.  
  3262.    snmpProxyGroup OBJECT-GROUP
  3263.        OBJECTS {
  3264.            snmpProxyType,
  3265.            snmpProxyContextEngineID,
  3266.            snmpProxyContextName,
  3267.            snmpProxyTargetParamsIn,
  3268.            snmpProxySingleTargetOut,
  3269.            snmpProxyMultipleTargetOut,
  3270.            snmpProxyStorageType,
  3271.            snmpProxyRowStatus
  3272.        }
  3273.        STATUS      current
  3274.        DESCRIPTION
  3275.            "A collection of objects providing remote configuration of
  3276.             management target translation parameters for use by
  3277.             proxy forwarder applications."
  3278.  
  3279.        ::= { snmpProxyGroups 3 }
  3280.  
  3281.    END
  3282.  
  3283. 5.  Identification of Management Targets in Notification Originators
  3284.  
  3285.    This section describes the mechanisms used by a notification
  3286.    originator application when using the MIB module described in this
  3287.    document to determine the set of management targets to be used when
  3288.    generating a notification.
  3289.  
  3290.    A notification originator uses the snmpNotifyTable to find the
  3291.    management targets to be used for generating notifications.  Each
  3292.    active entry in this table identifies zero or more entries in the
  3293.    snmpTargetAddrTable.  Any entry in the snmpTargetAddrTable whose
  3294.    snmpTargetAddrTagList object contains a tag value which is equal to a
  3295.    value of snmpNotifyTag is selected by the snmpNotifyEntry which
  3296.    contains that instance of snmpNotifyTag.  Note that a particular
  3297.    snmpTargetAddrEntry may be selected by multiple entries in the
  3298.    snmpNotifyTable, resulting in multiple notifications being generated
  3299.    using that snmpTargetAddrEntry.
  3300.  
  3301.  
  3302.  
  3303.  
  3304.  
  3305.  
  3306. Levi, et. al.               Standards Track                    [Page 59]
  3307.  
  3308. RFC 2263                  SNMPv3 Applications               January 1998
  3309.  
  3310.  
  3311.    Each snmpTargetAddrEntry contains a pointer to the
  3312.    snmpTargetParamsTable (snmpTargetAddrParams).  This pointer selects a
  3313.    set of SNMP parameters to be used for generating notifications.  If
  3314.    the selected entry in the snmpTargetParamsTable does not exist, the
  3315.    management target is not used to generate notifications.
  3316.  
  3317.    The decision as to whether a notification should contain an SNMPv2-
  3318.    Trap or Inform PDU is determined by the value of the snmpNotifyType
  3319.    object.  If the value of this object is trap(1), the notification
  3320.    should contain an SNMPv2-Trap PDU.  If the value of this object is
  3321.    inform(2), then the notification should contain an Inform PDU, and
  3322.    the timeout time and number of retries for the Inform are the value
  3323.    of snmpTargetAddrTimeout and snmpTargetAddrRetryCount.  Note that the
  3324.    exception to these rules is when the snmpTargetParamsMPModel object
  3325.    indicates SNMPv1.  In this case, the notification is sent as a Trap
  3326.    if the value of snmpNotifyTargetType is either trap(1) or inform(2).
  3327.  
  3328. 6.  Notification Filtering
  3329.  
  3330.    This section describes the mechanisms used by a notification
  3331.    originator application when using the MIB module described in this
  3332.    document to filter generation of notifications.
  3333.  
  3334.    A notification originator uses the snmpNotifyFilterTable to filter
  3335.    notifications.  A notification filter profile may be associated with
  3336.    a particular entry in the snmpTargetParamsTable.  The associated
  3337.    filter profile is identified by an entry in the
  3338.    snmpNotifyFilterProfileTable whose index is equal to the index of the
  3339.    entry in the snmpTargetParamsTable.  If no such entry exists in the
  3340.    snmpNotifyFilterProfileTable, no filtering is performed for that
  3341.    management target.
  3342.  
  3343.    If such an entry does exist, the value of snmpNotifyFilterProfileName
  3344.    of the entry is compared with the corresponding portion of the index
  3345.    of all active entries in the snmpNotifyFilterTable.  All such entries
  3346.    for which this comparison results in an exact match are used for
  3347.    filtering a notification generated using the associated
  3348.    snmpTargetParamsEntry.  If no such entries exist, no filtering is
  3349.    performed, and a notification may be sent to the management target.
  3350.  
  3351.    Otherwise, if matching entries do exist, a notification may be sent
  3352.    if the NOTIFICATION-TYPE OBJECT IDENTIFIER of the notification (this
  3353.    is the value of the element of the variable bindings whose name is
  3354.    snmpTrapOID.0, i.e., the second variable binding), and all of the
  3355.    object instances to be included in the variable-bindings of the
  3356.    notification, are not specifically excluded by the matching entries.
  3357.  
  3358.  
  3359.  
  3360.  
  3361.  
  3362. Levi, et. al.               Standards Track                    [Page 60]
  3363.  
  3364. RFC 2263                  SNMPv3 Applications               January 1998
  3365.  
  3366.  
  3367.    Each set of snmpNotifyFilterTable entries is divided into two
  3368.    collections of filter subtrees:  the included filter subtrees, and
  3369.    the excluded filter subtrees.  The snmpNotifyFilterType object
  3370.    defines the collection to which each matching entry belongs.
  3371.  
  3372.    To determine whether a particular notification name or object
  3373.    instance is excluded by the set of matching entries, compare the
  3374.    notification name's or object instance's OBJECT IDENTIFIER with each
  3375.    of the matching entries.  If none match, then the notification name
  3376.    or object instance is considered excluded, and the notification
  3377.    should not be sent to this management target.  If one or more match,
  3378.    then the notification name or object instance is included or
  3379.    excluded, according to the value of snmpNotifyFilterType in the entry
  3380.    whose value of snmpNotifyFilterSubtree has the most sub-identifiers.
  3381.    If multiple entries match and have the same number of sub-
  3382.    identifiers, then the lexicographically greatest instance of
  3383.    snmpNotifyFilterType among those which match determines the inclusion
  3384.    or exclusion.
  3385.  
  3386.    A notification name's or object instance's OBJECT IDENTIFIER X
  3387.    matches an entry in the snmpNotifyFilterTable when the number of
  3388.    sub-identifiers in X is at least as many as in the value of
  3389.    snmpNotifyFilterSubtree for the entry, and each sub-identifier in the
  3390.    value of snmpNotifyFilterSubtree matches its corresponding sub-
  3391.    identifier in X.  Two sub-identifiers match either if the
  3392.    corresponding bit of snmpNotifyFilterMask is zero (the 'wild card'
  3393.    value), or if the two sub-identifiers are equal.
  3394.  
  3395. 7.  Management Target Translation in Proxy Forwarder Applications
  3396.  
  3397.    This section describes the mechanisms used by a proxy forwarder
  3398.    application when using the MIB module described in this document to
  3399.    translate incoming management target information into outgoing
  3400.    management target information for the purpose of forwarding messages.
  3401.    There are actually two mechanisms a proxy forwarder may use, one for
  3402.    forwarding request messages, and one for forwarding notification
  3403.    messages.
  3404.  
  3405. 7.1.  Management Target Translation for Request Forwarding
  3406.  
  3407.    When forwarding request messages, the proxy forwarder will select a
  3408.    single entry in the snmpProxyTable.  To select this entry, it will
  3409.    perform the following comparisons:
  3410.  
  3411.        -  The snmpProxyType must be read(1) if the request is a Get,
  3412.           GetNext, or GetBulk request.  The snmpProxyType must be
  3413.           write(2) if the request is a Set request.
  3414.  
  3415.  
  3416.  
  3417.  
  3418. Levi, et. al.               Standards Track                    [Page 61]
  3419.  
  3420. RFC 2263                  SNMPv3 Applications               January 1998
  3421.  
  3422.  
  3423.        -  The contextEngineId must equal the snmpProxyContextEngineID
  3424.           object.
  3425.  
  3426.        -  If the snmpProxyContextName object is supported, it must equal
  3427.           the contextName.
  3428.  
  3429.        -  The snmpProxyTargetParamsIn object identifies an entry in the
  3430.           snmpTargetParamsTable.  The messageProcessingModel,
  3431.           securityLevel, security model, and securityName must match the
  3432.           values of snmpTargetParamsMPModel,
  3433.           snmpTargetParamsSecurityModel, snmpTargetParamsSecurityName,
  3434.           and snmpTargetParamsSecurityLevel of the identified entry in
  3435.           the snmpTargetParamsTable.
  3436.  
  3437.    There may be multiple entries in the snmpProxyTable for which these
  3438.    comparisons succeed.  The entry whose snmpProxyName has the
  3439.    lexicographically smallest value and for which the comparisons
  3440.    succeed will be selected by the proxy forwarder.
  3441.  
  3442.    The outgoing management target information is identified by the value
  3443.    of the snmpProxySingleTargetOut object of the selected entry.  This
  3444.    object identifies an entry in the snmpTargetAddrTable.  The
  3445.    identified entry in the snmpTargetAddrTable also contains a reference
  3446.    to the snmpTargetParamsTable (snmpTargetAddrParams).  If either the
  3447.    identified entry in the snmpTargetAddrTable does not exist, or the
  3448.    identified entry in the snmpTargetParamsTable does not exist, then
  3449.    this snmpProxyEntry does not identify valid forwarding information,
  3450.    and the proxy forwarder should attempt to identify another row.
  3451.  
  3452.    If there is no entry in the snmpProxyTable for which all of the
  3453.    conditions above may be met, then there is no appropriate forwarding
  3454.    information, and the proxy forwarder should take appropriate actions.
  3455.  
  3456.    Otherwise, The snmpTargetAddrTDomain, snmpTargetAddrTAddress,
  3457.    snmpTargetAddrTimeout, and snmpTargetRetryCount of the identified
  3458.    snmpTargetAddrEntry, and the snmpTargetParamsMPModel,
  3459.    snmpTargetParamsSecurityModel, snmpTargetParamsSecurityName, and
  3460.    snmpTargetParamsSecurityLevel of the identified snmpTargetParamsEntry
  3461.    are used as the destination management target.
  3462.  
  3463. 7.2.  Management Target Translation for Notification Forwarding
  3464.  
  3465.    When forwarding notification messages, the proxy forwarder will
  3466.    select multiple entries in the snmpProxyTable.  To select these
  3467.    entries, it will perform the following comparisons:
  3468.  
  3469.  
  3470.  
  3471.  
  3472.  
  3473.  
  3474. Levi, et. al.               Standards Track                    [Page 62]
  3475.  
  3476. RFC 2263                  SNMPv3 Applications               January 1998
  3477.  
  3478.  
  3479.        -  The snmpProxyType must be trap(3) if the notification is a
  3480.           Trap.  The snmpProxyType must be inform(4) if the request is
  3481.           an Inform.
  3482.  
  3483.        -  The contextEngineId must equal the snmpProxyContextEngineID
  3484.           object.
  3485.  
  3486.        -  If the snmpProxyContextName object is supported, it must equal
  3487.           the contextName.
  3488.  
  3489.        -  The snmpProxyTargetParamsIn object identifies an entry in the
  3490.           snmpTargetParamsTable.  The messageProcessingModel,
  3491.           securityLevel, security model, and securityName must match the
  3492.           values of snmpTargetParamsMPModel,
  3493.           snmpTargetParamsSecurityModel, snmpTargetParamsSecurityName,
  3494.           and snmpTargetParamsSecurityLevel of the identified entry in
  3495.           the snmpTargetParamsTable.
  3496.  
  3497.    All entries for which these conditions are met are selected.  The
  3498.    snmpProxyMultipleTargetOut object of each such entry is used to
  3499.    select a set of entries in the snmpTargetAddrTable.  Any
  3500.    snmpTargetAddrEntry whose snmpTargetAddrTagList object contains a tag
  3501.    value equal to the value of snmpProxyMultipleTargetOut, and whose
  3502.    snmpTargetAddrParams object references an existing entry in the
  3503.    snmpTargetParamsTable, is selected as a destination for the forwarded
  3504.    notification.
  3505.  
  3506. 8.  Intellectual Property
  3507.  
  3508.    The IETF takes no position regarding the validity or scope of any
  3509.    intellectual property or other rights that might be claimed to
  3510.    pertain to the implementation or use of the technology described in
  3511.    this document or the extent to which any license under such rights
  3512.    might or might not be available; neither does it represent that it
  3513.    has made any effort to identify any such rights.  Information on the
  3514.    IETF's procedures with respect to rights in standards-track and
  3515.    standards-related documentation can be found in BCP-11.  Copies of
  3516.    claims of rights made available for publication and any assurances of
  3517.    licenses to be made available, or the result of an attempt made to
  3518.    obtain a general license or permission for the use of such
  3519.    proprietary rights by implementors or users of this specification can
  3520.    be obtained from the IETF Secretariat.
  3521.  
  3522.    The IETF invites any interested party to bring to its attention any
  3523.    copyrights, patents or patent applications, or other proprietary
  3524.    rights which may cover technology that may be required to practice
  3525.    this standard.  Please address the information to the IETF Executive
  3526.    Director.
  3527.  
  3528.  
  3529.  
  3530. Levi, et. al.               Standards Track                    [Page 63]
  3531.  
  3532. RFC 2263                  SNMPv3 Applications               January 1998
  3533.  
  3534.  
  3535. 9.  Acknowledgments
  3536.  
  3537.    This document is the result of the efforts of the SNMPv3 Working
  3538.    Group.  Some special thanks are in order to the following SNMPv3 WG
  3539.    members:
  3540.  
  3541.       Dave Battle (SNMP Research, Inc.)
  3542.       Uri Blumenthal (IBM T.J. Watson Research Center)
  3543.       Jeff Case (SNMP Research, Inc.)
  3544.       John Curran (BBN)
  3545.       T. Max Devlin (Hi-TECH Connections)
  3546.       John Flick (Hewlett Packard)
  3547.       David Harrington (Cabletron Systems Inc.)
  3548.       N.C. Hien (IBM T.J. Watson Research Center)
  3549.       Dave Levi (SNMP Research, Inc.)
  3550.       Louis A Mamakos (UUNET Technologies Inc.)
  3551.       Paul Meyer (Secure Computing Corporation)
  3552.       Keith McCloghrie (Cisco Systems)
  3553.       Russ Mundy (Trusted Information Systems, Inc.)
  3554.       Bob Natale (ACE*COMM Corporation)
  3555.       Mike O'Dell (UUNET Technologies Inc.)
  3556.       Dave Perkins (DeskTalk)
  3557.       Peter Polkinghorne (Brunel University)
  3558.       Randy Presuhn (BMC Software, Inc.)
  3559.       David Reid (SNMP Research, Inc.)
  3560.       Shawn Routhier (Epilogue)
  3561.       Juergen Schoenwaelder (TU Braunschweig)
  3562.       Bob Stewart (Cisco Systems)
  3563.       Bert Wijnen (IBM T.J. Watson Research Center)
  3564.  
  3565.    The document is based on recommendations of the IETF Security and
  3566.    Administrative Framework Evolution for SNMP Advisory Team. Members of
  3567.    that Advisory Team were:
  3568.  
  3569.       David Harrington (Cabletron Systems Inc.)
  3570.       Jeff Johnson (Cisco Systems)
  3571.       David Levi (SNMP Research Inc.)
  3572.       John Linn (Openvision)
  3573.       Russ Mundy (Trusted Information Systems) chair
  3574.       Shawn Routhier (Epilogue)
  3575.       Glenn Waters (Nortel)
  3576.       Bert Wijnen (IBM T. J. Watson Research Center)
  3577.  
  3578.    As recommended by the Advisory Team and the SNMPv3 Working Group
  3579.    Charter, the design incorporates as much as practical from previous
  3580.    RFCs and drafts. As a result, special thanks are due to the authors
  3581.    of previous designs known as SNMPv2u and SNMPv2*:
  3582.  
  3583.  
  3584.  
  3585.  
  3586. Levi, et. al.               Standards Track                    [Page 64]
  3587.  
  3588. RFC 2263                  SNMPv3 Applications               January 1998
  3589.  
  3590.  
  3591.       Jeff Case (SNMP Research, Inc.)
  3592.       David Harrington (Cabletron Systems Inc.)
  3593.       David Levi (SNMP Research, Inc.)
  3594.       Keith McCloghrie (Cisco Systems)
  3595.       Brian O'Keefe (Hewlett Packard)
  3596.       Marshall T. Rose (Dover Beach Consulting)
  3597.       Jon Saperia (BGS Systems Inc.)
  3598.       Steve Waldbusser (International Network Services)
  3599.       Glenn W. Waters (Bell-Northern Research Ltd.)
  3600.  
  3601. 10.  Security Considerations
  3602.  
  3603.    The SNMP applications described in this document typically have
  3604.    direct access to MIB instrumentation.  Thus, it is very important
  3605.    that these applications be strict in their application of access
  3606.    control as described in this document.
  3607.  
  3608.    In addition, there may be some types of notification generator
  3609.    applications which, rather than accessing MIB instrumentation using
  3610.    access control, will obtain MIB information through other means (such
  3611.    as from a command line).  The implementors and users of such
  3612.    applications must be responsible for not divulging MIB information
  3613.    that normally would be inaccessible due to access control.
  3614.  
  3615. 11.  References
  3616.  
  3617.    [RFC1157]
  3618.      Case, J., Fedor, M., Schoffstall, M. and J. Davin, "Simple Network
  3619.      Management Protocol", RFC 1157, May 1990.
  3620.  
  3621.    [RFC1213]
  3622.      McCloghrie, K. and M. Rose, Editors, "Management Information Base
  3623.      for Network Management of TCP/IP-based internets: MIB-II", STD 17,
  3624.      RFC 1213, March 1991.
  3625.  
  3626.    [RFC1902]
  3627.      Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Structure of
  3628.      Management Information for Version 2 of the Simple Network
  3629.      Management Protocol (SNMPv2)", RFC 1902, January 1996.
  3630.  
  3631.    [RFC1903]
  3632.      Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Textual
  3633.      Conventions for Version 2 of the Simple Network Management Protocol
  3634.      (SNMPv2)", RFC 1903, January 1996.
  3635.  
  3636.  
  3637.  
  3638.  
  3639.  
  3640.  
  3641.  
  3642. Levi, et. al.               Standards Track                    [Page 65]
  3643.  
  3644. RFC 2263                  SNMPv3 Applications               January 1998
  3645.  
  3646.  
  3647.    [RFC1905]
  3648.      SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and S.
  3649.      Waldbusser, "Protocol Operations for Version 2 of the Simple
  3650.      Network Management Protocol (SNMPv2)", RFC 1905, January 1996.
  3651.  
  3652.    [RFC1907]
  3653.      SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and S.
  3654.      Waldbusser, "Management Information Base for Version 2 of the
  3655.      Simple Network Management Protocol (SNMPv2)", RFC 1907, January
  3656.      1996.
  3657.  
  3658.    [RFC1908]
  3659.      SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and S.
  3660.      Waldbusser, "Coexistence between Version 1 and Version 2 of the
  3661.      Internet-standard Network Management Framework", RFC 1908, January
  3662.      1996.
  3663.  
  3664.    [RFC2261]
  3665.      Harrington, D., and B. Wijnen, "An Architecture for Describing SNMP
  3666.      Management Frameworks", RFC 2261, January 1998.
  3667.  
  3668.    [RFC2262]
  3669.      Case, J., Harrington, D., and B. Wijnen, "Message Processing and
  3670.      Dispatching for the Simple Network Management Protocol (SNMP)", RFC
  3671.      2262, January 1998.
  3672.  
  3673.    [RFC2265]
  3674.      Wijnen, B., Presuhn, R., and K. McCloghrie, "View-based Access
  3675.      Control Model for the Simple Network Management Protocol (SNMP)",
  3676.      RFC 2265, January 1998.
  3677.  
  3678.  
  3679.  
  3680.  
  3681.  
  3682.  
  3683.  
  3684.  
  3685.  
  3686.  
  3687.  
  3688.  
  3689.  
  3690.  
  3691.  
  3692.  
  3693.  
  3694.  
  3695.  
  3696.  
  3697.  
  3698. Levi, et. al.               Standards Track                    [Page 66]
  3699.  
  3700. RFC 2263                  SNMPv3 Applications               January 1998
  3701.  
  3702.  
  3703. 12.  Editors' Addresses
  3704.  
  3705.    David B. Levi
  3706.    SNMP Research, Inc.
  3707.    3001 Kimberlin Heights Road
  3708.    Knoxville, TN 37920-9716
  3709.    U.S.A.
  3710.  
  3711.    Phone: +1 423 573 1434
  3712.    EMail: levi@snmp.com
  3713.  
  3714.  
  3715.    Paul Meyer
  3716.    Secure Computing Corporation
  3717.    2675 Long Lake Road
  3718.    Roseville, MN 55113
  3719.    U.S.A.
  3720.  
  3721.    Phone: +1 612 628 1592
  3722.    EMail: paul_meyer@securecomputing.com
  3723.  
  3724.  
  3725.    Bob Stewart
  3726.    Cisco Systems, Inc.
  3727.    170 West Tasman Drive
  3728.    San Jose, CA 95134-1706
  3729.    U.S.A.
  3730.  
  3731.    Phone: +1 603 654 6923
  3732.    EMail: bstewart@cisco.com
  3733.  
  3734.  
  3735.  
  3736.  
  3737.  
  3738.  
  3739.  
  3740.  
  3741.  
  3742.  
  3743.  
  3744.  
  3745.  
  3746.  
  3747.  
  3748.  
  3749.  
  3750.  
  3751.  
  3752.  
  3753.  
  3754. Levi, et. al.               Standards Track                    [Page 67]
  3755.  
  3756. RFC 2263                  SNMPv3 Applications               January 1998
  3757.  
  3758.  
  3759. APPENDIX A - Trap Configuration Example
  3760.  
  3761.    This section describes an example configuration for a Notification
  3762.    Generator application which implements the snmpNotifyBasicCompliance
  3763.    level.  The example configuration specifies that the Notification
  3764.    Generator should send notifications to 3 separate managers, using
  3765.    authentication and no privacy for the first 2 managers, and using
  3766.    both authentication and privacy for the third manager.
  3767.  
  3768.    The configuration consists of three rows in the snmpTargetAddrTable,
  3769.    and two rows in the snmpTargetTable.
  3770.  
  3771.           snmpTargetAddrName         SnmpAdminString,
  3772.           snmpTargetAddrTDomain      TDomain,
  3773.           snmpTargetAddrTAddress     TAddress,
  3774.           snmpTargetAddrTimeout      TimeInterval,
  3775.           snmpTargetAddrRetryCount   Integer32,
  3776.           snmpTargetAddrTagList      SnmpAdminString,
  3777.           snmpTargetAddrParams       SnmpAdminString,
  3778.           snmpTargetAddrStorageType  StorageType,
  3779.           snmpTargetAddrRowStatus    RowStatus
  3780.  
  3781.         * snmpTargetAddrName        = "addr1"
  3782.           snmpTargetAddrTDomain     = snmpUDPDomain
  3783.           snmpTargetAddrTAddress    = 128.1.2.3:162
  3784.           snmpTargetAddrTagList     = "group1"
  3785.           snmpTargetAddrParams      = "AuthNoPriv joe"
  3786.           snmpTargetAddrStorageType = readOnly(5)
  3787.           snmpTargetAddrRowStatus   = active(1)
  3788.  
  3789.         * snmpTargetAddrName        = "addr2"
  3790.           snmpTargetAddrTDomain     = snmpUDPDomain
  3791.           snmpTargetAddrTAddress    = 128.2.4.6:162
  3792.           snmpTargetAddrTagList     = "group1"
  3793.           snmpTargetAddrParams      = "AuthNoPriv-joe"
  3794.           snmpTargetAddrStorageType = readOnly(5)
  3795.           snmpTargetAddrRowStatus   = active(1)
  3796.  
  3797.         * snmpTargetAddrName        = "addr3"
  3798.           snmpTargetAddrTDomain     = snmpUDPDomain
  3799.           snmpTargetAddrTAddress    = 128.1.2.3:162
  3800.           snmpTargetAddrTagList     = "group2"
  3801.           snmpTargetAddrParams      = "AuthPriv-bob"
  3802.           snmpTargetAddrStorageType = readOnly(5)
  3803.           snmpTargetAddrRowStatus   = active(1)
  3804.  
  3805.         * snmpTargetParamsName                   = "AuthNoPriv-joe"
  3806.           snmpTargetParamsMPModel                = 3
  3807.  
  3808.  
  3809.  
  3810. Levi, et. al.               Standards Track                    [Page 68]
  3811.  
  3812. RFC 2263                  SNMPv3 Applications               January 1998
  3813.  
  3814.  
  3815.           snmpTargetParamsSecurityModel          = 3 (USM)
  3816.           snmpTargetParamsSecurityName           = "joe"
  3817.           snmpTargetParamsSecurityLevel          = authNoPriv(2)
  3818.           snmpTargetParamsStorageType            = readOnly(5)
  3819.           snmpTargetParamsRowStatus              = active(1)
  3820.  
  3821.         * snmpTargetParamsName                   = "AuthPriv-bob"
  3822.           snmpTargetParamsMPModel                = 3
  3823.           snmpTargetParamsSecurityModel          = 3 (USM)
  3824.           snmpTargetParamsSecurityName           = "bob"
  3825.           snmpTargetParamsSecurityLevel          = authPriv(3)
  3826.           snmpTargetParamsStorageType            = readOnly(5)
  3827.           snmpTargetParamsRowStatus              = active(1)
  3828.  
  3829.         * snmpNotifyName         = "group1"
  3830.           snmpNotifyTag          = "group1"
  3831.           snmpNotifyType         = trap(1)
  3832.           snmpNotifyStorageType  = readOnly(5)
  3833.           snmpNotifyRowStatus    = active(1)
  3834.  
  3835.         * snmpNotifyName         = "group2"
  3836.           snmpNotifyTag          = "group2"
  3837.           snmpNotifyType         = trap(1)
  3838.           snmpNotifyStorageType  = readOnly(5)
  3839.           snmpNotifyRowStatus    = active(1)
  3840.  
  3841.    These entries define two groups of management targets.  The first
  3842.    group contains two management targets:
  3843.  
  3844.                                 first target      second target
  3845.                                 ------------      -------------
  3846.        messageProcessingModel   SNMPv3            SNMPv3
  3847.                 securityModel   3 (USM)           3 (USM)
  3848.                  securityName   "joe"             "joe"
  3849.                 securityLevel   authNoPriv(2)     authNoPriv(2)
  3850.               transportDomain   snmpUDPDomain     snmpUDPDomain
  3851.              transportAddress   128.1.2.3:162     128.2.4.6:162
  3852.  
  3853.    And the second group contains a single management target:
  3854.  
  3855.        messageProcessingModel   SNMPv3
  3856.                 securityLevel   authPriv(3)
  3857.                 securityModel   3 (USM)
  3858.                  securityName   "bob"
  3859.               transportDomain   snmpUDPDomain
  3860.              transportAddress   128.1.5.9:162
  3861.  
  3862.  
  3863.  
  3864.  
  3865.  
  3866. Levi, et. al.               Standards Track                    [Page 69]
  3867.  
  3868. RFC 2263                  SNMPv3 Applications               January 1998
  3869.  
  3870.  
  3871. B.  Full Copyright Statement
  3872.  
  3873.    This document and translations of it may be copied and furnished to
  3874.    others, and derivative works that comment on or otherwise explain it
  3875.    or assist in its implementation may be prepared, copied, published
  3876.    and distributed, in whole or in part, without restriction of any
  3877.    kind, provided that the above copyright notice and this paragraph are
  3878.    included on all such copies and derivative works.  However, this
  3879.    document itself may not be modified in any way, such as by removing
  3880.    the copyright notice or references to the Internet Society or other
  3881.    Internet organizations, except as needed for the  purpose of
  3882.    developing Internet standards in which case the procedures for
  3883.    copyrights defined in the Internet Standards process must be
  3884.    followed, or as required to translate it into languages other than
  3885.    English.
  3886.  
  3887.    The limited permissions granted above are perpetual and will not be
  3888.    revoked by the Internet Society or its successors or assigns.
  3889.  
  3890.    This document and the information contained herein is provided on an
  3891.    "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
  3892.    TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
  3893.    BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
  3894.    HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
  3895.    MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
  3896.  
  3897.  
  3898.  
  3899.  
  3900.  
  3901.  
  3902.  
  3903.  
  3904.  
  3905.  
  3906.  
  3907.  
  3908.  
  3909.  
  3910.  
  3911.  
  3912.  
  3913.  
  3914.  
  3915.  
  3916.  
  3917.  
  3918.  
  3919.  
  3920.  
  3921.  
  3922. Levi, et. al.               Standards Track                    [Page 70]
  3923.  
  3924.