Connected: An Internet Encyclopedia
2.1. Object Definitions
Up:
Connected: An Internet Encyclopedia
Up:
Requests For Comments
Up:
RFC 1452
Up:
2. Management Information
Prev: 2. Management Information
Next: 2.2. Trap Definitions
2.1. Object Definitions
2.1. Object Definitions
In general, conversion of a MIB module does not require the
deprecation of the objects contained therein. Only if the
semantics of an object truly changes should deprecation be
performed.
- The IMPORTS statement must reference SNMPv2-SMI, instead
of RFC1155-SMI and RFC-1212.
- The MODULE-IDENTITY macro must be invoked immediately
after any IMPORTs or EXPORTs statement.
- For any descriptor which contains the hyphen character,
the hyphen character is removed.
- For any object with an integer-valued SYNTAX clause, in
which the corresponding INTEGER does not have a range
restriction (i.e., the INTEGER has neither a defined set
of named-number enumerations nor an assignment of lower-
and upper-bounds on its value), the object must have the
value of its SYNTAX clause changed to Integer32.
- For any object with a SYNTAX clause value of an
enumerated INTEGER, the hyphen character is removed from
any named-number labels which contain the hyphen
character.
- For any object with a SYNTAX clause value of Counter, the
object must have the value of its SYNTAX clause changed
to Counter32.
- For any object with a SYNTAX clause value of Gauge, the
object must have the value of its SYNTAX clause changed
to Gauge32.
- For all objects, the ACCESS clause must be replaced by a
MAX-ACCESS clause. The value of the MAX-ACCESS clause is
the same as that of the ACCESS clause unless some other
value makes "protocol sense" as the maximal level of
access for the object. In particular, object types for
which instances can be explicitly created by a protocol
set operation, will have a MAX-ACCESS clause of "read-
create". If the value of the ACCESS clause is "write-
only", then the value of the MAX-ACCESS clause is "read-
write", and the DESCRIPTION clause notes that reading
this object will result implementation-specific results.
- For any columnar object which is used solely for instance
identification in a conceptual row, the object must have
the value of its MAX-ACCESS clause set to "not-
accessible", unless all columnar objects of the
conceptual row are used for instance identification, in
which case, the MAX-ACCESS clause for one of them must be
something other than "not-accessible".
- For all objects, if the value of the STATUS clause is
"mandatory", the value must be replaced with "current".
- For all objects, if the value of the STATUS clause is
"optional", the value must be replaced with "obsolete".
- For any object not containing a DESCRIPTION clause, the
object must have a DESCRIPTION clause defined.
- For any object corresponding to a conceptual row which
does not have an INDEX clause, the object must have
either an INDEX clause or an AUGMENTS clause defined.
- For any object with an INDEX clause that references an
object with a syntax of NetworkAddress, the value of the
STATUS clause of the both objects is changed to
"obsolete".
- For any object containing a DEFVAL clause with an OBJECT
IDENTIFIER value which is expressed as a collection of
sub-identifiers, change the value to reference a single
ASN.1 identifier.
Other changes are desirable, but not necessary:
- Creation and deletion of conceptual rows is inconsistent
using the current framework. The SNMPv2 framework
corrects this. As such, if the MIB module undergoes
review early in its lifetime, and it contains conceptual
tables which allow creation and deletion of conceptual
rows, then it may be worthwhile to deprecate the objects
relating to those tables and replacing them with objects
defined using the new approach.
- For any object with a string-valued SYNTAX clause, in
which the corresponding OCTET STRING does not have a size
restriction (i.e., the OCTET STRING has no assignment of
lower- and upper-bounds on its length), one might
consider defining the bounds for the size of the object.
- For all textual conventions informally defined in the MIB
module, one might consider redefining those conventions
using the TEXTUAL-CONVENTION macro. Such a change would
not necessitate deprecating objects previously defined
using an informal textual convention.
- For any object which represents a measurement in some
kind of units, one might consider adding a UNITS clause
to the definition of that object.
- For any conceptual row which is an extension of another
conceptual row, i.e., for which subordinate columnar
objects both exist and are identified via the same
semantics as the other conceptual row, one might consider
using an AUGMENTS clause in place of the INDEX clause for
the object corresponding to the conceptual row which is
an extension.
Finally, when encountering common errors in SNMPv1 MIB
modules:
- For any object with a SYNTAX clause value of an
enumerated INTEGER, if a named-number enumeration is
present with a value of zero, the value of the STATUS
clause of that object is changed to "obsolete".
- For any non-columnar object that is instanced as if it
were immediately subordinate to a conceptual row, the
value of the STATUS clause of that object is changed to
"obsolete".
- For any conceptual row object that is not contained
immediately subordinate to a conceptual table, the value
of the STATUS clause of that object (and all subordinate
objects) is changed to "obsolete".
Next: 2.2. Trap Definitions
Connected: An Internet Encyclopedia
2.1. Object Definitions