Even a released MIB module that is already used by many sites may require maintenance over time. According to the SMI rules, changes to a released MIB module are subject to some restrictions which guarantee that changes are compatible with existing implementations of that MIB specification. Although MIB Designer cannot enforce all of these restrictions, it provides powerful means to prevent users from making incompatible changes.
MIB Designer has a revision control mechanism that can be activated via the menu. When this mechanism is activated, a revision of a MIB module may be released by adding a revision note to its MODULE-IDENTITY construct (see Figure 2-9). Whenever a MIB module revision is being released, all objects new to that revision will be locked. Locked objects are shown in the MIB tree with underlined object name. The restrictions that apply to locked objects are listed below:
OID and object name may not be changed.
Objects may not be moved within the MIB tree nor removed from the MIB.
The only way to delete an object is to set its status to obsolete. If a table’s status is set to obsolete, then MIB Designer will set the status of all columns to obsolete too. All objects referencing obsolete objects must also have an obsolete status.
Descriptions may only be changed for clarification. The behavior of the object may not be changed.
Object lists which are part of OBJECT-GROUP, NOTIFICTION-GROUP, NOTIFICATIONS, MODULE-COMPLIANCE, and AGENT-CAPABILITIES may not be changed. The INDEX clause of a table may not be changed neither.
The SYNTAX clause of TEXTUAL-CONVENTION or OBJECT-TYPE definitions may be changed only if it is an enumeration. Then, new enumerations may be added. Existing labels may be changed only for clarification purposes.
Objects added to a MIB module after it has been released, are not subject to any restrictions. These objects are displayed not underlined in the MIB tree and may be directly edited with the SMI editor.
Unlocking a SMIv2 MIB will remove all information about which objects belong to which revision. To retain this information, the latest revision information can be removed from the MODULE-IDENTITY construct instead.
If revision control is enabled, all MIB modules imported into MIB Designer’s repository will be locked. Sometimes it might be useful to edit an imported module as if it has not been released yet, for example, if the MIB module has never been released yet and has been imported by MIB Designer. The menu can then be used to unlock the MIB.
Since SMIv1 modules do not have a MODULE-IDENTITY construct, the revision control is very limited. Nevertheless, the menu can be used to entirely lock a MIB.