home *** CD-ROM | disk | FTP | other *** search
Text File | 2003-06-11 | 46.0 KB | 1,348 lines |
-
-
-
-
-
-
- Network Working Group SNMPv2 Working Group
- Request for Comments: 1904 J. Case
- Obsoletes: 1444 SNMP Research, Inc.
- Category: Standards Track K. McCloghrie
- Cisco Systems, Inc.
- M. Rose
- Dover Beach Consulting, Inc.
- S. Waldbusser
- International Network Services
- January 1996
-
-
- Conformance Statements for Version 2 of the
- Simple Network Management Protocol (SNMPv2)
-
- Status of this Memo
-
- This document specifies an Internet standards track protocol for the
- Internet community, and requests discussion and suggestions for
- improvements. Please refer to the current edition of the "Internet
- Official Protocol Standards" (STD 1) for the standardization state
- and status of this protocol. Distribution of this memo is unlimited.
-
- Table of Contents
-
- 1. Introduction ................................................ 2
- 1.1 A Note on Terminology ...................................... 3
- 2. Definitions ................................................. 3
- 2.1 The OBJECT-GROUP macro ..................................... 3
- 2.2 The NOTIFICATION-GROUP macro ............................... 4
- 2.3 The MODULE-COMPLIANCE macro ................................ 5
- 2.4 The AGENT-CAPABILITIES macro ............................... 7
- 3. Mapping of the OBJECT-GROUP macro ........................... 9
- 3.1 Mapping of the OBJECTS clause .............................. 10
- 3.2 Mapping of the STATUS clause ............................... 10
- 3.3 Mapping of the DESCRIPTION clause .......................... 10
- 3.4 Mapping of the REFERENCE clause ............................ 10
- 3.5 Mapping of the OBJECT-GROUP value .......................... 10
- 3.6 Usage Example .............................................. 11
- 4. Mapping of the NOTIFICATION-GROUP macro ..................... 11
- 4.1 Mapping of the NOTIFICATIONS clause ........................ 11
- 4.2 Mapping of the STATUS clause ............................... 11
- 4.3 Mapping of the DESCRIPTION clause .......................... 12
- 4.4 Mapping of the REFERENCE clause ............................ 12
- 4.5 Mapping of the NOTIFICATION-GROUP value .................... 12
- 4.6 Usage Example .............................................. 12
- 5. Mapping of the MODULE-COMPLIANCE macro ...................... 12
- 5.1 Mapping of the STATUS clause ............................... 13
-
-
-
- SNMPv2 Working Group Standards Track [Page 1]
-
- RFC 1904 Conformance Statements for SNMPv2 January 1996
-
-
- 5.2 Mapping of the DESCRIPTION clause .......................... 13
- 5.3 Mapping of the REFERENCE clause ............................ 13
- 5.4 Mapping of the MODULE clause ............................... 13
- 5.4.1 Mapping of the MANDATORY-GROUPS clause ................... 13
- 5.4.2 Mapping of the GROUP clause .............................. 14
- 5.4.3 Mapping of the OBJECT clause ............................. 14
- 5.4.3.1 Mapping of the SYNTAX clause ........................... 14
- 5.4.3.2 Mapping of the WRITE-SYNTAX clause ..................... 15
- 5.4.3.3 Mapping of the MIN-ACCESS clause ....................... 15
- 5.4.4 Mapping of the DESCRIPTION clause ........................ 15
- 5.5 Mapping of the MODULE-COMPLIANCE value ..................... 15
- 5.6 Usage Example .............................................. 16
- 6. Mapping of the AGENT-CAPABILITIES macro ..................... 16
- 6.1 Mapping of the PRODUCT-RELEASE clause ...................... 17
- 6.2 Mapping of the STATUS clause ............................... 17
- 6.3 Mapping of the DESCRIPTION clause .......................... 17
- 6.4 Mapping of the REFERENCE clause ............................ 17
- 6.5 Mapping of the SUPPORTS clause ............................. 18
- 6.5.1 Mapping of the INCLUDES clause ........................... 18
- 6.5.2 Mapping of the VARIATION clause .......................... 18
- 6.5.2.1 Mapping of the SYNTAX clause ........................... 18
- 6.5.2.2 Mapping of the WRITE-SYNTAX clause ..................... 18
- 6.5.2.3 Mapping of the ACCESS clause ........................... 19
- 6.5.2.4 Mapping of the CREATION-REQUIRES clause ................ 19
- 6.5.2.5 Mapping of the DEFVAL clause ........................... 20
- 6.5.2.6 Mapping of the DESCRIPTION clause ...................... 20
- 6.6 Mapping of the AGENT-CAPABILITIES value .................... 20
- 6.7 Usage Example .............................................. 20
- 7. Extending an Information Module ............................. 22
- 7.1 Conformance Groups ......................................... 22
- 7.2 Compliance Definitions ..................................... 22
- 7.3 Capabilities Definitions ................................... 22
- 8. Security Considerations ..................................... 23
- 9. Editor's Address ............................................ 23
- 10. Acknowledgements ........................................... 23
- 11. References ................................................. 24
-
- 1. Introduction
-
- A management system contains: several (potentially many) nodes, each
- with a processing entity, termed an agent, which has access to
- management instrumentation; at least one management station; and, a
- management protocol, used to convey management information between
- the agents and management stations. Operations of the protocol are
- carried out under an administrative framework which defines
- authentication, authorization, access control, and privacy policies.
-
-
-
-
-
- SNMPv2 Working Group Standards Track [Page 2]
-
- RFC 1904 Conformance Statements for SNMPv2 January 1996
-
-
- Management stations execute management applications which monitor and
- control managed elements. Managed elements are devices such as
- hosts, routers, terminal servers, etc., which are monitored and
- controlled via access to their management information.
-
- Management information is viewed as a collection of managed objects,
- residing in a virtual information store, termed the Management
- Information Base (MIB). Collections of related objects are defined
- in MIB modules. These modules are written using a subset of OSI's
- Abstract Syntax Notation One (ASN.1) [1], termed the Structure of
- Management Information (SMI) [2].
-
- It may be useful to define the acceptable lower-bounds of
- implementation, along with the actual level of implementation
- achieved. It is the purpose of this document to define the notation
- used for these purposes.
-
- 1.1. A Note on Terminology
-
- For the purpose of exposition, the original Internet-standard Network
- Management Framework, as described in RFCs 1155 (STD 16), 1157 (STD
- 15), and 1212 (STD 16), is termed the SNMP version 1 framework
- (SNMPv1). The current framework is termed the SNMP version 2
- framework (SNMPv2).
-
- 2. Definitions
-
- SNMPv2-CONF DEFINITIONS ::= BEGIN
-
- -- definitions for conformance groups
-
- OBJECT-GROUP MACRO ::=
- BEGIN
- TYPE NOTATION ::=
- ObjectsPart
- "STATUS" Status
- "DESCRIPTION" Text
- ReferPart
-
- VALUE NOTATION ::=
- value(VALUE OBJECT IDENTIFIER)
-
- ObjectsPart ::=
- "OBJECTS" "{" Objects "}"
- Objects ::=
- Object
- | Objects "," Object
- Object ::=
-
-
-
- SNMPv2 Working Group Standards Track [Page 3]
-
- RFC 1904 Conformance Statements for SNMPv2 January 1996
-
-
- value(Name ObjectName)
-
- Status ::=
- "current"
- | "deprecated"
- | "obsolete"
-
- ReferPart ::=
- "REFERENCE" Text
- | empty
-
- -- uses the NVT ASCII character set
- Text ::= """" string """"
- END
-
-
- -- more definitions for conformance groups
-
- NOTIFICATION-GROUP MACRO ::=
- BEGIN
- TYPE NOTATION ::=
- NotificationsPart
- "STATUS" Status
- "DESCRIPTION" Text
- ReferPart
-
- VALUE NOTATION ::=
- value(VALUE OBJECT IDENTIFIER)
-
- NotificationsPart ::=
- "NOTIFICATIONS" "{" Notifications "}"
- Notifications ::=
- Notification
- | Notifications "," Notification
- Notification ::=
- value(Name NotificationName)
-
- Status ::=
- "current"
- | "deprecated"
- | "obsolete"
-
- ReferPart ::=
- "REFERENCE" Text
- | empty
-
- -- uses the NVT ASCII character set
- Text ::= """" string """"
-
-
-
- SNMPv2 Working Group Standards Track [Page 4]
-
- RFC 1904 Conformance Statements for SNMPv2 January 1996
-
-
- END
-
-
- -- definitions for compliance statements
-
- MODULE-COMPLIANCE MACRO ::=
- BEGIN
- TYPE NOTATION ::=
- "STATUS" Status
- "DESCRIPTION" Text
- ReferPart
- ModulePart
-
- VALUE NOTATION ::=
- value(VALUE OBJECT IDENTIFIER)
-
- Status ::=
- "current"
- | "deprecated"
- | "obsolete"
-
- ReferPart ::=
- "REFERENCE" Text
- | empty
-
- ModulePart ::=
- Modules
- | empty
- Modules ::=
- Module
- | Modules Module
- Module ::=
- -- name of module --
- "MODULE" ModuleName
- MandatoryPart
- CompliancePart
-
- ModuleName ::=
- modulereference ModuleIdentifier
- -- must not be empty unless contained
- -- in MIB Module
- | empty
- ModuleIdentifier ::=
- value(ModuleID OBJECT IDENTIFIER)
- | empty
-
- MandatoryPart ::=
- "MANDATORY-GROUPS" "{" Groups "}"
-
-
-
- SNMPv2 Working Group Standards Track [Page 5]
-
- RFC 1904 Conformance Statements for SNMPv2 January 1996
-
-
- | empty
-
- Groups ::=
- Group
- | Groups "," Group
- Group ::=
- value(Group OBJECT IDENTIFIER)
-
- CompliancePart ::=
- Compliances
- | empty
-
- Compliances ::=
- Compliance
- | Compliances Compliance
- Compliance ::=
- ComplianceGroup
- | Object
-
- ComplianceGroup ::=
- "GROUP" value(Name OBJECT IDENTIFIER)
- "DESCRIPTION" Text
-
- Object ::=
- "OBJECT" value(Name ObjectName)
- SyntaxPart
- WriteSyntaxPart
- AccessPart
- "DESCRIPTION" Text
-
- -- must be a refinement for object's SYNTAX clause
- SyntaxPart ::=
- "SYNTAX" type(SYNTAX)
- | empty
-
- -- must be a refinement for object's SYNTAX clause
- WriteSyntaxPart ::=
- "WRITE-SYNTAX" type(WriteSYNTAX)
- | empty
-
- AccessPart ::=
- "MIN-ACCESS" Access
- | empty
- Access ::=
- "not-accessible"
- | "accessible-for-notify"
- | "read-only"
- | "read-write"
-
-
-
- SNMPv2 Working Group Standards Track [Page 6]
-
- RFC 1904 Conformance Statements for SNMPv2 January 1996
-
-
- | "read-create"
-
- -- uses the NVT ASCII character set
- Text ::= """" string """"
- END
-
-
- -- definitions for capabilities statements
-
- AGENT-CAPABILITIES MACRO ::=
- BEGIN
- TYPE NOTATION ::=
- "PRODUCT-RELEASE" Text
- "STATUS" Status
- "DESCRIPTION" Text
- ReferPart
- ModulePart
-
- VALUE NOTATION ::=
- value(VALUE OBJECT IDENTIFIER)
-
- Status ::=
- "current"
- | "obsolete"
-
- ReferPart ::=
- "REFERENCE" Text
- | empty
-
- ModulePart ::=
- Modules
- | empty
- Modules ::=
- Module
- | Modules Module
- Module ::=
- -- name of module --
- "SUPPORTS" ModuleName
- "INCLUDES" "{" Groups "}"
- VariationPart
-
- ModuleName ::=
- identifier ModuleIdentifier
- ModuleIdentifier ::=
- value(ModuleID OBJECT IDENTIFIER)
- | empty
-
- Groups ::=
-
-
-
- SNMPv2 Working Group Standards Track [Page 7]
-
- RFC 1904 Conformance Statements for SNMPv2 January 1996
-
-
- Group
- | Groups "," Group
- Group ::=
- value(Name OBJECT IDENTIFIER)
-
- VariationPart ::=
- Variations
- | empty
- Variations ::=
- Variation
- | Variations Variation
-
- Variation ::=
- ObjectVariation
- | NotificationVariation
-
- NotificationVariation ::=
- "VARIATION" value(Name NotificationName)
- AccessPart
- "DESCRIPTION" Text
-
- ObjectVariation ::=
- "VARIATION" value(Name ObjectName)
- SyntaxPart
- WriteSyntaxPart
- AccessPart
- CreationPart
- DefValPart
- "DESCRIPTION" Text
-
- -- must be a refinement for object's SYNTAX clause
- SyntaxPart ::=
- "SYNTAX" type(SYNTAX)
- | empty
-
- -- must be a refinement for object's SYNTAX clause
- WriteSyntaxPart ::=
- "WRITE-SYNTAX" type(WriteSYNTAX)
- | empty
-
- AccessPart ::=
- "ACCESS" Access
- | empty
-
- Access ::=
- "not-implemented"
- -- only "not-implemented" for notifications
- | "accessible-for-notify"
-
-
-
- SNMPv2 Working Group Standards Track [Page 8]
-
- RFC 1904 Conformance Statements for SNMPv2 January 1996
-
-
- | "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(Cell ObjectName)
-
- DefValPart ::=
- "DEFVAL" "{" value(Defval ObjectSyntax) "}"
- | empty
-
- -- uses the NVT ASCII character set
- Text ::= """" string """"
- 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, a SNMPv2 entity acting in an agent role
- 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, a SNMPv2 entity must
- accordingly be able to reasonably influence the underlying managed
- entity. If a SNMPv2 entity acting in an agent role can not implement
- an object, the management protocol provides for the SNMPv2 entity to
- return an exception or error, e.g, noSuchObject [4]. Under no
- circumstances shall a SNMPv2 entity 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].
-
-
-
-
- SNMPv2 Working Group Standards Track [Page 9]
-
- RFC 1904 Conformance Statements for SNMPv2 January 1996
-
-
- 3.1. Mapping of the OBJECTS clause
-
- The OBJECTS clause, which must be present, is used to name each
- object contained in the conformance group. Each of the named 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.
-
- 3.2. Mapping of the STATUS clause
-
- The STATUS clause, which must be present, indicates whether this
- definition is current or historic.
-
- The values "current", and "obsolete" are self-explanatory. The
- "deprecated" value indicates that the definition is obsolete, but
- that an implementor may wish to support the group to foster
- interoperability with older implementations.
-
- 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 a group defined in some other information module.
- This is useful when de-osifying a MIB module produced by some other
- organization.
-
- 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.
-
-
-
-
-
-
-
- SNMPv2 Working Group Standards Track [Page 10]
-
- RFC 1904 Conformance Statements for SNMPv2 January 1996
-
-
- 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 SNMPv2 entity."
- ::= { 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 name each
- notification contained in the conformance group. Each of the named
- notifications must be defined in the same information module as the
- NOTIFICATION-GROUP macro appears.
-
- 4.2. Mapping of the STATUS clause
-
- The STATUS clause, which must be present, indicates whether this
- definition is current or historic.
-
- The values "current", and "obsolete" are self-explanatory. The
- "deprecated" value indicates that the definition is obsolete, but
- that an implementor may wish to support the group to foster
-
-
-
- SNMPv2 Working Group Standards Track [Page 11]
-
- RFC 1904 Conformance Statements for SNMPv2 January 1996
-
-
- interoperability with older implementations.
-
- 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 a group defined in some other information module.
- This is useful when de-osifying a MIB module produced by some other
- organization.
-
- 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:
-
- snmpBasicNotificationsGroup NOTIFICATION-GROUP
- NOTIFICATIONS { coldStart, authenticationFailure }
- STATUS current
- DESCRIPTION
- "The two notifications which an SNMPv2 entity is required to
- implement."
- ::= { snmpMIBGroups 7 }
-
- According to this invocation, the conformance group named
-
- { snmpMIBGroups 1 }
-
- 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.
-
-
-
- SNMPv2 Working Group Standards Track [Page 12]
-
- RFC 1904 Conformance Statements for SNMPv2 January 1996
-
-
- 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 values "current", and "obsolete" are self-explanatory. The
- "deprecated" value indicates that the specification is obsolete, but
- that an implementor may wish to support that object to foster
- interoperability with older implementations.
-
- 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.
-
- 5.3. Mapping of the REFERENCE clause
-
- The REFERENCE clause, which need not be present, contains a textual
- cross-reference to a compliance statement defined in some other
- information module.
-
- 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 a
- SNMPv2 entity acting in an agent role claims compliance to the MIB
- module, then it must implement each and every object and notification
- within each conformance group listed. That is, if a SNMPv2 entity
- returns a noSuchObject exception in response to a management protocol
- get operation [4] for any object within any mandatory conformance
- group for every MIB view, or if the SNMPv2 entity cannot generate
- each notification listed in any conformance group under the
-
-
-
- SNMPv2 Working Group Standards Track [Page 13]
-
- RFC 1904 Conformance Statements for SNMPv2 January 1996
-
-
- appropriate circumstances, then that SNMPv2 entity is not a
- conformant implementation of the MIB module.
-
- 5.4.2. Mapping of the GROUP clause
-
- The GROUP clause, which need not be present, is repeatedly used to
- name each object and notification group which is conditionally
- mandatory or unconditionally optional for compliance to the MIB
- module. A group named in a GROUP clause must be absent from the
- correspondent MANDATORY-GROUPS clause.
-
- Conditionally mandatory groups include those which are mandatory only
- if a particular protocol is implemented, or only if another group is
- implemented. A GROUP clause's DESCRIPTION specifies the conditions
- under which the group is conditionally mandatory.
-
- A group which is named in neither a MANDATORY-GROUPS clause nor a
- GROUP clause, is unconditionally optional for compliance to the MIB
- module.
-
- 5.4.3. Mapping of the OBJECT clause
-
- The OBJECT clause, which need not be present, is repeatedly used to
- name each MIB object for which compliance has a refined requirement
- with respect to the MIB module definition. The MIB object must be
- present in one of the conformance groups named in the correspondent
- MANDATORY-GROUPS clause or GROUP clauses.
-
- By definition, each object specified in an OBJECT clause follows a
- MODULE clause which names the information module in which that object
- is defined. Therefore, the use of an IMPORTS statement, to specify
- from where such objects are imported, is redundant and is not
- required in an information module.
-
- 5.4.3.1. Mapping of the SYNTAX clause
-
- The SYNTAX clause, which need not be present, is used to provide a
- refined SYNTAX for the object named in the correspondent OBJECT
- clause. Note that if this clause and a WRITE-SYNTAX clause are both
- present, then this clause only applies when instances of the object
- named in the correspondent OBJECT clause are read.
-
- Consult Section 9 of [2] for more information on refined syntax.
-
-
-
-
-
-
-
-
- SNMPv2 Working Group Standards Track [Page 14]
-
- RFC 1904 Conformance Statements for SNMPv2 January 1996
-
-
- 5.4.3.2. Mapping of the WRITE-SYNTAX clause
-
- The WRITE-SYNTAX clause, which need not be present, is used to
- provide a refined SYNTAX for the object named in the correspondent
- OBJECT clause when instances of that object are written.
-
- Consult Section 9 of [2] for more information on refined syntax.
-
- 5.4.3.3. Mapping of the MIN-ACCESS clause
-
- The MIN-ACCESS clause, which need not be present, is used to define
- the minimal level of access for the object named in the correspondent
- OBJECT clause. If this clause is absent, the minimal level of access
- is the same as the maximal level specified in the correspondent
- invocation of the OBJECT-TYPE macro. If present, this clause must
- not specify a greater level of access than is specified in the
- correspondent invocation of the OBJECT-TYPE macro.
-
- The level of access for certain types of objects is fixed according
- to their syntax definition. These types include: conceptual tables
- and rows, auxiliary objects, and objects with the syntax of
- Counter32, Counter64 (and possibly, certain types of textual
- conventions). A MIN-ACCESS clause should not be present for such
- objects.
-
- An implementation is compliant if the level of access it provides is
- greater or equal to the minimal level in the MODULE-COMPLIANCE macro
- and less or equal to the maximal level in the OBJECT-TYPE macro.
-
- 5.4.4. Mapping of the DESCRIPTION clause
-
- The DESCRIPTION clause must be present for each use of the GROUP or
- OBJECT clause. For an OBJECT clause, it contains a textual
- description of the refined compliance requirement. For a GROUP
- clause, it contains a textual description of the conditions under
- which the group is conditionally mandatory or unconditionally
- optional.
-
- 5.5. Mapping of the MODULE-COMPLIANCE value
-
- The value of an invocation of the MODULE-COMPLIANCE macro is an
- OBJECT IDENTIFIER. As such, this value may be authoritatively used
- when referring to the compliance statement embodied by that
- invocation of the macro.
-
-
-
-
-
-
-
- SNMPv2 Working Group Standards Track [Page 15]
-
- RFC 1904 Conformance Statements for SNMPv2 January 1996
-
-
- 5.6. Usage Example
-
- The compliance statement contained in the (hypothetical) XYZv2-MIB
- might be:
-
- xyzMIBCompliance MODULE-COMPLIANCE
- STATUS current
- DESCRIPTION
- "The compliance statement for XYZv2 entities which implement
- the XYZv2 MIB."
- MODULE -- compliance to the containing MIB module
- MANDATORY-GROUPS { xyzSystemGroup,
- xyzStatsGroup, xyzTrapGroup,
- xyzSetGroup,
- xyzBasicNotificationsGroup }
-
- GROUP xyzV1Group
- DESCRIPTION
- "The xyzV1 group is mandatory only for those
- XYZv2 entities which also implement XYZv1."
- ::= { xyzMIBCompliances 1 }
-
- According to this invocation, to claim alignment with the compliance
- statement named
-
- { xyzMIBCompliances 1 }
-
- a system must implement the XYZv2-MIB's xyzSystemGroup,
- xyzStatsGroup, xyzTrapGroup, and xyzSetGroup object conformance
- groups, as well as the xyzBasicNotificationsGroup notifications
- group. Furthermore, if the XYZv2 entity also implements XYZv1, then
- it must also support the XYZv1Group group, if compliance is to be
- claimed.
-
- 6. Mapping of the AGENT-CAPABILITIES macro
-
- The AGENT-CAPABILITIES macro is used to convey a set of capabilities
- present in a SNMPv2 entity acting in an agent role. It should be
- noted that the expansion of the AGENT-CAPABILITIES macro is something
- which conceptually happens during implementation and not during run-
- time.
-
- When a MIB module is written, it is divided into units of conformance
- termed groups. If a SNMPv2 entity acting in an agent role claims to
- implement a group, then it must implement each and every object
- within that group. Of course, for whatever reason, a SNMPv2 entity
- might implement only a subset of the groups within a MIB module. In
- addition, the definition of some MIB objects leave some aspects of
-
-
-
- SNMPv2 Working Group Standards Track [Page 16]
-
- RFC 1904 Conformance Statements for SNMPv2 January 1996
-
-
- the definition to the discretion of an implementor.
-
- Practical experience has demonstrated a need for concisely describing
- the capabilities of an agent with respect to one or more MIB modules.
- The AGENT-CAPABILITIES macro allows an agent implementor to describe
- the precise level of support which an agent claims in regards to a
- MIB group, and to bind that description to the value of an instance
- of sysORID [3]. In particular, some objects may have restricted or
- augmented syntax or access-levels.
-
- If the AGENT-CAPABILITIES invocation is given to a management-station
- implementor, then that implementor can build management applications
- which optimize themselves when communicating with a particular agent.
- For example, the management-station can maintain a database of these
- invocations. When a management-station interacts with an agent, it
- retrieves from the agent the values of all instances of sysORID [3].
- Based on this, it consults the database to locate each entry matching
- one of the retrieved values of sysORID. Using the located entries,
- the management application can now optimize its behavior accordingly.
-
- Note that the AGENT-CAPABILITIES macro specifies refinements or
- variations with respect to OBJECT-TYPE and NOTIFICATION-TYPE macros
- in MIB modules, NOT with respect to MODULE-COMPLIANCE macros in
- compliance statements.
-
- 6.1. Mapping of the PRODUCT-RELEASE clause
-
- The PRODUCT-RELEASE clause, which must be present, contains a textual
- description of the product release which includes this set of
- capabilities.
-
- 6.2. Mapping of the STATUS clause
-
- The STATUS clause, which must be present, indicates whether this
- definition is current ("current") or historic ("obsolete").
-
- 6.3. Mapping of the DESCRIPTION clause
-
- The DESCRIPTION clause, which must be present, contains a textual
- description of this set of capabilities.
-
- 6.4. Mapping of the REFERENCE clause
-
- The REFERENCE clause, which need not be present, contains a textual
- cross-reference to a capability statement defined in some other
- information module.
-
-
-
-
-
- SNMPv2 Working Group Standards Track [Page 17]
-
- RFC 1904 Conformance Statements for SNMPv2 January 1996
-
-
- 6.5. Mapping of the SUPPORTS clause
-
- The SUPPORTS clause, which need not be present, is repeatedly used to
- name each MIB module for which the agent claims a complete or partial
- implementation. Each MIB module is named by its module name, and
- optionally, by its associated OBJECT IDENTIFIER as well.
-
- 6.5.1. Mapping of the INCLUDES clause
-
- The INCLUDES clause, which must be present for each use of the
- SUPPORTS clause, is used to name each MIB group associated with the
- SUPPORTS clause, which the agent claims to implement.
-
- 6.5.2. Mapping of the VARIATION clause
-
- The VARIATION clause, which need not be present, is repeatedly used
- to name each object or notification which the agent implements in
- some variant or refined fashion with respect to the correspondent
- invocation of the OBJECT-TYPE or NOTIFICATION-TYPE macro.
-
- Note that the variation concept is meant for generic implementation
- restrictions, e.g., if the variation for an object depends on the
- values of other objects, then this should be noted in the appropriate
- DESCRIPTION clause.
-
- By definition, each object specified in a VARIATION clause follows a
- SUPPORTS clause which names the information module in which that
- object is defined. Therefore, the use of an IMPORTS statement, to
- specify from where such objects are imported, is redundant and is not
- required in an information module.
-
- 6.5.2.1. Mapping of the SYNTAX clause
-
- The SYNTAX clause, which need not be present, is used to provide a
- refined SYNTAX for the object named in the correspondent VARIATION
- clause. Note that if this clause and a WRITE-SYNTAX clause are both
- present, then this clause only applies when instances of the object
- named in the correspondent VARIATION clause are read.
-
- Consult Section 9 of [2] for more information on refined syntax.
-
- 6.5.2.2. Mapping of the WRITE-SYNTAX clause
-
- The WRITE-SYNTAX clause, which need not be present, is used to
- provide a refined SYNTAX for the object named in the correspondent
- VARIATION clause when instances of that object are written.
-
- Consult Section 9 of [2] for more information on refined syntax.
-
-
-
- SNMPv2 Working Group Standards Track [Page 18]
-
- RFC 1904 Conformance Statements for SNMPv2 January 1996
-
-
- 6.5.2.3. Mapping of the ACCESS clause
-
- The ACCESS clause, which need not be present, is used to indicate the
- agent provides less than the maximal level of access to the object or
- notification named in the correspondent VARIATION clause.
-
- The only value applicable to notifications is "not-implemented".
-
- The value "not-implemented" indicates the agent does not implement
- the object or notification, and in the ordering of possible values is
- equivalent to "not-accessible".
-
- The value "write-only" is provided solely for backward compatibility,
- and shall not be used for newly-defined object types. In the
- ordering of possible values, "write-only" is less than "not-
- accessible".
-
- 6.5.2.4. Mapping of the CREATION-REQUIRES clause
-
- The CREATION-REQUIRES clause, which need not be present, is used to
- name the columnar objects of a conceptual row to which values must be
- explicitly assigned, by a management protocol set operation, before
- the agent will allow the instance of the status column of that row to
- be set to `active'. (Consult the definition of RowStatus [5].)
-
- If the conceptual row does not have a status column (i.e., the
- objects corresponding to the conceptual table were defined using the
- mechanisms in [6,7]), then the CREATION-REQUIRES clause, which need
- not be present, is used to name the columnar objects of a conceptual
- row to which values must be explicitly assigned, by a management
- protocol set operation, before the agent will create new instances of
- objects in that row.
-
- This clause must not present unless the object named in the
- correspondent VARIATION clause is a conceptual row, i.e., has a
- syntax which resolves to a SEQUENCE containing columnar objects. The
- objects named in the value of this clause usually will refer to
- columnar objects in that row. However, objects unrelated to the
- conceptual row may also be specified.
-
- All objects which are named in the CREATION-REQUIRES clause for a
- conceptual row, and which are columnar objects of that row, must have
- an access level of "read-create".
-
-
-
-
-
-
-
-
- SNMPv2 Working Group Standards Track [Page 19]
-
- RFC 1904 Conformance Statements for SNMPv2 January 1996
-
-
- 6.5.2.5. Mapping of the DEFVAL clause
-
- The DEFVAL clause, which need not be present, is used to provide a
- refined DEFVAL value for the object named in the correspondent
- VARIATION clause. The semantics of this value are identical to those
- of the OBJECT-TYPE macro's DEFVAL clause.
-
- 6.5.2.6. Mapping of the DESCRIPTION clause
-
- The DESCRIPTION clause, which must be present for each use of the
- VARIATION clause, contains a textual description of the variant or
- refined implementation of the object or notification.
-
- 6.6. Mapping of the AGENT-CAPABILITIES value
-
- The value of an invocation of the AGENT-CAPABILITIES macro is an
- OBJECT IDENTIFIER, which names the value of sysORID [3] for which
- this capabilities statement is valid.
-
- 6.7. Usage Example
-
- Consider how a capabilities statement for an agent might be
- described:
-
- exampleAgent AGENT-CAPABILITIES
- PRODUCT-RELEASE "ACME Agent release 1.1 for 4BSD"
- STATUS current
- DESCRIPTION "ACME agent for 4BSD"
-
- SUPPORTS SNMPv2-MIB
- INCLUDES { systemGroup, snmpGroup, snmpSetGroup,
- snmpBasicNotificationsGroup }
-
- VARIATION coldStart
- DESCRIPTION "A coldStart trap is generated on all
- reboots."
-
- SUPPORTS IF-MIB
- INCLUDES { ifGeneralGroup, ifPacketGroup }
-
- VARIATION ifAdminStatus
- SYNTAX INTEGER { up(1), down(2) }
- DESCRIPTION "Unable to set test mode on 4BSD"
-
- VARIATION ifOperStatus
- SYNTAX INTEGER { up(1), down(2) }
- DESCRIPTION "Information limited on 4BSD"
-
-
-
-
- SNMPv2 Working Group Standards Track [Page 20]
-
- RFC 1904 Conformance Statements for SNMPv2 January 1996
-
-
- SUPPORTS IP-MIB
- INCLUDES { ipGroup, icmpGroup }
-
- VARIATION ipDefaultTTL
- SYNTAX INTEGER (255..255)
- DESCRIPTION "Hard-wired on 4BSD"
-
- VARIATION ipInAddrErrors
- ACCESS not-implemented
- DESCRIPTION "Information not available on 4BSD"
-
- VARIATION ipNetToMediaEntry
- CREATION-REQUIRES { ipNetToMediaPhysAddress }
- DESCRIPTION "Address mappings on 4BSD require
- both protocol and media addresses"
-
- SUPPORTS TCP-MIB
- INCLUDES { tcpGroup }
- VARIATION tcpConnState
- ACCESS read-only
- DESCRIPTION "Unable to set this on 4BSD"
-
- SUPPORTS UDP-MIB
- INCLUDES { udpGroup }
-
- SUPPORTS EVAL-MIB
- INCLUDES { functionsGroup, expressionsGroup }
- VARIATION exprEntry
- CREATION-REQUIRES { evalString }
- DESCRIPTION "Conceptual row creation supported"
-
- ::= { acmeAgents 1 }
-
- According to this invocation, an agent with a sysORID value of
-
- { acmeAgents 1 }
-
- supports six MIB modules.
-
- From SNMPv2-MIB, five conformance groups are supported.
-
- From IF-MIB, the ifGeneralGroup and ifPacketGroup groups are
- supported. However, the objects ifAdminStatus and ifOperStatus have
- a restricted syntax.
-
-
-
-
-
-
-
- SNMPv2 Working Group Standards Track [Page 21]
-
- RFC 1904 Conformance Statements for SNMPv2 January 1996
-
-
- From IP-MIB, all objects in the ipGroup and icmpGroup are supported
- except ipInAddrErrors, while ipDefaultTTL has a restricted range, and
- when creating a new instance in the ipNetToMediaTable, the set-
- request must create an instance of atPhysAddress.
-
- From TCP-MIB, the tcpGroup is supported except that tcpConnState is
- available only for reading.
-
- From UDP-MIB, the udpGroup is fully supported.
-
- From the EVAL-MIB, all the objects contained in the functionsGroup
- and expressionsGroup conformance groups are supported, without
- variation. In addition, creation of new instances in the expr table
- is supported.
-
- 7. Extending an Information Module
-
- As experience is gained with a published information module, it may
- be desirable to revise that information module.
-
- Section 10 of [2] defines the rules for extending an information
- module. The remainder of this section defines how conformance
- groups, compliance statements, and capabilities statements may be
- extended.
-
- 7.1. Conformance Groups
-
- If any non-editorial change is made to any clause of an object group
- then the OBJECT IDENTIFIER value associated with that object group
- must also be changed, along with its associated descriptor.
-
- 7.2. Compliance Definitions
-
- If any non-editorial change is made to any clause of a compliance
- definition, then the OBJECT IDENTIFIER value associated with that
- compliance definition must also be changed, along with its associated
- descriptor.
-
- 7.3. Capabilities Definitions
-
- If any non-editorial change is made to any clause of a capabilities
- definition, then the OBJECT IDENTIFIER value associated with that
- capabilities definition must also be changed, along with its
- associated descriptor.
-
-
-
-
-
-
-
- SNMPv2 Working Group Standards Track [Page 22]
-
- RFC 1904 Conformance Statements for SNMPv2 January 1996
-
-
- 8. Security Considerations
-
- Security issues are not discussed in this memo.
-
- 9. Editor's Address
-
- Keith McCloghrie
- Cisco Systems, Inc.
- 170 West Tasman Drive
- San Jose, CA 95134-1706
- US
-
- Phone: +1 408 526 5260
- EMail: kzm@cisco.com
-
- 10. Acknowledgements
-
- This document is the result of significant work by the four major
- contributors:
-
- Jeffrey D. Case (SNMP Research, case@snmp.com)
- Keith McCloghrie (Cisco Systems, kzm@cisco.com)
- Marshall T. Rose (Dover Beach Consulting, mrose@dbc.mtview.ca.us)
- Steven Waldbusser (International Network Services, stevew@uni.ins.com)
-
- In addition, the contributions of the SNMPv2 Working Group are
- acknowledged. In particular, a special thanks is extended for the
- contributions of:
-
- Alexander I. Alten (Novell)
- Dave Arneson (Cabletron)
- Uri Blumenthal (IBM)
- Doug Book (Chipcom)
- Kim Curran (Bell-Northern Research)
- Jim Galvin (Trusted Information Systems)
- Maria Greene (Ascom Timeplex)
- Iain Hanson (Digital)
- Dave Harrington (Cabletron)
- Nguyen Hien (IBM)
- Jeff Johnson (Cisco Systems)
- Michael Kornegay (Object Quest)
- Deirdre Kostick (AT&T Bell Labs)
- David Levi (SNMP Research)
- Daniel Mahoney (Cabletron)
- Bob Natale (ACE*COMM)
- Brian O'Keefe (Hewlett Packard)
- Andrew Pearson (SNMP Research)
- Dave Perkins (Peer Networks)
-
-
-
- SNMPv2 Working Group Standards Track [Page 23]
-
- RFC 1904 Conformance Statements for SNMPv2 January 1996
-
-
- Randy Presuhn (Peer Networks)
- Aleksey Romanov (Quality Quorum)
- Shawn Routhier (Epilogue)
- Jon Saperia (BGS Systems)
- Bob Stewart (Cisco Systems, bstewart@cisco.com), chair
- Kaj Tesink (Bellcore)
- Glenn Waters (Bell-Northern Research)
- Bert Wijnen (IBM)
-
- 11. References
-
- [1] Information processing systems - Open Systems Interconnection -
- Specification of Abstract Syntax Notation One (ASN.1),
- International Organization for Standardization. International
- Standard 8824, (December, 1987).
-
- [2] SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and
- S. Waldbusser, "Structure of Management Information for Version 2
- of the Simple Network Management Protocol (SNMPv2)", RFC 1902,
- January 1996.
-
- [3] SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and
- S. Waldbusser, "Management Information Base for Version 2 of the
- Simple Network Management Protocol (SNMPv2)", RFC 1907,
- January 1996.
-
- [4] SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and
- S. Waldbusser, "Protocol Operations for Version 2 of the Simple
- Network Management Protocol (SNMPv2)", RFC 1905, January 1996.
-
- [5] SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and
- S. Waldbusser, "Textual Conventions for Version 2 of the Simple
- Network Management Protocol (SNMPv2)", RFC 1903, January 1996.
-
- [6] Rose, M., and K. McCloghrie, "Structure and Identification of
- Management Information for TCP/IP-based internets", STD 16, RFC
- 1155, May 1990.
-
- [7] Rose, M., and K. McCloghrie, "Concise MIB Definitions", STD 16,
- RFC 1212, March 1991.
-
-
-
-
-
-
-
-
-
-
-
- SNMPv2 Working Group Standards Track [Page 24]
-
-