Object Groups serve two purposes in MIB design: first, they can be used to describe a relationship amongst different objects in a MIB module, such that (for example) all of the objects in the group must be implemented in conjunction with another. Second, object groups are also useful in describing levels of conformance through the use of MODULE-COMPLIANCE and AGENT-CAPABILITIES statements. For a variation on an object to be defined within a MODULE-COMPLIANCE statement, it must be present in one or more groups also referenced by that statement. The general form for an OBJECT-GROUP definition is:
valuereference OBJECT-GROUP OBJECTS { object ?, object, ...? } STATUS statusKeyword DESCRIPTION "text" ?REFERENCE "text"? ::= { OIDValue }
Object Groups can only be defined in SMIv2 and COPS-PR-SPPI, can only reference OBJECT-TYPEs defined in the same module as the group its self, and those OBJECT-TYPEs must have a MAX-ACCESS value of accessible-for-notify
, read-only
, read-write
or read-create
(in other words, they must provide management information and not simply be structural objects such as a table or row definition). Further, every such object defined in an SMIv2 or COPS-PR-SPPI module is required to be listed in at least one group in order to be conformant.
To create an OBJECT-GROUP in MIB Smithy, you must first have created or loaded one or more MIB Modules within the project. Use the Project Tree to select the module in which to create the record -or- one of its records that is the desired parent for the new record. Then, you can either: use Insert → Object Group from the main menu; click on the Add Object Group button in the Toolbar; or right-click on the desired parent within the Project Tree, and use its New → Object Group menu. MIB Smithy will then create the record with a unique, automatically assigned name and subidentifier, and open a page in the Workspace Panel where you can edit its name and other properties.
The Group Name, Status and OID Value properties are all available to be edited from the General Page of the Object Group Workspace, which is pictured below.
Figure - OBJECT-GROUP Workspace, General Page
Each group must be assigned a name. MIB Smithy will automatically assign a name that is unique within the project; however, a user should assign a more suitable name that roughly describes the nature of the group, such as the relationship it describes between its member objects. The name should be chosen so-as to minimize to the possibility of other OIDs being given the same name for compatibility with tools that do not provide mechanisms for working around name collision.
A valid group name begins with a lowercase letter and may contain zero or more additional letters or numbers. Hyphens are allowed in SMIv1 provided the name does not end in a hyphen and no two hyphens are adjacent. Hyphens are not allowed in SMIv2 except by way of conversion from SMIv1, which does not have an OBJECT-GROUP equivalent.
This property is unconditionally required.
This property indicates the status of the object group with regards to its historic nature. It may take one of three values: current
, deprecated
or obsolete
, indicating that the group is current and valid and may continue to be used for defining conformance, that it may still be used but may soon become obsolete in the future, or that the group is now obsolete and should not continue to be used for defining conformance. Note that a group's status does not affect the status of its member objects; however, a group should not in general have a more current status than its members (i.e., a current group should not reference obsolete objects, but an obsolete group can reference current objects).
This property is unconditionally required.
This property registers a unique OBJECT IDENTIFIER value that may be used to identify the group. It is not in general used by SNMP entities, but may be used by MIB compilers and similar tools.
This property is unconditionally required.
This property corresponds both to the OBJECTS
field of the OBJECT-GROUP macro, and is used to specify the list of OBJECT-TYPEs that are considered to be members of the group. Objects within a group are usually implemented in an agent conjunction with one another, although objects can be members of more than one group. At least one object MUST be listed in a group to be conformant, as the group would serve no purpose otherwise. Further, an object must be listed in a group referenced by a MODULE-COMPLIANCE statement in order for that statement to include a variation on the object. Also, every object listed in the group must be defined in the same module as the group its self.
This property is required. At least one object must be specified.
Figure - OBJECT-GROUP Workspace, Objects Page
To add an OBJECT-TYPE reference to the Objects list, it may either be typed in manually into the space provided or selected from the drop-down list, followed by pressing the "Add" button. To delete a reference from the Objects list, it may be selected from the list above or entered manually, followed by pressing the "Remove" button.
The Object Group's Description property is used to provide the reader or implementor a description of the technical purpose behind the group. This should generally include the conditions under which an agent is expected to implement the group, and how the group's members relate to one another.
This property is unconditionally required.
Figure - OBJECT-GROUP Workspace, Description Page
The Object Group's Reference property may be used to provide the reader or implementor a reference to additional supporting documentation that may be of assistance in interpreting the purpose for the group and its member objects.
This property is optional.
Figure - OBJECT-GROUP Workspace, Reference Page
The Comments Property, which is common to all MIB Smithy records for which ASN.1 is generated (including modules, type assignments, OBJECT-GROUPs, etc.), allows you to specify optional comments that are to be associated with the record. Like comments in programming languages, ASN.1 comments are bits of text that allow extra descriptive text to be provided that are discarded by normal parsers. When MIB Smithy generates the module, either when saving or previewing, the comments for a particular record will be generated immediately above the record they are associated with.
Figure - OBJECT-GROUP Workspace, Comments Page