MIB Smithy

  1. Up to Table of Contents

Branch Nodes and OBJECT-IDENTITYs

Branch Nodes may take one of two forms depending on the SMI version and the whether or not the definition is intended to "register" a unique object identifier value. In SMIv1, all nodes follow the same format as the ASN.1 'Valueassignment' production:

valuereference Type ::= value

..where valuereference is the descriptor or label for the Value Assignment, Type is the type associated with the value (as in Type Assignments), and value is any value matching the given type. The only ASN.1-style Value Assignments allowed by either version of the SMI are those of the OBJECT IDENTIFIER type, which take the form:

valuereference OBJECT IDENTIFIER ::= { OIDValue }

In SMIv2, another form -- the OBJECT-IDENTITY macro -- is also available for assigning OBJECT IDENTIFIER values. The benefits to using the OBJECT-IDENTIFIER form are that, like the other macros, it provides fields for specifying descriptive text indicating the purpose of the definition. The OBJECT-IDENTITY macro also "registers" the OID, unlike the ASN.1 Value Assignment form, such that it is illegal for any other definition to be registered to the same OID. ASN.1 Value Assignments, unlike OBJECT-IDENTITYs, do not "register" OIDs and are thus not necessarily unique. (See RFC 2578 section 3.6, OBJECT IDENTIFIER usage, for further details on the difference between OID assignment and registration). The general form for an OBJECT-IDENTITY is as follows:

valuereference OBJECT-IDENTITY
    STATUS      statusKeyword
   ?REFERENCE   "text"?
    DESCRIPTION "text"
    ::= { OIDValue }

MIB Smithy treats both ASN.1 Value Assignment and OBJECT-IDENTITY forms as equivalent in terms of creating and modifying them via the GUI. It will generate one or the other when a module is saved or previewed based on the SMI version and the presence of a DESCRIPTION, which is a required field for an OBJECT-IDENTITY definition.

Creating a Branch Node

To create a Branch Node 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 InserticonObject Identity from the main menu; click on the iconAdd Node button in the Toolbar; or right-click on the desired parent record within the Project Tree and use its NewiconObject Identity 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.

General Properties

The Node Name, Status and OID Value properties are all available to be edited from the General Page of the Node Workspace, which is pictured below.

General Page

Figure - Object Identity Workspace, General Page

Node Name

Each Node 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 node. In the case of an ASN.1 Value Assignment form, this may be indicative of a related group of managed objects within the tree. In the case of an OBJECT-IDENTITY, the name should in some way be related to the description of the identity. 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 Node 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.

This property is unconditionally required.


This property indicates the status of the type definition with regards to its historic nature. It may take one of three values: current, deprecated or obsolete, indicating that the node is current and valid and may continue to be used, that it may still be used but may soon become obsolete in the future, or that the node is now obsolete and should not be implemented or expected to be supported in any recent implementation, respectively.

This property is required for OBJECT-IDENTITYs. It may be safely ignored when working with SMIv1 modules or defining nodes using the ASN.1 Value Assignment form, since this form does not have a Status property.

OID Value

For both forms, the OID value can be any form allowed by ASN.1 rules. It can also take a simple value reference (e.g. a lowercase identifier) to another definition of an OID value, though this form limits compiler compatibility. The OBJECT-IDENTITY form has the added constraint, due to "registration" rules, that the OID value must be globally unique amongst other definitions that also register OID values (essentially all records that given OID values, other than the basic ASN.1 Value Assignment form, register those OID values and must be unique).

This property is unconditionally required.

See Also

Object Identifier Values

Description Property

The Node's Description property, which must be present in SMIv2 OBJECT-IDENTITY form, is used to provide the reader or implementor a description of the technical purpose and meaning of the OID value assigned. MIB Smithy will convert the Description property to ASN.1 comments when converting a module to SMIv1.

This property is required for the OBJECT-IDENTITY form.

See Also

Formatting Text Fields

Description Page

Figure - Object Identity Workspace, Description Page

Reference Property

The Node'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 rules or basis for the type. MIB Smithy will apply the same formatting rules to this property as it does for other similar quoted-text fields such as descriptions. MIB Smithy will convert the Reference property to ASN.1 comments when converting a module to SMIv1.

This property is optional and can only be used with the OBJECT-IDENTITY form.

See Also

Formatting Text Fields

Reference Page

Figure - Object Identity Workspace, Reference Page

Comments Property

The Comments Property, which is common to all MIB Smithy records for which ASN.1 is generated (including modules, type assignments, OBJECT-TYPEs, 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.

See Also

Formatting Comments

Comments Page

Figure - Object Identity Workspace, Comments Page

  1. Up to Table of Contents