Nav view search

Navigation

Search

Identifiers are names of ASN.1 objects. These names are made with the following characters:

  • A to Z (LATIN CAPITAL LETTER A to LATIN CAPITAL LETTER Z)
  • a to z (LATIN SMALL LETTER A to LATIN SMALL LETTER Z)
  • 0 to 9 (DIGIT ZERO to DIGIT 9)
  • - (HYPHEN-MINUS)

There are two restrictions with character  "-" (HYPHEN-MINUS) to avoid any ambiguity with a comment:

  • Character "-" must not be the last character.
  • Character "-" must not follow another character "-".

It is very common to find identifier names in MIB files that use character "_" (LOW LINE). This is strictly prohibited by the standard, it is a syntax error.

It exists four kinds of identifiers:

  • "Module references": first character of the name of a "Module reference" must be an upper case letter.
  • "Type references": first character of the name of a "Type reference"must be an upper case letter.
  • "Value references": first character of the name of a "Value reference" must be an lower case letter.
  • "Identifiers": first character of the name of an "Identifier" must be an lower case letter.

It is only the context that differentiates a "Type reference" from a "Module reference" or a "Value reference" from an "Identifier".

Unfortunately, it is very common to see in MIB files "Identifiers" that starts with an upper case letter (and even that contain characters "_") or "Types references" that start with a lower case letter. Theses are syntax errors.


"Module reference" example

RFC1213-MIB DEFINITIONS ::= BEGIN ...

"Type reference" example

IfEntry ::= SEQUENCE { ifIndex ...

"Value reference" example

system OBJECT IDENTIFIER ::= { mib-2 1 }

"Identifier" example

ifAdminStatus OBJECT-TYPE SYNTAX  INTEGER { up(1), down(2), testing(3) }