Conformance Statements for SMIv2
obsoletes
- rfc-1904 — Conformance Statements for Version 2 of the Simple Network Management Protocol (SNMPv2)
also
- std-58
Extracted elements (27)
Changes to conformance groups, compliance definitions, or capabilities definitions that alter their semantics are not permitted in-place; such changes require defining a new definition with a new descriptor and new OBJECT IDENTIFIER. Only non-semantic changes (status deprecation, reference updates, description clarifications, editorial changes) are allowed in existing definitions.
For enumerated INTEGERs and BITS constructs, it is recommended to explicitly list all objects with enumerated syntax in a VARIATION clause even when all enumerations are currently supported, to avoid problems if the MIB module later adds new enumerations or changes labels.
The AGENT-CAPABILITIES value is bound to a sysORID instance, enabling management stations to retrieve sysORID values from an agent and consult a database of capabilities statements to optimize their management application behavior. This allows concise, machine-readable description of agent capabilities.
The OBJECT-GROUP macro itself provides no conformance information; conformance information is specified through the inclusion of defined groups in a MODULE-COMPLIANCE macro. The macro expansion conceptually happens during implementation, not at run-time.
A group named in a GROUP clause must be absent from the correspondent MANDATORY-GROUPS clause. A group named in neither MANDATORY-GROUPS nor GROUP is unconditionally optional for compliance.
AGENT-CAPABILITIES 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.
When a MIB module is updated with new enumerations or changed labels in enumerated INTEGERs or BITS constructs, existing AGENT-CAPABILITIES macros written against the old revision may be affected, as the SYNTAX clause in VARIATION may no longer accurately reflect supported values.
A MIN-ACCESS clause should not be present for objects whose access level is fixed by their syntax, including conceptual tables and rows, auxiliary objects, and objects with Counter32 or Counter64 syntax.
A standard MIB module must have a corresponding MODULE-COMPLIANCE specification defined either in the same information module or in a companion information module.
An agent must never return a value for objects it does not implement; it must always return the appropriate exception or error (e.g., noSuchObject) as described in the protocol specification.
Every notification defined in an information module must be contained in at least one notification group.
Every object defined in an information module with a MAX-ACCESS clause other than 'not-accessible' must be contained in at least one object group, to avoid the error of adding a new object and forgetting to include it in a group.
If an agent claims compliance to a MIB module, it must implement each and every object and notification within each conformance group listed in the MANDATORY-GROUPS clause. Returning noSuchObject for any object in a mandatory group, or failing to generate any listed notification, means the agent is not conformant.
The ACCESS value 'write-only' in AGENT-CAPABILITIES is provided solely for backward compatibility and shall not be used for newly-defined object types.
The CREATION-REQUIRES clause must not be present unless the object named in the VARIATION clause is a conceptual row (has a syntax resolving to a SEQUENCE). All objects named in CREATION-REQUIRES that are columnar objects of the row must have an access level of 'read-create'.
The DESCRIPTION clause must be present for each use of the VARIATION clause in an AGENT-CAPABILITIES macro.
The INCLUDES clause must follow each and every use of the SUPPORTS clause in an AGENT-CAPABILITIES macro, naming each MIB group the agent claims to implement.
The MIN-ACCESS clause must not specify a greater level of access than is specified in the correspondent OBJECT-TYPE macro. An implementation is compliant if its access level is greater than or equal to the MIN-ACCESS and less than or equal to the MAX-ACCESS.
The ACCESS clause in AGENT-CAPABILITIES indicates the agent provides less than the maximal access level. The value 'not-implemented' indicates the agent does not implement the object or notification at all, equivalent in ordering to 'not-accessible'.
The AGENT-CAPABILITIES macro conveys the precise set of capabilities present in an agent with respect to one or more MIB modules. Its value is an OBJECT IDENTIFIER that names the sysORID value for which the capabilities statement is valid, enabling management stations to optimize their behavior.
The CREATION-REQUIRES clause names columnar objects of a conceptual row to which values must be explicitly assigned by a SET operation before the agent will allow the status column to be set to 'active' (for RowStatus rows) or before new instances are created (for rows without a status column).
The MODULE-COMPLIANCE macro conveys minimum implementation requirements for one or more MIB modules. It must contain a STATUS clause, DESCRIPTION clause, and at least one MODULE clause. Its value is an OBJECT IDENTIFIER that can be authoritatively used when referencing the compliance statement.
The NOTIFICATION-GROUP macro defines a collection of notifications for conformance purposes. All specified notifications must be defined in the same information module as the macro. Its value is an OBJECT IDENTIFIER naming the group.
The OBJECT-GROUP macro defines a collection of related managed objects for conformance purposes. Each object in the group must have a MAX-ACCESS clause of 'accessible-for-notify', 'read-only', 'read-write', or 'read-create'. The macro's value is an OBJECT IDENTIFIER naming the group.
The SYNTAX clause in MODULE-COMPLIANCE or AGENT-CAPABILITIES provides a refined (more restrictive) syntax for a named object. When both SYNTAX and WRITE-SYNTAX clauses are present, the SYNTAX clause applies only for read operations.
The WRITE-SYNTAX clause provides a refined syntax for a named object specifically when instances are written via management protocol set operations.
RFC 2580 defines notation for conformance requirements for MIB implementations. This method of defining conformance requirements has no security impact on the Internet.