rfc-2580

Conformance Statements for SMIv2

K. McCloghrie (Editor), D. Perkins (Editor), J. Schoenwaelder (Editor)
date1999-04 streamLegacy statusINTERNET STANDARD pages29 canonicalhttps://www.rfc-editor.org/rfc/rfc2580 doi10.17487/RFC2580
Collections of related objects are defined in MIB modules. 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. [STANDARDS-TRACK]

obsoletes

also

Extracted elements (27)

design-rationale §7

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.

snmp

design-rationale §6.5.2.1

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.

snmp

design-rationale §6

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.

snmp

design-rationale §3

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.

snmp

interoperability-note §5.4.2

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.

snmp

interoperability-note §6

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.

snmp

interoperability-note §6.5.2.1

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.

snmp

normative-requirement §5.4.3.3 SHOULD NOT

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.

snmp

normative-requirement §5 REQUIRED

A standard MIB module must have a corresponding MODULE-COMPLIANCE specification defined either in the same information module or in a companion information module.

snmp, yang

normative-requirement §3 MUST NOT

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.

snmp

normative-requirement §4.1 REQUIRED

Every notification defined in an information module must be contained in at least one notification group.

snmp

normative-requirement §3.1 REQUIRED

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.

snmp, yang

normative-requirement §5.4.1 MUST

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.

snmp

normative-requirement §6.5.2.3 MUST NOT

The ACCESS value 'write-only' in AGENT-CAPABILITIES is provided solely for backward compatibility and shall not be used for newly-defined object types.

snmp

normative-requirement §6.5.2.4 MUST NOT

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'.

snmp

normative-requirement §6.5.2.6 MUST

The DESCRIPTION clause must be present for each use of the VARIATION clause in an AGENT-CAPABILITIES macro.

snmp

normative-requirement §6.5.1 MUST

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.

snmp

normative-requirement §5.4.3.3 MUST NOT

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.

snmp

protocol-element §6.5.2.3

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'.

snmp

protocol-element §6

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.

snmp, yang

protocol-element §6.5.2.4

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).

snmp

protocol-element §5

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.

snmp, yang

protocol-element §4

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.

snmp, yang

protocol-element §3

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.

snmp, yang

protocol-element §5.4.3.1

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.

snmp

protocol-element §5.4.3.2

The WRITE-SYNTAX clause provides a refined syntax for a named object specifically when instances are written via management protocol set operations.

snmp

security-consideration §8

RFC 2580 defines notation for conformance requirements for MIB implementations. This method of defining conformance requirements has no security impact on the Internet.

security, snmp