[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