home *** CD-ROM | disk | FTP | other *** search
/ Unix System Administration Handbook 1997 October / usah_oct97.iso / rfc / 1900s / rfc1904.txt < prev    next >
Text File  |  1996-01-19  |  47KB  |  1,348 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                               SNMPv2 Working Group
  8. Request for Comments: 1904                                       J. Case
  9. Obsoletes: 1444                                      SNMP Research, Inc.
  10. Category: Standards Track                                  K. McCloghrie
  11.                                                      Cisco Systems, Inc.
  12.                                                                  M. Rose
  13.                                             Dover Beach Consulting, Inc.
  14.                                                            S. Waldbusser
  15.                                           International Network Services
  16.                                                             January 1996
  17.  
  18.  
  19.               Conformance Statements for Version 2 of the
  20.               Simple Network Management Protocol (SNMPv2)
  21.  
  22. Status of this Memo
  23.  
  24.    This document specifies an Internet standards track protocol for the
  25.    Internet community, and requests discussion and suggestions for
  26.    improvements.  Please refer to the current edition of the "Internet
  27.    Official Protocol Standards" (STD 1) for the standardization state
  28.    and status of this protocol.  Distribution of this memo is unlimited.
  29.  
  30. Table of Contents
  31.  
  32.    1. Introduction ................................................    2
  33.    1.1 A Note on Terminology ......................................    3
  34.    2. Definitions .................................................    3
  35.    2.1 The OBJECT-GROUP macro .....................................    3
  36.    2.2 The NOTIFICATION-GROUP macro ...............................    4
  37.    2.3 The MODULE-COMPLIANCE macro ................................    5
  38.    2.4 The AGENT-CAPABILITIES macro ...............................    7
  39.    3. Mapping of the OBJECT-GROUP macro ...........................    9
  40.    3.1 Mapping of the OBJECTS clause ..............................   10
  41.    3.2 Mapping of the STATUS clause ...............................   10
  42.    3.3 Mapping of the DESCRIPTION clause ..........................   10
  43.    3.4 Mapping of the REFERENCE clause ............................   10
  44.    3.5 Mapping of the OBJECT-GROUP value ..........................   10
  45.    3.6 Usage Example ..............................................   11
  46.    4. Mapping of the NOTIFICATION-GROUP macro .....................   11
  47.    4.1 Mapping of the NOTIFICATIONS clause ........................   11
  48.    4.2 Mapping of the STATUS clause ...............................   11
  49.    4.3 Mapping of the DESCRIPTION clause ..........................   12
  50.    4.4 Mapping of the REFERENCE clause ............................   12
  51.    4.5 Mapping of the NOTIFICATION-GROUP value ....................   12
  52.    4.6 Usage Example ..............................................   12
  53.    5. Mapping of the MODULE-COMPLIANCE macro ......................   12
  54.    5.1 Mapping of the STATUS clause ...............................   13
  55.  
  56.  
  57.  
  58. SNMPv2 Working Group        Standards Track                     [Page 1]
  59.  
  60. RFC 1904           Conformance Statements for SNMPv2        January 1996
  61.  
  62.  
  63.    5.2 Mapping of the DESCRIPTION clause ..........................   13
  64.    5.3 Mapping of the REFERENCE clause ............................   13
  65.    5.4 Mapping of the MODULE clause ...............................   13
  66.    5.4.1 Mapping of the MANDATORY-GROUPS clause ...................   13
  67.    5.4.2 Mapping of the GROUP clause ..............................   14
  68.    5.4.3 Mapping of the OBJECT clause .............................   14
  69.    5.4.3.1 Mapping of the SYNTAX clause ...........................   14
  70.    5.4.3.2 Mapping of the WRITE-SYNTAX clause .....................   15
  71.    5.4.3.3 Mapping of the MIN-ACCESS clause .......................   15
  72.    5.4.4 Mapping of the DESCRIPTION clause ........................   15
  73.    5.5 Mapping of the MODULE-COMPLIANCE value .....................   15
  74.    5.6 Usage Example ..............................................   16
  75.    6. Mapping of the AGENT-CAPABILITIES macro .....................   16
  76.    6.1 Mapping of the PRODUCT-RELEASE clause ......................   17
  77.    6.2 Mapping of the STATUS clause ...............................   17
  78.    6.3 Mapping of the DESCRIPTION clause ..........................   17
  79.    6.4 Mapping of the REFERENCE clause ............................   17
  80.    6.5 Mapping of the SUPPORTS clause .............................   18
  81.    6.5.1 Mapping of the INCLUDES clause ...........................   18
  82.    6.5.2 Mapping of the VARIATION clause ..........................   18
  83.    6.5.2.1 Mapping of the SYNTAX clause ...........................   18
  84.    6.5.2.2 Mapping of the WRITE-SYNTAX clause .....................   18
  85.    6.5.2.3 Mapping of the ACCESS clause ...........................   19
  86.    6.5.2.4 Mapping of the CREATION-REQUIRES clause ................   19
  87.    6.5.2.5 Mapping of the DEFVAL clause ...........................   20
  88.    6.5.2.6 Mapping of the DESCRIPTION clause ......................   20
  89.    6.6 Mapping of the AGENT-CAPABILITIES value ....................   20
  90.    6.7 Usage Example ..............................................   20
  91.    7. Extending an Information Module .............................   22
  92.    7.1 Conformance Groups .........................................   22
  93.    7.2 Compliance Definitions .....................................   22
  94.    7.3 Capabilities Definitions ...................................   22
  95.    8. Security Considerations .....................................   23
  96.    9. Editor's Address ............................................   23
  97.    10. Acknowledgements ...........................................   23
  98.    11. References .................................................   24
  99.  
  100. 1.  Introduction
  101.  
  102.    A management system contains:  several (potentially many) nodes, each
  103.    with a processing entity, termed an agent, which has access to
  104.    management instrumentation; at least one management station; and, a
  105.    management protocol, used to convey management information between
  106.    the agents and management stations.  Operations of the protocol are
  107.    carried out under an administrative framework which defines
  108.    authentication, authorization, access control, and privacy policies.
  109.  
  110.  
  111.  
  112.  
  113.  
  114. SNMPv2 Working Group        Standards Track                     [Page 2]
  115.  
  116. RFC 1904           Conformance Statements for SNMPv2        January 1996
  117.  
  118.  
  119.    Management stations execute management applications which monitor and
  120.    control managed elements.  Managed elements are devices such as
  121.    hosts, routers, terminal servers, etc., which are monitored and
  122.    controlled via access to their management information.
  123.  
  124.    Management information is viewed as a collection of managed objects,
  125.    residing in a virtual information store, termed the Management
  126.    Information Base (MIB).  Collections of related objects are defined
  127.    in MIB modules.  These modules are written using a subset of OSI's
  128.    Abstract Syntax Notation One (ASN.1) [1], termed the Structure of
  129.    Management Information (SMI) [2].
  130.  
  131.    It may be useful to define the acceptable lower-bounds of
  132.    implementation, along with the actual level of implementation
  133.    achieved.  It is the purpose of this document to define the notation
  134.    used for these purposes.
  135.  
  136. 1.1.  A Note on Terminology
  137.  
  138.    For the purpose of exposition, the original Internet-standard Network
  139.    Management Framework, as described in RFCs 1155 (STD 16), 1157 (STD
  140.    15), and 1212 (STD 16), is termed the SNMP version 1 framework
  141.    (SNMPv1).  The current framework is termed the SNMP version 2
  142.    framework (SNMPv2).
  143.  
  144. 2.  Definitions
  145.  
  146. SNMPv2-CONF DEFINITIONS ::= BEGIN
  147.  
  148. -- definitions for conformance groups
  149.  
  150. OBJECT-GROUP MACRO ::=
  151. BEGIN
  152.     TYPE NOTATION ::=
  153.                   ObjectsPart
  154.                   "STATUS" Status
  155.                   "DESCRIPTION" Text
  156.                   ReferPart
  157.  
  158.     VALUE NOTATION ::=
  159.                   value(VALUE OBJECT IDENTIFIER)
  160.  
  161.     ObjectsPart ::=
  162.                   "OBJECTS" "{" Objects "}"
  163.     Objects ::=
  164.                   Object
  165.                 | Objects "," Object
  166.     Object ::=
  167.  
  168.  
  169.  
  170. SNMPv2 Working Group        Standards Track                     [Page 3]
  171.  
  172. RFC 1904           Conformance Statements for SNMPv2        January 1996
  173.  
  174.  
  175.                   value(Name ObjectName)
  176.  
  177.     Status ::=
  178.                   "current"
  179.                 | "deprecated"
  180.                 | "obsolete"
  181.  
  182.     ReferPart ::=
  183.                   "REFERENCE" Text
  184.                 | empty
  185.  
  186.     -- uses the NVT ASCII character set
  187.     Text ::= """" string """"
  188. END
  189.  
  190.  
  191. -- more definitions for conformance groups
  192.  
  193. NOTIFICATION-GROUP MACRO ::=
  194. BEGIN
  195.     TYPE NOTATION ::=
  196.                   NotificationsPart
  197.                   "STATUS" Status
  198.                   "DESCRIPTION" Text
  199.                   ReferPart
  200.  
  201.     VALUE NOTATION ::=
  202.                   value(VALUE OBJECT IDENTIFIER)
  203.  
  204.     NotificationsPart ::=
  205.                   "NOTIFICATIONS" "{" Notifications "}"
  206.     Notifications ::=
  207.                   Notification
  208.                 | Notifications "," Notification
  209.     Notification ::=
  210.                   value(Name NotificationName)
  211.  
  212.     Status ::=
  213.                   "current"
  214.                 | "deprecated"
  215.                 | "obsolete"
  216.  
  217.     ReferPart ::=
  218.                   "REFERENCE" Text
  219.                 | empty
  220.  
  221.     -- uses the NVT ASCII character set
  222.     Text ::= """" string """"
  223.  
  224.  
  225.  
  226. SNMPv2 Working Group        Standards Track                     [Page 4]
  227.  
  228. RFC 1904           Conformance Statements for SNMPv2        January 1996
  229.  
  230.  
  231. END
  232.  
  233.  
  234. -- definitions for compliance statements
  235.  
  236. MODULE-COMPLIANCE MACRO ::=
  237. BEGIN
  238.     TYPE NOTATION ::=
  239.                   "STATUS" Status
  240.                   "DESCRIPTION" Text
  241.                   ReferPart
  242.                   ModulePart
  243.  
  244.     VALUE NOTATION ::=
  245.                   value(VALUE OBJECT IDENTIFIER)
  246.  
  247.     Status ::=
  248.                   "current"
  249.                 | "deprecated"
  250.                 | "obsolete"
  251.  
  252.     ReferPart ::=
  253.                 "REFERENCE" Text
  254.               | empty
  255.  
  256.     ModulePart ::=
  257.                   Modules
  258.                 | empty
  259.     Modules ::=
  260.                   Module
  261.                 | Modules Module
  262.     Module ::=
  263.                   -- name of module --
  264.                   "MODULE" ModuleName
  265.                   MandatoryPart
  266.                   CompliancePart
  267.  
  268.     ModuleName ::=
  269.                   modulereference ModuleIdentifier
  270.                 -- must not be empty unless contained
  271.                 -- in MIB Module
  272.                 | empty
  273.     ModuleIdentifier ::=
  274.                   value(ModuleID OBJECT IDENTIFIER)
  275.                 | empty
  276.  
  277.     MandatoryPart ::=
  278.                   "MANDATORY-GROUPS" "{" Groups "}"
  279.  
  280.  
  281.  
  282. SNMPv2 Working Group        Standards Track                     [Page 5]
  283.  
  284. RFC 1904           Conformance Statements for SNMPv2        January 1996
  285.  
  286.  
  287.                 | empty
  288.  
  289.     Groups ::=
  290.                   Group
  291.                 | Groups "," Group
  292.     Group ::=
  293.                   value(Group OBJECT IDENTIFIER)
  294.  
  295.     CompliancePart ::=
  296.                   Compliances
  297.                 | empty
  298.  
  299.     Compliances ::=
  300.                   Compliance
  301.                 | Compliances Compliance
  302.     Compliance ::=
  303.                   ComplianceGroup
  304.                 | Object
  305.  
  306.     ComplianceGroup ::=
  307.                   "GROUP" value(Name OBJECT IDENTIFIER)
  308.                   "DESCRIPTION" Text
  309.  
  310.     Object ::=
  311.                   "OBJECT" value(Name ObjectName)
  312.                   SyntaxPart
  313.                   WriteSyntaxPart
  314.                   AccessPart
  315.                   "DESCRIPTION" Text
  316.  
  317.     -- must be a refinement for object's SYNTAX clause
  318.     SyntaxPart ::=
  319.                   "SYNTAX" type(SYNTAX)
  320.                 | empty
  321.  
  322.     -- must be a refinement for object's SYNTAX clause
  323.     WriteSyntaxPart ::=
  324.                   "WRITE-SYNTAX" type(WriteSYNTAX)
  325.                 | empty
  326.  
  327.     AccessPart ::=
  328.                   "MIN-ACCESS" Access
  329.                 | empty
  330.     Access ::=
  331.                   "not-accessible"
  332.                 | "accessible-for-notify"
  333.                 | "read-only"
  334.                 | "read-write"
  335.  
  336.  
  337.  
  338. SNMPv2 Working Group        Standards Track                     [Page 6]
  339.  
  340. RFC 1904           Conformance Statements for SNMPv2        January 1996
  341.  
  342.  
  343.                 | "read-create"
  344.  
  345.     -- uses the NVT ASCII character set
  346.     Text ::= """" string """"
  347. END
  348.  
  349.  
  350. -- definitions for capabilities statements
  351.  
  352. AGENT-CAPABILITIES MACRO ::=
  353. BEGIN
  354.     TYPE NOTATION ::=
  355.                   "PRODUCT-RELEASE" Text
  356.                   "STATUS" Status
  357.                   "DESCRIPTION" Text
  358.                   ReferPart
  359.                   ModulePart
  360.  
  361.     VALUE NOTATION ::=
  362.                   value(VALUE OBJECT IDENTIFIER)
  363.  
  364.     Status ::=
  365.                   "current"
  366.                 | "obsolete"
  367.  
  368.     ReferPart ::=
  369.                 "REFERENCE" Text
  370.               | empty
  371.  
  372.     ModulePart ::=
  373.                   Modules
  374.                 | empty
  375.     Modules ::=
  376.                   Module
  377.                 | Modules Module
  378.     Module ::=
  379.                   -- name of module --
  380.                   "SUPPORTS" ModuleName
  381.                   "INCLUDES" "{" Groups "}"
  382.                   VariationPart
  383.  
  384.     ModuleName ::=
  385.                   identifier ModuleIdentifier
  386.     ModuleIdentifier ::=
  387.                   value(ModuleID OBJECT IDENTIFIER)
  388.                 | empty
  389.  
  390.     Groups ::=
  391.  
  392.  
  393.  
  394. SNMPv2 Working Group        Standards Track                     [Page 7]
  395.  
  396. RFC 1904           Conformance Statements for SNMPv2        January 1996
  397.  
  398.  
  399.                   Group
  400.                 | Groups "," Group
  401.     Group ::=
  402.                   value(Name OBJECT IDENTIFIER)
  403.  
  404.     VariationPart ::=
  405.                   Variations
  406.                 | empty
  407.     Variations ::=
  408.                   Variation
  409.                 | Variations Variation
  410.  
  411.     Variation ::=
  412.                   ObjectVariation
  413.                 | NotificationVariation
  414.  
  415.     NotificationVariation ::=
  416.                   "VARIATION" value(Name NotificationName)
  417.                   AccessPart
  418.                   "DESCRIPTION" Text
  419.  
  420.     ObjectVariation ::=
  421.                   "VARIATION" value(Name ObjectName)
  422.                   SyntaxPart
  423.                   WriteSyntaxPart
  424.                   AccessPart
  425.                   CreationPart
  426.                   DefValPart
  427.                   "DESCRIPTION" Text
  428.  
  429.     -- must be a refinement for object's SYNTAX clause
  430.     SyntaxPart ::=
  431.                   "SYNTAX" type(SYNTAX)
  432.                 | empty
  433.  
  434.     -- must be a refinement for object's SYNTAX clause
  435.     WriteSyntaxPart ::=
  436.                   "WRITE-SYNTAX" type(WriteSYNTAX)
  437.                 | empty
  438.  
  439.     AccessPart ::=
  440.                   "ACCESS" Access
  441.                 | empty
  442.  
  443.     Access ::=
  444.                   "not-implemented"
  445.                 -- only "not-implemented" for notifications
  446.                 | "accessible-for-notify"
  447.  
  448.  
  449.  
  450. SNMPv2 Working Group        Standards Track                     [Page 8]
  451.  
  452. RFC 1904           Conformance Statements for SNMPv2        January 1996
  453.  
  454.  
  455.                 | "read-only"
  456.                 | "read-write"
  457.                 | "read-create"
  458.                 -- following is for backward-compatibility only
  459.                 | "write-only"
  460.  
  461.     CreationPart ::=
  462.                   "CREATION-REQUIRES" "{" Cells "}"
  463.                 | empty
  464.  
  465.     Cells ::=
  466.                   Cell
  467.                 | Cells "," Cell
  468.  
  469.     Cell ::=
  470.                   value(Cell ObjectName)
  471.  
  472.     DefValPart ::=
  473.                   "DEFVAL" "{" value(Defval ObjectSyntax) "}"
  474.                 | empty
  475.  
  476.     -- uses the NVT ASCII character set
  477.     Text ::= """" string """"
  478. END
  479.  
  480.  
  481. END
  482.  
  483. 3.  Mapping of the OBJECT-GROUP macro
  484.  
  485.    For conformance purposes, it is useful to define a collection of
  486.    related managed objects.  The OBJECT-GROUP macro is used to define
  487.    each such collection of related objects.  It should be noted that the
  488.    expansion of the OBJECT-GROUP macro is something which conceptually
  489.    happens during implementation and not during run-time.
  490.  
  491.    To "implement" an object, a SNMPv2 entity acting in an agent role
  492.    must return a reasonably accurate value for management protocol
  493.    retrieval operations; similarly, if the object is writable, then in
  494.    response to a management protocol set operation, a SNMPv2 entity must
  495.    accordingly be able to reasonably influence the underlying managed
  496.    entity.  If a SNMPv2 entity acting in an agent role can not implement
  497.    an object, the management protocol provides for the SNMPv2 entity to
  498.    return an exception or error, e.g, noSuchObject [4].  Under no
  499.    circumstances shall a SNMPv2 entity return a value for objects which
  500.    it does not implement -- it must always return the appropriate
  501.    exception or error, as described in the protocol specification [4].
  502.  
  503.  
  504.  
  505.  
  506. SNMPv2 Working Group        Standards Track                     [Page 9]
  507.  
  508. RFC 1904           Conformance Statements for SNMPv2        January 1996
  509.  
  510.  
  511. 3.1.  Mapping of the OBJECTS clause
  512.  
  513.    The OBJECTS clause, which must be present, is used to name each
  514.    object contained in the conformance group.  Each of the named objects
  515.    must be defined in the same information module as the OBJECT-GROUP
  516.    macro appears, and must have a MAX-ACCESS clause value of
  517.    "accessible-for-notify", "read-only", "read-write", or "read-create".
  518.  
  519.    It is required that every object defined in an information module
  520.    with a MAX-ACCESS clause other than "not-accessible" be contained in
  521.    at least one object group.  This avoids the common error of adding a
  522.    new object to an information module and forgetting to add the new
  523.    object to a group.
  524.  
  525. 3.2.  Mapping of the STATUS clause
  526.  
  527.    The STATUS clause, which must be present, indicates whether this
  528.    definition is current or historic.
  529.  
  530.    The values "current", and "obsolete" are self-explanatory.  The
  531.    "deprecated" value indicates that the definition is obsolete, but
  532.    that an implementor may wish to support the group to foster
  533.    interoperability with older implementations.
  534.  
  535. 3.3.  Mapping of the DESCRIPTION clause
  536.  
  537.    The DESCRIPTION clause, which must be present, contains a textual
  538.    definition of that group, along with a description of any relations
  539.    to other groups.  Note that generic compliance requirements should
  540.    not be stated in this clause.  However, implementation relationships
  541.    between this group and other groups may be defined in this clause.
  542.  
  543. 3.4.  Mapping of the REFERENCE clause
  544.  
  545.    The REFERENCE clause, which need not be present, contains a textual
  546.    cross-reference to a group  defined in some other information module.
  547.    This is useful when de-osifying a MIB module produced by some other
  548.    organization.
  549.  
  550. 3.5.  Mapping of the OBJECT-GROUP value
  551.  
  552.    The value of an invocation of the OBJECT-GROUP macro is the name of
  553.    the group, which is an OBJECT IDENTIFIER, an administratively
  554.    assigned name.
  555.  
  556.  
  557.  
  558.  
  559.  
  560.  
  561.  
  562. SNMPv2 Working Group        Standards Track                    [Page 10]
  563.  
  564. RFC 1904           Conformance Statements for SNMPv2        January 1996
  565.  
  566.  
  567. 3.6.  Usage Example
  568.  
  569.    The SNMP Group [3] is described:
  570.  
  571. snmpGroup OBJECT-GROUP
  572.     OBJECTS { snmpInPkts,
  573.               snmpInBadVersions,
  574.               snmpInASNParseErrs,
  575.               snmpBadOperations,
  576.               snmpSilentDrops,
  577.               snmpProxyDrops,
  578.               snmpEnableAuthenTraps }
  579.     STATUS  current
  580.     DESCRIPTION
  581.             "A collection of objects providing basic instrumentation and
  582.             control of an SNMPv2 entity."
  583.     ::= { snmpMIBGroups 8 }
  584.  
  585.  
  586. According to this invocation, the conformance group named
  587.  
  588.      { snmpMIBGroups 8 }
  589.  
  590. contains 7 objects.
  591.  
  592. 4.  Mapping of the NOTIFICATION-GROUP macro
  593.  
  594.    For conformance purposes, it is useful to define a collection of
  595.    notifications.  The NOTIFICATION-GROUP macro serves this purpose.  It
  596.    should be noted that the expansion of the NOTIFICATION-GROUP macro is
  597.    something which conceptually happens during implementation and not
  598.    during run-time.
  599.  
  600. 4.1.  Mapping of the NOTIFICATIONS clause
  601.  
  602.    The NOTIFICATIONS clause, which must be present, is used to name each
  603.    notification contained in the conformance group.  Each of the named
  604.    notifications must be defined in the same information module as the
  605.    NOTIFICATION-GROUP macro appears.
  606.  
  607. 4.2.  Mapping of the STATUS clause
  608.  
  609.    The STATUS clause, which must be present, indicates whether this
  610.    definition is current or historic.
  611.  
  612.    The values "current", and "obsolete" are self-explanatory.  The
  613.    "deprecated" value indicates that the definition is obsolete, but
  614.    that an implementor may wish to support the group to foster
  615.  
  616.  
  617.  
  618. SNMPv2 Working Group        Standards Track                    [Page 11]
  619.  
  620. RFC 1904           Conformance Statements for SNMPv2        January 1996
  621.  
  622.  
  623.    interoperability with older implementations.
  624.  
  625. 4.3.  Mapping of the DESCRIPTION clause
  626.  
  627.    The DESCRIPTION clause, which must be present, contains a textual
  628.    definition of the group, along with a description of any relations to
  629.    other groups.  Note that generic compliance requirements should not
  630.    be stated in this clause.  However, implementation relationships
  631.    between this group and other groups may be defined in this clause.
  632.  
  633. 4.4.  Mapping of the REFERENCE clause
  634.  
  635.    The REFERENCE clause, which need not be present, contains a textual
  636.    cross-reference to a group defined in some other information module.
  637.    This is useful when de-osifying a MIB module produced by some other
  638.    organization.
  639.  
  640. 4.5.  Mapping of the NOTIFICATION-GROUP value
  641.  
  642.    The value of an invocation of the NOTIFICATION-GROUP macro is the
  643.    name of the group, which is an OBJECT IDENTIFIER, an administratively
  644.    assigned name.
  645.  
  646. 4.6.  Usage Example
  647.  
  648.    The SNMP Basic Notifications Group [3] is described:
  649.  
  650. snmpBasicNotificationsGroup NOTIFICATION-GROUP
  651.     NOTIFICATIONS { coldStart, authenticationFailure }
  652.     STATUS        current
  653.     DESCRIPTION
  654.             "The two notifications which an SNMPv2 entity is required to
  655.             implement."
  656.     ::= { snmpMIBGroups 7 }
  657.  
  658. According to this invocation, the conformance group named
  659.  
  660.      { snmpMIBGroups 1 }
  661.  
  662. contains 2 notifications.
  663.  
  664. 5.  Mapping of the MODULE-COMPLIANCE macro
  665.  
  666.    The MODULE-COMPLIANCE macro is used to convey a minimum set of
  667.    requirements with respect to implementation of one or more MIB
  668.    modules.  It should be noted that the expansion of the MODULE-
  669.    COMPLIANCE macro is something which conceptually happens during
  670.    implementation and not during run-time.
  671.  
  672.  
  673.  
  674. SNMPv2 Working Group        Standards Track                    [Page 12]
  675.  
  676. RFC 1904           Conformance Statements for SNMPv2        January 1996
  677.  
  678.  
  679.    A requirement on all "standard" MIB modules is that a corresponding
  680.    MODULE-COMPLIANCE specification is also defined, either in the same
  681.    information module or in a companion information module.
  682.  
  683. 5.1.  Mapping of the STATUS clause
  684.  
  685.    The STATUS clause, which must be present, indicates whether this
  686.    definition is current or historic.
  687.  
  688.    The values "current", and "obsolete" are self-explanatory.  The
  689.    "deprecated" value indicates that the specification is obsolete, but
  690.    that an implementor may wish to support that object to foster
  691.    interoperability with older implementations.
  692.  
  693. 5.2.  Mapping of the DESCRIPTION clause
  694.  
  695.    The DESCRIPTION clause, which must be present, contains a textual
  696.    definition of this compliance statement and should embody any
  697.    information which would otherwise be communicated in any ASN.1
  698.    commentary annotations associated with the statement.
  699.  
  700. 5.3.  Mapping of the REFERENCE clause
  701.  
  702.    The REFERENCE clause, which need not be present, contains a textual
  703.    cross-reference to a compliance statement defined in some other
  704.    information module.
  705.  
  706. 5.4.  Mapping of the MODULE clause
  707.  
  708.    The MODULE clause, which must be present, is repeatedly used to name
  709.    each MIB module for which compliance requirements are being
  710.    specified.  Each MIB module is named by its module name, and
  711.    optionally, by its associated OBJECT IDENTIFIER as well.  The module
  712.    name can be omitted when the MODULE-COMPLIANCE invocation occurs
  713.    inside a MIB module, to refer to the encompassing MIB module.
  714.  
  715. 5.4.1.  Mapping of the MANDATORY-GROUPS clause
  716.  
  717.    The MANDATORY-GROUPS clause, which need not be present, names the one
  718.    or more object or notification groups within the correspondent MIB
  719.    module which are unconditionally mandatory for implementation.  If a
  720.    SNMPv2 entity acting in an agent role claims compliance to the MIB
  721.    module, then it must implement each and every object and notification
  722.    within each conformance group listed.  That is, if a SNMPv2 entity
  723.    returns a noSuchObject exception in response to a management protocol
  724.    get operation [4] for any object within any mandatory conformance
  725.    group for every MIB view, or if the SNMPv2 entity cannot generate
  726.    each notification listed in any conformance group under the
  727.  
  728.  
  729.  
  730. SNMPv2 Working Group        Standards Track                    [Page 13]
  731.  
  732. RFC 1904           Conformance Statements for SNMPv2        January 1996
  733.  
  734.  
  735.    appropriate circumstances, then that SNMPv2 entity is not a
  736.    conformant implementation of the MIB module.
  737.  
  738. 5.4.2.  Mapping of the GROUP clause
  739.  
  740.    The GROUP clause, which need not be present, is repeatedly used to
  741.    name each object and notification group which is conditionally
  742.    mandatory or unconditionally optional for compliance to the MIB
  743.    module.  A group named in a GROUP clause must be absent from the
  744.    correspondent MANDATORY-GROUPS clause.
  745.  
  746.    Conditionally mandatory groups include those which are mandatory only
  747.    if a particular protocol is implemented, or only if another group is
  748.    implemented.  A GROUP clause's DESCRIPTION specifies the conditions
  749.    under which the group is conditionally mandatory.
  750.  
  751.    A group which is named in neither a MANDATORY-GROUPS clause nor a
  752.    GROUP clause, is unconditionally optional for compliance to the MIB
  753.    module.
  754.  
  755. 5.4.3.  Mapping of the OBJECT clause
  756.  
  757.    The OBJECT clause, which need not be present, is repeatedly used to
  758.    name each MIB object for which compliance has a refined requirement
  759.    with respect to the MIB module definition.  The MIB object must be
  760.    present in one of the conformance groups named in the correspondent
  761.    MANDATORY-GROUPS clause or GROUP clauses.
  762.  
  763.    By definition, each object specified in an OBJECT clause follows a
  764.    MODULE clause which names the information module in which that object
  765.    is defined.  Therefore, the use of an IMPORTS statement, to specify
  766.    from where such objects are imported, is redundant and is not
  767.    required in an information module.
  768.  
  769. 5.4.3.1.  Mapping of the SYNTAX clause
  770.  
  771.    The SYNTAX clause, which need not be present, is used to provide a
  772.    refined SYNTAX for the object named in the correspondent OBJECT
  773.    clause.  Note that if this clause and a WRITE-SYNTAX clause are both
  774.    present, then this clause only applies when instances of the object
  775.    named in the correspondent OBJECT clause are read.
  776.  
  777.    Consult Section 9 of [2] for more information on refined syntax.
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786. SNMPv2 Working Group        Standards Track                    [Page 14]
  787.  
  788. RFC 1904           Conformance Statements for SNMPv2        January 1996
  789.  
  790.  
  791. 5.4.3.2.  Mapping of the WRITE-SYNTAX clause
  792.  
  793.    The WRITE-SYNTAX clause, which need not be present, is used to
  794.    provide a refined SYNTAX for the object named in the correspondent
  795.    OBJECT clause when instances of that object are written.
  796.  
  797.    Consult Section 9 of [2] for more information on refined syntax.
  798.  
  799. 5.4.3.3.  Mapping of the MIN-ACCESS clause
  800.  
  801.    The MIN-ACCESS clause, which need not be present, is used to define
  802.    the minimal level of access for the object named in the correspondent
  803.    OBJECT clause.  If this clause is absent, the minimal level of access
  804.    is the same as the maximal level specified in the correspondent
  805.    invocation of the OBJECT-TYPE macro.  If present, this clause must
  806.    not specify a greater level of access than is specified in the
  807.    correspondent invocation of the OBJECT-TYPE macro.
  808.  
  809.    The level of access for certain types of objects is fixed according
  810.    to their syntax definition.  These types include: conceptual tables
  811.    and rows, auxiliary objects, and objects with the syntax of
  812.    Counter32, Counter64 (and possibly, certain types of textual
  813.    conventions).  A MIN-ACCESS clause should not be present for such
  814.    objects.
  815.  
  816.    An implementation is compliant if the level of access it provides is
  817.    greater or equal to the minimal level in the MODULE-COMPLIANCE macro
  818.    and less or equal to the maximal level in the OBJECT-TYPE macro.
  819.  
  820. 5.4.4.  Mapping of the DESCRIPTION clause
  821.  
  822.    The DESCRIPTION clause must be present for each use of the GROUP or
  823.    OBJECT clause.  For an OBJECT clause, it contains a textual
  824.    description of the refined compliance requirement.  For a GROUP
  825.    clause, it contains a textual description of the conditions under
  826.    which the group is conditionally mandatory or unconditionally
  827.    optional.
  828.  
  829. 5.5.  Mapping of the MODULE-COMPLIANCE value
  830.  
  831.    The value of an invocation of the MODULE-COMPLIANCE macro is an
  832.    OBJECT IDENTIFIER.  As such, this value may be authoritatively used
  833.    when referring to the compliance statement embodied by that
  834.    invocation of the macro.
  835.  
  836.  
  837.  
  838.  
  839.  
  840.  
  841.  
  842. SNMPv2 Working Group        Standards Track                    [Page 15]
  843.  
  844. RFC 1904           Conformance Statements for SNMPv2        January 1996
  845.  
  846.  
  847. 5.6.  Usage Example
  848.  
  849.    The compliance statement contained in the (hypothetical) XYZv2-MIB
  850.    might be:
  851.  
  852. xyzMIBCompliance MODULE-COMPLIANCE
  853.     STATUS  current
  854.     DESCRIPTION
  855.             "The compliance statement for XYZv2 entities which implement
  856.             the XYZv2 MIB."
  857.     MODULE  -- compliance to the containing MIB module
  858.         MANDATORY-GROUPS { xyzSystemGroup,
  859.                            xyzStatsGroup, xyzTrapGroup,
  860.                            xyzSetGroup,
  861.                            xyzBasicNotificationsGroup }
  862.  
  863.         GROUP   xyzV1Group
  864.         DESCRIPTION
  865.             "The xyzV1 group is mandatory only for those
  866.              XYZv2 entities which also implement XYZv1."
  867. ::= { xyzMIBCompliances 1 }
  868.  
  869.    According to this invocation, to claim alignment with the compliance
  870.    statement named
  871.  
  872.      { xyzMIBCompliances 1 }
  873.  
  874.    a system must implement the XYZv2-MIB's xyzSystemGroup,
  875.    xyzStatsGroup, xyzTrapGroup, and xyzSetGroup object conformance
  876.    groups, as well as the xyzBasicNotificationsGroup notifications
  877.    group.  Furthermore, if the XYZv2 entity also implements XYZv1, then
  878.    it must also support the XYZv1Group group, if compliance is to be
  879.    claimed.
  880.  
  881. 6.  Mapping of the AGENT-CAPABILITIES macro
  882.  
  883.    The AGENT-CAPABILITIES macro is used to convey a set of capabilities
  884.    present in a SNMPv2 entity acting in an agent role.  It should be
  885.    noted that the expansion of the AGENT-CAPABILITIES macro is something
  886.    which conceptually happens during implementation and not during run-
  887.    time.
  888.  
  889.    When a MIB module is written, it is divided into units of conformance
  890.    termed groups.  If a SNMPv2 entity acting in an agent role claims to
  891.    implement a group, then it must implement each and every object
  892.    within that group.  Of course, for whatever reason, a SNMPv2 entity
  893.    might implement only a subset of the groups within a MIB module.  In
  894.    addition, the definition of some MIB objects leave some aspects of
  895.  
  896.  
  897.  
  898. SNMPv2 Working Group        Standards Track                    [Page 16]
  899.  
  900. RFC 1904           Conformance Statements for SNMPv2        January 1996
  901.  
  902.  
  903.    the definition to the discretion of an implementor.
  904.  
  905.    Practical experience has demonstrated a need for concisely describing
  906.    the capabilities of an agent with respect to one or more MIB modules.
  907.    The AGENT-CAPABILITIES macro allows an agent implementor to describe
  908.    the precise level of support which an agent claims in regards to a
  909.    MIB group, and to bind that description to the value of an instance
  910.    of sysORID [3].  In particular, some objects may have restricted or
  911.    augmented syntax or access-levels.
  912.  
  913.    If the AGENT-CAPABILITIES invocation is given to a management-station
  914.    implementor, then that implementor can build management applications
  915.    which optimize themselves when communicating with a particular agent.
  916.    For example, the management-station can maintain a database of these
  917.    invocations.  When a management-station interacts with an agent, it
  918.    retrieves from the agent the values of all instances of sysORID [3].
  919.    Based on this, it consults the database to locate each entry matching
  920.    one of the retrieved values of sysORID.  Using the located entries,
  921.    the management application can now optimize its behavior accordingly.
  922.  
  923.    Note that the AGENT-CAPABILITIES macro specifies refinements or
  924.    variations with respect to OBJECT-TYPE and NOTIFICATION-TYPE macros
  925.    in MIB modules, NOT with respect to MODULE-COMPLIANCE macros in
  926.    compliance statements.
  927.  
  928. 6.1.  Mapping of the PRODUCT-RELEASE clause
  929.  
  930.    The PRODUCT-RELEASE clause, which must be present, contains a textual
  931.    description of the product release which includes this set of
  932.    capabilities.
  933.  
  934. 6.2.  Mapping of the STATUS clause
  935.  
  936.    The STATUS clause, which must be present, indicates whether this
  937.    definition is current ("current") or historic ("obsolete").
  938.  
  939. 6.3.  Mapping of the DESCRIPTION clause
  940.  
  941.    The DESCRIPTION clause, which must be present, contains a textual
  942.    description of this set of capabilities.
  943.  
  944. 6.4.  Mapping of the REFERENCE clause
  945.  
  946.    The REFERENCE clause, which need not be present, contains a textual
  947.    cross-reference to a capability statement defined in some other
  948.    information module.
  949.  
  950.  
  951.  
  952.  
  953.  
  954. SNMPv2 Working Group        Standards Track                    [Page 17]
  955.  
  956. RFC 1904           Conformance Statements for SNMPv2        January 1996
  957.  
  958.  
  959. 6.5.  Mapping of the SUPPORTS clause
  960.  
  961.    The SUPPORTS clause, which need not be present, is repeatedly used to
  962.    name each MIB module for which the agent claims a complete or partial
  963.    implementation.  Each MIB module is named by its module name, and
  964.    optionally, by its associated OBJECT IDENTIFIER as well.
  965.  
  966. 6.5.1.  Mapping of the INCLUDES clause
  967.  
  968.    The INCLUDES clause, which must be present for each use of the
  969.    SUPPORTS clause, is used to name each MIB group associated with the
  970.    SUPPORTS clause, which the agent claims to implement.
  971.  
  972. 6.5.2.  Mapping of the VARIATION clause
  973.  
  974.    The VARIATION clause, which need not be present, is repeatedly used
  975.    to name each object or notification which the agent implements in
  976.    some variant or refined fashion with respect to the correspondent
  977.    invocation of the OBJECT-TYPE or NOTIFICATION-TYPE macro.
  978.  
  979.    Note that the variation concept is meant for generic implementation
  980.    restrictions, e.g., if the variation for an object depends on the
  981.    values of other objects, then this should be noted in the appropriate
  982.    DESCRIPTION clause.
  983.  
  984.    By definition, each object specified in a VARIATION clause follows a
  985.    SUPPORTS clause which names the information module in which that
  986.    object is defined.  Therefore, the use of an IMPORTS statement, to
  987.    specify from where such objects are imported, is redundant and is not
  988.    required in an information module.
  989.  
  990. 6.5.2.1.  Mapping of the SYNTAX clause
  991.  
  992.    The SYNTAX clause, which need not be present, is used to provide a
  993.    refined SYNTAX for the object named in the correspondent VARIATION
  994.    clause.  Note that if this clause and a WRITE-SYNTAX clause are both
  995.    present, then this clause only applies when instances of the object
  996.    named in the correspondent VARIATION clause are read.
  997.  
  998.    Consult Section 9 of [2] for more information on refined syntax.
  999.  
  1000. 6.5.2.2.  Mapping of the WRITE-SYNTAX clause
  1001.  
  1002.    The WRITE-SYNTAX clause, which need not be present, is used to
  1003.    provide a refined SYNTAX for the object named in the correspondent
  1004.    VARIATION clause when instances of that object are written.
  1005.  
  1006.    Consult Section 9 of [2] for more information on refined syntax.
  1007.  
  1008.  
  1009.  
  1010. SNMPv2 Working Group        Standards Track                    [Page 18]
  1011.  
  1012. RFC 1904           Conformance Statements for SNMPv2        January 1996
  1013.  
  1014.  
  1015. 6.5.2.3.  Mapping of the ACCESS clause
  1016.  
  1017.    The ACCESS clause, which need not be present, is used to indicate the
  1018.    agent provides less than the maximal level of access to the object or
  1019.    notification named in the correspondent VARIATION clause.
  1020.  
  1021.    The only value applicable to notifications is "not-implemented".
  1022.  
  1023.    The value "not-implemented" indicates the agent does not implement
  1024.    the object or notification, and in the ordering of possible values is
  1025.    equivalent to "not-accessible".
  1026.  
  1027.    The value "write-only" is provided solely for backward compatibility,
  1028.    and shall not be used for newly-defined object types.  In the
  1029.    ordering of possible values, "write-only" is less than "not-
  1030.    accessible".
  1031.  
  1032. 6.5.2.4.  Mapping of the CREATION-REQUIRES clause
  1033.  
  1034.    The CREATION-REQUIRES clause, which need not be present, is used to
  1035.    name the columnar objects of a conceptual row to which values must be
  1036.    explicitly assigned, by a management protocol set operation, before
  1037.    the agent will allow the instance of the status column of that row to
  1038.    be set to `active'.  (Consult the definition of RowStatus [5].)
  1039.  
  1040.    If the conceptual row does not have a status column (i.e., the
  1041.    objects corresponding to the conceptual table were defined using the
  1042.    mechanisms in [6,7]), then the CREATION-REQUIRES clause, which need
  1043.    not be present, is used to name the columnar objects of a conceptual
  1044.    row to which values must be explicitly assigned, by a management
  1045.    protocol set operation, before the agent will create new instances of
  1046.    objects in that row.
  1047.  
  1048.    This clause must not present unless the object named in the
  1049.    correspondent VARIATION clause is a conceptual row, i.e., has a
  1050.    syntax which resolves to a SEQUENCE containing columnar objects.  The
  1051.    objects named in the value of this clause usually will refer to
  1052.    columnar objects in that row.  However, objects unrelated to the
  1053.    conceptual row may also be specified.
  1054.  
  1055.    All objects which are named in the CREATION-REQUIRES clause for a
  1056.    conceptual row, and which are columnar objects of that row, must have
  1057.    an access level of "read-create".
  1058.  
  1059.  
  1060.  
  1061.  
  1062.  
  1063.  
  1064.  
  1065.  
  1066. SNMPv2 Working Group        Standards Track                    [Page 19]
  1067.  
  1068. RFC 1904           Conformance Statements for SNMPv2        January 1996
  1069.  
  1070.  
  1071. 6.5.2.5.  Mapping of the DEFVAL clause
  1072.  
  1073.    The DEFVAL clause, which need not be present, is used to provide a
  1074.    refined DEFVAL value for the object named in the correspondent
  1075.    VARIATION clause.  The semantics of this value are identical to those
  1076.    of the OBJECT-TYPE macro's DEFVAL clause.
  1077.  
  1078. 6.5.2.6.  Mapping of the DESCRIPTION clause
  1079.  
  1080.    The DESCRIPTION clause, which must be present for each use of the
  1081.    VARIATION clause, contains a textual description of the variant or
  1082.    refined implementation of the object or notification.
  1083.  
  1084. 6.6.  Mapping of the AGENT-CAPABILITIES value
  1085.  
  1086.    The value of an invocation of the AGENT-CAPABILITIES macro is an
  1087.    OBJECT IDENTIFIER, which names the value of sysORID [3] for which
  1088.    this capabilities statement is valid.
  1089.  
  1090. 6.7.  Usage Example
  1091.  
  1092.    Consider how a capabilities statement for an agent might be
  1093.    described:
  1094.  
  1095. exampleAgent AGENT-CAPABILITIES
  1096.     PRODUCT-RELEASE      "ACME Agent release 1.1 for 4BSD"
  1097.     STATUS               current
  1098.     DESCRIPTION          "ACME agent for 4BSD"
  1099.  
  1100.     SUPPORTS             SNMPv2-MIB
  1101.         INCLUDES         { systemGroup, snmpGroup, snmpSetGroup,
  1102.                            snmpBasicNotificationsGroup }
  1103.  
  1104.         VARIATION        coldStart
  1105.             DESCRIPTION  "A coldStart trap is generated on all
  1106.                          reboots."
  1107.  
  1108.     SUPPORTS             IF-MIB
  1109.         INCLUDES         { ifGeneralGroup, ifPacketGroup }
  1110.  
  1111.         VARIATION        ifAdminStatus
  1112.             SYNTAX       INTEGER { up(1), down(2) }
  1113.             DESCRIPTION  "Unable to set test mode on 4BSD"
  1114.  
  1115.         VARIATION        ifOperStatus
  1116.             SYNTAX       INTEGER { up(1), down(2) }
  1117.             DESCRIPTION  "Information limited on 4BSD"
  1118.  
  1119.  
  1120.  
  1121.  
  1122. SNMPv2 Working Group        Standards Track                    [Page 20]
  1123.  
  1124. RFC 1904           Conformance Statements for SNMPv2        January 1996
  1125.  
  1126.  
  1127.     SUPPORTS             IP-MIB
  1128.         INCLUDES         { ipGroup, icmpGroup }
  1129.  
  1130.         VARIATION        ipDefaultTTL
  1131.             SYNTAX       INTEGER (255..255)
  1132.             DESCRIPTION  "Hard-wired on 4BSD"
  1133.  
  1134.         VARIATION        ipInAddrErrors
  1135.             ACCESS       not-implemented
  1136.             DESCRIPTION  "Information not available on 4BSD"
  1137.  
  1138.         VARIATION        ipNetToMediaEntry
  1139.             CREATION-REQUIRES { ipNetToMediaPhysAddress }
  1140.             DESCRIPTION  "Address mappings on 4BSD require
  1141.                          both protocol and media addresses"
  1142.  
  1143.     SUPPORTS             TCP-MIB
  1144.         INCLUDES         { tcpGroup }
  1145.         VARIATION        tcpConnState
  1146.             ACCESS       read-only
  1147.             DESCRIPTION  "Unable to set this on 4BSD"
  1148.  
  1149.     SUPPORTS             UDP-MIB
  1150.         INCLUDES         { udpGroup }
  1151.  
  1152.     SUPPORTS             EVAL-MIB
  1153.         INCLUDES         { functionsGroup, expressionsGroup }
  1154.         VARIATION        exprEntry
  1155.             CREATION-REQUIRES { evalString }
  1156.             DESCRIPTION "Conceptual row creation supported"
  1157.  
  1158.     ::= { acmeAgents 1 }
  1159.  
  1160.    According to this invocation, an agent with a sysORID value of
  1161.  
  1162.      { acmeAgents 1 }
  1163.  
  1164.    supports six MIB modules.
  1165.  
  1166.    From SNMPv2-MIB, five conformance groups are supported.
  1167.  
  1168.    From IF-MIB, the ifGeneralGroup and ifPacketGroup groups are
  1169.    supported.  However, the objects ifAdminStatus and ifOperStatus have
  1170.    a restricted syntax.
  1171.  
  1172.  
  1173.  
  1174.  
  1175.  
  1176.  
  1177.  
  1178. SNMPv2 Working Group        Standards Track                    [Page 21]
  1179.  
  1180. RFC 1904           Conformance Statements for SNMPv2        January 1996
  1181.  
  1182.  
  1183.    From IP-MIB, all objects in the ipGroup and icmpGroup are supported
  1184.    except ipInAddrErrors, while ipDefaultTTL has a restricted range, and
  1185.    when creating a new instance in the ipNetToMediaTable, the set-
  1186.    request must create an instance of atPhysAddress.
  1187.  
  1188.    From TCP-MIB, the tcpGroup is supported except that tcpConnState is
  1189.    available only for reading.
  1190.  
  1191.    From UDP-MIB, the udpGroup is fully supported.
  1192.  
  1193.    From the EVAL-MIB, all the objects contained in the functionsGroup
  1194.    and expressionsGroup conformance groups are supported, without
  1195.    variation.  In addition, creation of new instances in the expr table
  1196.    is supported.
  1197.  
  1198. 7.  Extending an Information Module
  1199.  
  1200.    As experience is gained with a published information module, it may
  1201.    be desirable to revise that information module.
  1202.  
  1203.    Section 10 of [2] defines the rules for extending an information
  1204.    module.  The remainder of this section defines how conformance
  1205.    groups, compliance statements, and capabilities statements may be
  1206.    extended.
  1207.  
  1208. 7.1.  Conformance Groups
  1209.  
  1210.    If any non-editorial change is made to any clause of an object group
  1211.    then the OBJECT IDENTIFIER value associated with that object group
  1212.    must also be changed, along with its associated descriptor.
  1213.  
  1214. 7.2.  Compliance Definitions
  1215.  
  1216.    If any non-editorial change is made to any clause of a compliance
  1217.    definition, then the OBJECT IDENTIFIER value associated with that
  1218.    compliance definition must also be changed, along with its associated
  1219.    descriptor.
  1220.  
  1221. 7.3.  Capabilities Definitions
  1222.  
  1223.    If any non-editorial change is made to any clause of a capabilities
  1224.    definition, then the OBJECT IDENTIFIER value associated with that
  1225.    capabilities definition must also be changed, along with its
  1226.    associated descriptor.
  1227.  
  1228.  
  1229.  
  1230.  
  1231.  
  1232.  
  1233.  
  1234. SNMPv2 Working Group        Standards Track                    [Page 22]
  1235.  
  1236. RFC 1904           Conformance Statements for SNMPv2        January 1996
  1237.  
  1238.  
  1239. 8.  Security Considerations
  1240.  
  1241.    Security issues are not discussed in this memo.
  1242.  
  1243. 9.  Editor's Address
  1244.  
  1245.    Keith McCloghrie
  1246.    Cisco Systems, Inc.
  1247.    170 West Tasman Drive
  1248.    San Jose, CA  95134-1706
  1249.    US
  1250.  
  1251.    Phone: +1 408 526 5260
  1252.    EMail: kzm@cisco.com
  1253.  
  1254. 10.  Acknowledgements
  1255.  
  1256.    This document is the result of significant work by the four major
  1257.    contributors:
  1258.  
  1259.    Jeffrey D. Case (SNMP Research, case@snmp.com)
  1260.    Keith McCloghrie (Cisco Systems, kzm@cisco.com)
  1261.    Marshall T. Rose (Dover Beach Consulting, mrose@dbc.mtview.ca.us)
  1262.    Steven Waldbusser (International Network Services, stevew@uni.ins.com)
  1263.  
  1264.    In addition, the contributions of the SNMPv2 Working Group are
  1265.    acknowledged.  In particular, a special thanks is extended for the
  1266.    contributions of:
  1267.  
  1268.      Alexander I. Alten (Novell)
  1269.      Dave Arneson (Cabletron)
  1270.      Uri Blumenthal (IBM)
  1271.      Doug Book (Chipcom)
  1272.      Kim Curran (Bell-Northern Research)
  1273.      Jim Galvin (Trusted Information Systems)
  1274.      Maria Greene (Ascom Timeplex)
  1275.      Iain Hanson (Digital)
  1276.      Dave Harrington (Cabletron)
  1277.      Nguyen Hien (IBM)
  1278.      Jeff Johnson (Cisco Systems)
  1279.      Michael Kornegay (Object Quest)
  1280.      Deirdre Kostick (AT&T Bell Labs)
  1281.      David Levi (SNMP Research)
  1282.      Daniel Mahoney (Cabletron)
  1283.      Bob Natale (ACE*COMM)
  1284.      Brian O'Keefe (Hewlett Packard)
  1285.      Andrew Pearson (SNMP Research)
  1286.      Dave Perkins (Peer Networks)
  1287.  
  1288.  
  1289.  
  1290. SNMPv2 Working Group        Standards Track                    [Page 23]
  1291.  
  1292. RFC 1904           Conformance Statements for SNMPv2        January 1996
  1293.  
  1294.  
  1295.      Randy Presuhn (Peer Networks)
  1296.      Aleksey Romanov (Quality Quorum)
  1297.      Shawn Routhier (Epilogue)
  1298.      Jon Saperia (BGS Systems)
  1299.      Bob Stewart (Cisco Systems, bstewart@cisco.com), chair
  1300.      Kaj Tesink (Bellcore)
  1301.      Glenn Waters (Bell-Northern Research)
  1302.      Bert Wijnen (IBM)
  1303.  
  1304. 11.  References
  1305.  
  1306. [1]  Information processing systems - Open Systems Interconnection -
  1307.      Specification of Abstract Syntax Notation One (ASN.1),
  1308.      International Organization for Standardization.  International
  1309.      Standard 8824, (December, 1987).
  1310.  
  1311. [2]  SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and
  1312.      S. Waldbusser, "Structure of Management Information for Version 2
  1313.      of the Simple Network Management Protocol (SNMPv2)", RFC 1902,
  1314.      January 1996.
  1315.  
  1316. [3]  SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and
  1317.      S. Waldbusser, "Management Information Base for Version 2 of the
  1318.      Simple Network Management Protocol (SNMPv2)", RFC 1907,
  1319.      January 1996.
  1320.  
  1321. [4]  SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and
  1322.      S. Waldbusser, "Protocol Operations for Version 2 of the Simple
  1323.      Network Management Protocol (SNMPv2)", RFC 1905, January 1996.
  1324.  
  1325. [5]  SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and
  1326.      S. Waldbusser, "Textual Conventions for Version 2 of the Simple
  1327.      Network Management Protocol (SNMPv2)", RFC 1903, January 1996.
  1328.  
  1329. [6]  Rose, M., and K. McCloghrie, "Structure and Identification of
  1330.      Management Information for TCP/IP-based internets", STD 16, RFC
  1331.      1155, May 1990.
  1332.  
  1333. [7]  Rose, M., and K. McCloghrie, "Concise MIB Definitions", STD 16,
  1334.      RFC 1212, March 1991.
  1335.  
  1336.  
  1337.  
  1338.  
  1339.  
  1340.  
  1341.  
  1342.  
  1343.  
  1344.  
  1345.  
  1346. SNMPv2 Working Group        Standards Track                    [Page 24]
  1347.  
  1348.