rfc2580.txt

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

TXT
1,711
字号
                | Groups "," Group
    Group ::=
                  value(OBJECT IDENTIFIER)

    VariationPart ::=
                  Variations
                | empty
    Variations ::=
                  Variation
                | Variations Variation

    Variation ::=
                  ObjectVariation
                | NotificationVariation

    NotificationVariation ::=
                  "VARIATION" value(NotificationName)
                  AccessPart
                  "DESCRIPTION" Text

    ObjectVariation ::=
                  "VARIATION" value(ObjectName)
                  SyntaxPart
                  WriteSyntaxPart
                  AccessPart
                  CreationPart
                  DefValPart
                  "DESCRIPTION" Text

    -- must be a refinement for object's SYNTAX clause
    SyntaxPart ::= "SYNTAX" Syntax
                | empty

    WriteSyntaxPart ::= "WRITE-SYNTAX" Syntax
                | empty

    Syntax ::=    -- Must be one of the following:
                       -- a base type (or its refinement),
                       -- a textual convention (or its refinement), or
                       -- a BITS pseudo-type


McCloghrie, et al.          Standards Track                     [Page 8]





RFC 2580            Conformance Statements for SMIv2          April 1999


                  type
                | "BITS" "{" NamedBits "}"

    NamedBits ::= NamedBit
                | NamedBits "," NamedBit

    NamedBit ::= identifier "(" number ")" -- number is nonnegative

    AccessPart ::=
                  "ACCESS" Access
                | empty

    Access ::=
                  "not-implemented"
                -- only "not-implemented" for notifications
                | "accessible-for-notify"
                | "read-only"
                | "read-write"
                | "read-create"
                -- following is for backward-compatibility only
                | "write-only"

    CreationPart ::=
                  "CREATION-REQUIRES" "{" Cells "}"
                | empty
    Cells ::=
                  Cell
                | Cells "," Cell
    Cell ::=
                  value(ObjectName)

    DefValPart ::= "DEFVAL" "{" Defvalue "}"
                | empty

    Defvalue ::=  -- must be valid for the object's syntax
                  -- in this macro's SYNTAX clause, if present,
                  -- or if not, in object's OBJECT-TYPE macro
                  value(ObjectSyntax)
                | "{" BitsValue "}"

    BitsValue ::= BitNames
                | empty

    BitNames ::=  BitName
                | BitNames "," BitName

    BitName ::= identifier



McCloghrie, et al.          Standards Track                     [Page 9]





RFC 2580            Conformance Statements for SMIv2          April 1999


    -- a character string as defined in [2]
    Text ::= value(IA5String)
END

END


3.  Mapping of the OBJECT-GROUP macro

   For conformance purposes, it is useful to define a collection of
   related managed objects.  The OBJECT-GROUP macro is used to define
   each such collection of related objects.  It should be noted that the
   expansion of the OBJECT-GROUP macro is something which conceptually
   happens during implementation and not during run-time.

   To "implement" an object, an agent must return a reasonably accurate
   value for management protocol retrieval operations; similarly, if the
   object is writable, then in response to a management protocol set
   operation, an agent must accordingly be able to reasonably influence
   the underlying managed entity.  If an agent can not implement an
   object, the management protocol provides for it to return an
   exception or error, e.g, noSuchObject [4].  Under no circumstances
   shall an agent return a value for objects which it does not implement
   -- it must always return the appropriate exception or error, as
   described in the protocol specification [4].

   Note that the OBJECT-GROUP macro itself provides no conformance
   information.  Rather, conformance information is specified through
   the inclusion of defined groups in a MODULE-COMPLIANCE macro.

3.1.  Mapping of the OBJECTS clause

   The OBJECTS clause, which must be present, is used to specify each
   object contained in the conformance group.  Each of the specified
   objects must be defined in the same information module as the
   OBJECT-GROUP macro appears, and must have a MAX-ACCESS clause value
   of "accessible-for-notify", "read-only", "read-write", or "read-
   create".

   It is required that every object defined in an information module
   with a MAX-ACCESS clause other than "not-accessible" be contained in
   at least one object group.  This avoids the common error of adding a
   new object to an information module and forgetting to add the new
   object to a group.






McCloghrie, et al.          Standards Track                    [Page 10]





RFC 2580            Conformance Statements for SMIv2          April 1999


3.2.  Mapping of the STATUS clause

   The STATUS clause, which must be present, indicates whether this
   definition is current or historic.

   The value "current" means that the definition is current and valid.
   The value "obsolete" means the definition is obsolete and the group
   should no longer be used for defining conformance.  While the value
   "deprecated" also indicates an obsolete definition, it permits
   new/continued use of conformance definitions using this group.

3.3.  Mapping of the DESCRIPTION clause

   The DESCRIPTION clause, which must be present, contains a textual
   definition of that group, along with a description of any relations
   to other groups.  Note that generic compliance requirements should
   not be stated in this clause.  However, implementation relationships
   between this group and other groups may be defined in this clause.

3.4.  Mapping of the REFERENCE clause

   The REFERENCE clause, which need not be present, contains a textual
   cross-reference to some other document, either another information
   module which defines a related assignment, or some other document
   which provides additional information relevant to this definition.

3.5.  Mapping of the OBJECT-GROUP value

   The value of an invocation of the OBJECT-GROUP macro is the name of
   the group, which is an OBJECT IDENTIFIER, an administratively
   assigned name.



















McCloghrie, et al.          Standards Track                    [Page 11]





RFC 2580            Conformance Statements for SMIv2          April 1999


3.6.  Usage Example

   The SNMP Group [3] is described:

   snmpGroup OBJECT-GROUP
       OBJECTS { snmpInPkts,
                 snmpInBadVersions,
                 snmpInASNParseErrs,
                 snmpBadOperations,
                 snmpSilentDrops,
                 snmpProxyDrops,
                 snmpEnableAuthenTraps }
       STATUS  current
       DESCRIPTION
               "A collection of objects providing basic instrumentation
               and control of an agent."
      ::= { snmpMIBGroups 8 }


   According to this invocation, the conformance group named

        { snmpMIBGroups 8 }

   contains 7 objects.

4.  Mapping of the NOTIFICATION-GROUP macro

   For conformance purposes, it is useful to define a collection of
   notifications.  The NOTIFICATION-GROUP macro serves this purpose.  It
   should be noted that the expansion of the NOTIFICATION-GROUP macro is
   something which conceptually happens during implementation and not
   during run-time.

4.1.  Mapping of the NOTIFICATIONS clause

   The NOTIFICATIONS clause, which must be present, is used to specify
   each notification contained in the conformance group.  Each of the
   specified notifications must be defined in the same information
   module as the NOTIFICATION-GROUP macro appears.

   It is required that every notification defined in an information
   module be contained in at least one notification group.







McCloghrie, et al.          Standards Track                    [Page 12]





RFC 2580            Conformance Statements for SMIv2          April 1999


4.2.  Mapping of the STATUS clause

   The STATUS clause, which must be present, indicates whether this
   definition is current or historic.

   The value "current" means that the definition is current and valid.
   The value "obsolete" means the definition is obsolete and this group
   should no longer be used for defining conformance.  While the value
   "deprecated" also indicates an obsolete definition, it permits
   new/continued use of conformance definitions using this group.

4.3.  Mapping of the DESCRIPTION clause

   The DESCRIPTION clause, which must be present, contains a textual
   definition of the group, along with a description of any relations to
   other groups.  Note that generic compliance requirements should not
   be stated in this clause.  However, implementation relationships
   between this group and other groups may be defined in this clause.

4.4.  Mapping of the REFERENCE clause

   The REFERENCE clause, which need not be present, contains a textual
   cross-reference to some other document, either another information
   module which defines a related assignment, or some other document
   which provides additional information relevant to this definition.

4.5.  Mapping of the NOTIFICATION-GROUP value

   The value of an invocation of the NOTIFICATION-GROUP macro is the
   name of the group, which is an OBJECT IDENTIFIER, an administratively
   assigned name.

4.6.  Usage Example

   The SNMP Basic Notifications Group [3] is described:















McCloghrie, et al.          Standards Track                    [Page 13]





RFC 2580            Conformance Statements for SMIv2          April 1999


   snmpBasicNotificationsGroup NOTIFICATION-GROUP
       NOTIFICATIONS { coldStart, authenticationFailure }
       STATUS        current
       DESCRIPTION
               "The two notifications which an agent is required to
               implement."
      ::= { snmpMIBGroups 7 }

   According to this invocation, the conformance group named

        { snmpMIBGroups 7 }

   contains 2 notifications.

5.  Mapping of the MODULE-COMPLIANCE macro

   The MODULE-COMPLIANCE macro is used to convey a minimum set of
   requirements with respect to implementation of one or more MIB
   modules.  It should be noted that the expansion of the MODULE-
   COMPLIANCE macro is something which conceptually happens during
   implementation and not during run-time.

   A requirement on all "standard" MIB modules is that a corresponding
   MODULE-COMPLIANCE specification is also defined, either in the same
   information module or in a companion information module.

5.1.  Mapping of the STATUS clause

   The STATUS clause, which must be present, indicates whether this
   definition is current or historic.

   The value "current" means that the definition is current and valid.
   The value "obsolete" means the definition is obsolete, and this
   MODULE-COMPLIANCE specification no longer specifies a valid
   definition of conformance.  While the value "deprecated" also
   indicates an obsolete definition, it permits new/continued use of the
   MODULE-COMPLIANCE specification.

5.2.  Mapping of the DESCRIPTION clause

   The DESCRIPTION clause, which must be present, contains a textual
   definition of this compliance statement and should embody any
   information which would otherwise be communicated in any ASN.1
   commentary annotations associated with the statement.






McCloghrie, et al.          Standards Track                    [Page 14]





RFC 2580            Conformance Statements for SMIv2          April 1999


5.3.  Mapping of the REFERENCE clause

   The REFERENCE clause, which need not be present, contains a textual
   cross-reference to some other document, either another information
   module which defines a related assignment, or some other document
   which provides additional information relevant to this definition.

5.4.  Mapping of the MODULE clause

   The MODULE clause, which must be present, is repeatedly used to name
   each MIB module for which compliance requirements are being
   specified.  Each MIB module is named by its module name, and
   optionally, by its associated OBJECT IDENTIFIER as well.  The module
   name can be omitted when the MODULE-COMPLIANCE invocation occurs
   inside a MIB module, to refer to the encompassing MIB module.

5.4.1.  Mapping of the MANDATORY-GROUPS clause

   The MANDATORY-GROUPS clause, which need not be present, names the one
   or more object or notification groups within the correspondent MIB
   module which are unconditionally mandatory for implementation.  If an
   agent claims compliance to the MIB module, then it must implement
   each and every object and notification within each conformance group
   listed.  That is, if an agent returns a noSuchObject exception in

⌨️ 快捷键说明

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