Mib parsing errors and explanation

Mib parsing errors and explanation

Error MessageReason

The identifier should start with lowercase letter

When the identifier starts with an uppercase letter, a special character, or a number, this exception is thrown. The identifier, other than the Module Name and Textual-Convention, should start with a lower case letter.

The identifier Module Name or Textual-Convention should start with an uppercase letter.

This exception is thrown when the identifiers Module Name and the Textual-Convention start with a lower case letter.

The identifier should not start with number or special character.

If the identifier starts with a number or special character, this exception is thrown.

The MACRO definition (OBJECT-TYPE,TRAP-TYPE, ...) may be missing. The identifier may be invalid.

If the identifier for the MACRO construct (OBJECT-TYPE, OBJECT IDENTIFIER, OBJECT-IDENTITY, TEXTUAL-CONVENTION, MODULE-IDENTITY, NOTIFICATION-TYPE, NOTIFICATION-GROUP, OBJECT-GROUP, TRAP-TYPE, AGENT-CAPABILITIES, MODULE-COMPLIANCE, SEQUENCE) is missing, this exception is thrown.

sysDescr

DisplayString (SIZE (0..255))

ACCESS  read-only

STATUS  mandatory

DESCRIPTION     " description ."

::= {system 1}

Here the macro-type OBJECT-TYPE is missing.

Also, if the identifier contains special character or numbers, this exception is thrown.

1. The identifier should not start with uppercase letter or

2. In case of TEXTUAL-CONVENTION/SEQUENCE construct the keyword ASSIGNMENT (::=) was missing

If the Identifier starts with an uppercase letter, exception 1 is thrown.

For example,

EgpNeighborLoss       TRAP-TYPE

If the assignment symbol ::= is missing, then exception 2 is thrown. For example,

DisplayString  OCTET STRING

1. The imported item should be separated by the symbol comma.

2. The IMPORTS construct should be terminated with the symbol semicolon.

3. The keyword 'FROM' was missing.

In the IMPORTS section, for example,

IMPORTS

mgmt, NetworkAddress, IpAddress

Counter, Gauge, TimeTicks

FRM RFC1155-SMI

1. Comma missing between the imported items IpAddress and Counter.

2. Semicolon missing at the end of the IMPORTS construct.

3. The keyword FROM is mistyped.

Module name should start with the uppercase letter.

If the module name starts with a lower case letter, this exception is thrown.

For example, rFC1213-MIB DEFINITIONS ::= BEGIN

The name of the Imported item should be

1. lowercase or

2. uppercase, if TEXTUAL-CONVENTION

3. SnmpConstruct or TypeName, which is the name of an SNMP type or construct defined in one of the SMI MIB modules;

In the IMPORTS section,

The imported item other than the TC, may start with an upper case.

The imported item may contain other than SnmpType or SnmpConstruct (all macros, such as OBJECT-TYPE, MODULE-IDENTITY etc. and base datatypes such as INTEGER, COUNTER etc..).

The OID component value should enclosed in brackets or the OID construct may not end with right brace.

This exception is thrown if the braces for the OID construct is missing or the parenthesis for the name number OID is missing.

It may be expecting one of the following

1. The subOID may be missing.

2. The OID value reference should start with lowercase letter.

3. The OID value reference may start with modulename and separated with "."

For example,

mgmt OBJECT IDENTIFIER ::= { internet }

1. Here the subOID 2 is missing.

mgmt  OBJECT IDENTIFIER ::= { Internet 2 }
2. The OID value reference Internet starts with an uppercase letter.

Atleast one object should be present in this construct, and

1. The object should start with lowercase letter.

2. The object may start with Modulename which is separated with period

(ModuleName.objectName).

3. The objects should be separated by comma.

For example,

In the OBJECT-GROUP construct,

OBJECTS { ifInOctets ifOutOctets, ifInUnknownProtos ,IfInErrors, ifOutErrors }

1. The object IfInErrors starts with an uppercase letter.

2. Comma missing between the object names ifInOctets and ifOutOctets.

The Enterprise name should start with lowercase letter or may start with module name which is separated with period. (ModuleName.enterprisesName)

For example,

ENTERPRISES   Snmp

Here the Enterprise name starts with uppercase letter.

The keyword 'INDEX' or 'AUGMENTS' was missing.

If the INDEX or AUGMENTS keywords are mistyped or missing in the Row Objects, this exception is thrown.

1.The DEFVAL construct should enclosed in braces.
2. The default value within quotes.

This exception is thrown when the braces are missing in the DEFVAL field or the value is not enclosed in quotes.

The additional comma present in the SEQUENCE member.

This exception is thrown if there is an extra comma at the end of the last SEQUENCE member.

The quoted string was expected.

This exceptions is thrown if the value of the Description and Reference fields is not enclosed in double quotes.

The non-negative integer number was expected.

For example, in the TRAP-TYPE, 

egpNeighborLoss TRAP-TYPE

ENTERPRISE  snmp

VARIABLES   { egpNeighAddr }

DESCRIPTION

"description"

::= -5

Here the trap number is negative.

The default value is not correct

This exception is thrown if the value in the DEFVAL field is not correct.

The keyword 'SYNTAX' or 'SEQUENCE OF' is missing.

This exception is thrown if the SYNTAX or the SEQUENCE OF keyword is missing in the OBJECT-TYPE construct.

1.The keyword 'ACCESS' or 'MAX-ACCESS' was missing. or

2. The keyword 'SEQUENCE OF'  was missing. or

3. The syntax with invalid subType construct.

This exception is thrown if the keywords ACCESS, MAX-ACCESS or SEQUENCE OF are missing in the OBJECT-TYPE construct.

The invalid OID construct in the OBJECT-TYPE construct.

This exception is thrown if the OID value may not terminate with a right brace in the OBJECT-TYPE construct.

Was expecting the left brace or

Was expecting the right brace.

This exception is thrown if the brace (left or right) is missing.

The keyword VARIABLES, DESCRIPTION, REFERENCE or the ASSIGNMENT (::=)  may be missing.

If one of the mentioned keywords are missing in the TRAP-TYPE construct, this exception is thrown.

The keyword 'OBJECTS' or 'STATUS' may be missing.

This exception is thrown if the keywords OBJECTS and STATUS are missing in the NOTIFICATION-TYPE construct.

The keyword 'REFERENCE' or 'ASSIGNMENT (::=)' may be missing.

This exception is thrown if the REFERENCE or ASSIGNMENT keyword is missing in the NOTIFICATION-TYPE construct.

The keyword 'REFERENCE' or 'MODULE' was missing

This exception is thrown if the REFERENCE or MODULE field is missing in the MODULE-COMPLIANCE construct.

Was expecting MANDATORY-GROUPS or GROUP/OBJECT keyword

This exception is thrown if the MANDATORY-GROUPS or GROUP/OBJECT keyword is missing in the MODULE-COMPLIANCE construct.

One of the following keyword is missing. 

1. In case of OBJECT construct SYNTAX , WRITE-SYNTAX, MIN-ACCESS or DESCRIPTION may be missing.

2. In case of GROUP construct keyword DESCRIPTION was missing. 

This exception is thrown if the mentioned keywords are missing in the MODULE-COMPLIANCE construct.

The keyword 'REVISION' was missing.

This exception is thrown if the REVISION keyword is missing in the MODULE-IDENTITY construct.

One of these keyword 'REFERENCE'  'SUPPORTS', 'VARIATIONS' or ASSIGNMENT (::=) may be missing.

This exception is thrown if the mentioned keywords are missing in the AGENT-CAPABILITIES construct.

One of these keyword 'SYNTAX', 'WRITE-SYNTAX', 'ACCESS', 'CREATION-REQUIRES' or 'DEFVAL' may be missing.

This exception is thrown if the mentioned keywords are missing in the AGENT-CAPABILITIES construct.

The keyword 'DESCRIPTION' or 'REFERENCE' was missing.

This exception is thrown if the mentioned keywords are missing in the OBJECT-TYPE construct.

The 'ASSIGNMENT' or 'DEFVAL' keyword was missing.

This exception is thrown if the mentioned keywords are missing in the OBJECT-TYPE construct.

The ASSIGNMENT keyword was missing."

This exception is thrown if the keyword "ASSIGNMENT" is missing.

The keyword was missing

This exception is thrown if the keyword "keyword" is missing.

The keywords  are

SEQUENCE, LAST-UPDATED, CONTACT-INFO, DESCRIPTION, DESCRIPTION, ORGANIZATION, DISPLAY-HINT, STATUS, REFERENCE, SYNTAX, ENTERPRISES, VARIABLES, ASSIGNMENT (::=), OBJECTS, ACCESS, UNITS, MAX-ACCESS, MIN-ACCESS, DEFVAL, SEQUENCE OF, SEQUENCE or OBJECT IDENTIFIER, PRODUCT-RELEASE,MODULE, MANDATORY-GROUPS, SUPPORTS, INCLUDES, VARIATION, WRITE-SYNTAX, CREATION-REQUIRES, NOTIFICATIONS, and OBJECT IDENTIFIER.

For the table and row OBJECT-TYPE construct the ACCESS value should be 'not-accessible'. or The access should contain one of these values : SMIv1/v2 access values.

Here access is ACCESS/MAX-ACCESS for SMIv1 and SMIv2 respectively.

SMIv1 access values:

not-accessible","read-only","read-write","write-only"

SMIv2 access values:

"not-accessible","read-only","read-write","write-only","read-create"  accessible-for-notify",  not-implemented"

For example,

ifTable OBJECT-TYPE

SYNTAX  SEQUENCE OF IfEntry

ACCESS accessible

STATUS  mandatory

DESCRIPTION

"description"

::= { interfaces 2 }

       

Here the ACCESS value is accessible, for the table node.  

The 'INDEX' or 'AUGMENTS' keyword was missing in the table row object type construct which contains the sequence as {sequenceName}

For example,

ifEntry OBJECT-TYPE

SYNTAX  IfEntry

ACCESS  not-accessible

STATUS  mandatory

DESCRIPTION

"An interface entry containing objects at the subnetwork layer and below for a particular interface."

::= { ifTable 1 }

This exception is thrown because here the field "INDEX   { ifIndex } " is missing.

The 'INDEX' or 'AUGMENTS' keyword was missing in the table row object type construct which contains the sequence as IfEntry.

Couldn't resolve these TC constructs :

{TCObject, nodeObject ...}

These nodes might not be defined in the MIB or in the imported MIB module and therefore the corresponding TC or nodeObject could not be resolved throwing this exception.

Couldn't resolve these sequence constructs :

{sequenceName}

For example,

ifTable OBJECT-TYPE

SYNTAX  SEQUENCE OF IfEntry

ACCESS  not-accessible

STATUS  mandatory

DESCRIPTION "description"

::= { interfaces 2 }

ifEntry OBJECT-TYPE

SYNTAX  Iftry

ACCESS  not-accessible

STATUS  mandatory

DESCRIPTION "description."

INDEX   { ifIndex }

::= { ifTable 1 } 

Ifntry ::= SEQUENCE {

Here in the entry node ifEntry, the sequence name is mistyped as Iftry. This exception is thrown because there is no SEQUENCE by the name Iftry. Also the sequence name may not be the one that is defined in the syntax of ifTable.

Cyclic TC keyValue encountered in moduleName.

TCString1 ::= TCString2

TCString2 ::= TCString1

Here the TCString syntax is TCString2 whose syntax is TCString1. It gets into an indefinite loop throwing the CyclicTC exception.

Was expecting a ModuleName and that should be in upper case or atleast in proper case

This exception is thrown if the module name starts with a lower case letter or contains a special character other than hyphen. 

Encountered a reserved word reservedWord

For example,

Integer32 ::= INTEGER 

Here Integer32 is being used as a label for defining the TC. This exception is thrown because Integer32 is a reserved word.

 

If you do not wish to treat Integer32 as a reserved word, you have to use the method addLabel(String label) of the MibOperations class before loading the MIB. 

subOID value should not exceed 4294967295

This exception is thrown if the subOID value exceeds the maximum value 4294967295.


                New to ADManager Plus?

                  New to ADSelfService Plus?

                    • Related Articles

                    • How to use MIB Browser?

                      The MIB Browser utility is a handy tool to troubleshoot SNMP issues.  You can query an SNMP variable on a device to check for its response. Using this utility, you will be able to: assess the availability of SNMP on the device query a variable for ...
                    • Using OpManager's free MIB browser

                    • Creating performance monitors

                    • Steps for configuring SNMPv3 on a Router

                      Steps for configuring SNMPv3 on a Router Here are the steps to configure SNMPv3 on a router and opmanager. Lets configure a privileged user called Henry with the relevant details below. username : Henry authProtocol : MD5 privProtocol : DES ...
                    • Advantages of API based Template over CLI

                      This article is based on the experience in regards to storage module with OpManager  S.No CLI API 1 SSH is used REST (http/https) is sued 2 End devices may have maximum connections limit in a specific time. Session idle timeout will affect ...