[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: MIB module numbering for TBD MIB roots
At 09:22 AM 1/17/2002, Juergen Schoenwaelder wrote:
>>>>>> Andy Bierman writes:
>
>Andy> I just noticed that the RAQMON MIB proposal to the RMONMIB WG is
>Andy> rooted at { mib-2 6889 }. This is a problem.
>
>Andy> I think there should be a "well-known" MIB root assignment to
>Andy> indicate an unassigned MIB root. (NOT under mib-2 !!)
>Andy> Something that will pass MIB compilers but other MIB development
>Andy> tools can flag as an error. At a minimum, dummy MIB roots must
>Andy> not be assigned in the same sub-tree as real MIB objects.
>
>Using mib-2 has the advantage that you do not need to update imports
>if the final number is assigned. I think we can do several things:
This is not a big advantage, compared with the disadvantages of
confusion and number conflicts. (I published the ATM-RMON-MIB
many years ago under { experimental 99999 }, figuring this is
obviously a bogus number. Cisco and another ATM switch vendor
shipped products with this root assignment!)
>(a) Encourage people to use things like { mib-2 0 } for work in
> progress and let compiler writers issue warnings for things like
> this.
>
>(b) Encourage people to use things like { mib-2 xxx } which breaks
> SMI rules and thus won't work with most tools. Encourage syntax
> checker writers to accept constructs like this with a warning.
> (This is more work for compiler writers as this usually implies
> changes to the underlying grammar.)
>
>(c) Define subtrees where you can temporarily and easily root MIB
> trees under development. We more or less have such branches, but
> not many people are using them and if they do, they might run into
> problems because people implement drafts under these trees.
>
>I think (a) is the cheapest of these proposals. In fact, we would
>probably implement (b) in libsmi by mapping xxx to 0 anyway.
I like plan (d):
Create an OID rooting convention for Standard and Enterprise MIBs,
requiring MIBs-in-progress to be rooted under a branch called 'unassigned'.
For MIBs in Internet Drafts (mandatory):
unassigned ::= { mib-2 0 }
fooMib ::= { unassigned x } ( == { mib-2 0 x } to keep IMPORTS stable)
For vendor MIBs (suggested):
<prefix>Unassigned ::= { <enterprise-id> 0 }
fooMib ::= { <prefix>Unassigned 0 x }
e.g.
ciscoUnassigned ::= { enterprises 9 0 }
cFooMib ::= { ciscoUnassigned x }
where 'x' is a temporary assignment, which may be reused over time
>/js
Andy