Reputation: 2638
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
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,
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