Mapping the SNMPv1 and SNMPv2C OBJECT-TYPE Macro

[This is preliminary documentation and subject to change.]

The SNMPv1- and SNMPv2C-defined ASN.1 macro OBJECT-TYPE describes the characteristics of a manageable unit of data. A set of OBJECT-TYPE macros can be thought of as a collection of objects that share some relationship. In SNMPv2C, you can formally specify the constituent elements of a group using the OBJECT-GROUP macro; however, there is no formal mechanism to do this in SNMPv1. For the purposes of the SNMP providers, you can invent a collection relationship and fabricate collections. This can be done for both SNMPv1 and SNMPv2C MIB definitions; that is, the SNMPv2C OBJECT-GROUP macro is ignored.

You can fabricate collections for each SNMPv1 and SNMPv2C information module. The following notation is needed to define precisely how such collections are constructed:

Using the preceding notation, the manner in which fabricated OBJECT-GROUP instances are defined in an SNMPv1 and SNMPv2C information module can be stated as follows:

Let n be a named node in an SNMP information module M, and CS(M,n) the set of OBJECT-TYPE instances in M defined by:

CS(M,n) = { s | s is a scalar and objId(s) = objId(n).x, for some integer x} 
 

Then if CS(M,n) is not empty, it defines a scalar collection for the SNMPv1 or SNMPv2C information module M.

Let n be a named node in an SNMP information module M, and CT(M,n) the set of OBJECT-TYPE instances in M defined by:

CT(M,n) = { c | c is a column of table n and objId(c) = objId(n).x.y, for some integers x, y}
 

Then if CT(M,n) is not empty, it defines a table collection for the SNMPv1 or SNMPv2C information module M.

This definition provides a basis for the following mapping process:

  1. All objects present within a table collection map to properties of a single CIM class definition. The object descriptor for a table collection is defined as the object descriptor of n for CT(M,n).
  2. All objects present within a scalar collection map to properties of a single CIM class definition. The object descriptor for a scalar collection is defined as the object descriptor of n for CS(M,n).