david
david

Reputation: 2638

SNMP RFCs, IMPORTS, multiple definitions of physAddress

I've been looking at the SNMP v1 and v2 RFC's, including the MIB and SMI RFC's (a Management Information Base is writen in an Abstract Syntax called "Structure of Management Information") Specifically, I've been looking at the textual convention "physAddress".

Here is an IMPORT declaration a private MIB I'm using:

 PhysAddress FROM RFC1213-MIB

and here from rfc2011 (1996):

 PhysAddress FROM SNMPv2-TC

RFC4181(2005) notes that SNMPv2-TC is RFC2579 (1999)

...And some MIB compilers don't require the IMPORT statement for PhysAddress.

What is the canonical form of the declaration? Would a different MIB compiler reguire an import from RFC2579 rather than SNMPv2-TC? Is there a canonical form? If there is a canonical form, where is it documented?

Upvotes: 1

Views: 198

Answers (1)

Lex Li
Lex Li

Reputation: 63254

The rule is that for any SNMP MIB compiler, they only care about the module name in a document. For example,

SNMPv2-TC DEFINITIONS ::= BEGIN

in RFC 2579 document indicates that it defines a new module called SNMPv2-TC.

Of course you can import "RFC2579" but there needs to be a corresponding module defined anywhere (but it was never a valid module name in RFC space).

Some compilers, such as MG-SOFT's, decide to treat basic types as built-in types, and users of such products needn't worry about where to import them. That might resolve some issues, but can also lead to others.

I think you just wonder why there is also a PhysAdddress in RFC1213-MIB module. That's because RFC1213-MIB was defined to accompany other SNMP v1 components.

So hints for you are,

  1. Make it very clear which SMI version you want to use, v1 or v2.
  2. When authoring the MIB documents, only use the references (via imports) that are compatible to the SMI version you choose. RFC1213-MIB is for SMI v1, while SNMPv2-TC is for SMI v2.

If you check the standard MIB documents from IETF, or big firm like Cisco, you will see that in most cases they follow the hints.

Upvotes: 2

Related Questions