[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: MIB module root assignment
- To: "Harrington, David" <dbh@enterasys.com>
- Subject: RE: MIB module root assignment
- From: Andy Bierman <abierman@cisco.com>
- Date: Fri, 19 Sep 2003 10:03:09 -0700
- Cc: "Mreview (E-mail)" <mreview@ops.ietf.org>
- In-reply-to: <6D745637A7E0F94DA070743C55CDA9BAEA9C48@NHROCMBX1.ets.enter asys.com>
At 07:12 AM 9/19/2003, Harrington, David wrote:
>Hi Andy,
>
>It seems a rather agent-centric view of the world to assume that
>problems would only be introduced by implementing the bogus number.
>That's not the case however.
I'm not being agent-centric.
I'm trying to optimize for the most prevalent case,
not a corner-case. Why are customers pulling I-D MIBs
into their NMS? Why optimize for this useless exercise?
I want to optimize for the MIB writers and I-D readers
who just want to check the syntax of a MIB module under
development. Why try to make it as painful as possible
to use SNMP?
BTW, I did not propose { foo 999999 }. I proposed a
single value { mib-2 999999 }. MIB tools can be
programmed to flag a warning if this special OID
is seen.
Andy
>A MIB document serves as a contract for use by the agent implementors,
>the application implementors, and the application users. Most agent and
>application implementors can be expected to understand the details of
>MIB documents and do the right thing.
>
>However, it is common for users to have difficulties importing MIBs into
>applications due to a lack of understanding of what makes a legal mib.
>Support departments often have to deal with customers who try to import
>mibs without first stripping them of surrounding text, importig SMIv2
>into SMIv1-only applications, trying to import agent-capability "mibs",
>or importing the wrong mib revision for the device they are using.
>
>While the rfc-editor might be smart enough to watch for { mib-2 99999 },
>users (and importing applications) are unlikely to be ready for such a
>change and are likely to import mib revisions with the bogus number. If
>the mib contains {mib-2 xxx} they'll get a warning that what they are
>doing is wrong; if it contains {mib-2 99999} then they won't get an
>error unless they've already imported another mib with that assignment
>in it (and very possibly not even then, since importing an updated mib
>often requires ignoring or re-importing known OID assignments).
>
>The current CLR is a pain in the arse only for standard developers and
>for those who want to work with pre-RFC internet drafts. For those
>working with RFCs, i.e. users and most implementors, the CLR can help to
>identify pre-standard (unstable) mib revisions.
>
>The "flaw" that you see in the current CLR is actually a feature in some
>environments. I recommend against changing the current CLR.
>
>Dbh
>David Harrington
>dbh@enterasys.com
>Director, Network Management Architecture
>Office of the CTO, Enterasys Networks
>
>
>
>> -----Original Message-----
>> From: Andy Bierman [mailto:abierman@cisco.com]
>> Sent: Thursday, September 18, 2003 11:30 PM
>> To: C. M. Heard
>> Cc: Mreview (E-mail)
>> Subject: Re: MIB module root assignment
>>
>>
>> At 06:42 PM 9/18/2003, C. M. Heard wrote:
>>
>> I'm just trying to replace a flawed CLR with a better CLR.
>> I don't agree that putting syntax errors in a MIB under
>> development is a good idea. I don't like CLRs that are
>> meant to protect the MIB reader from themselves, assuming
>> the readers are too stupid to do the right thing without our help.
>> If a vendor implements an I-D, they deal with the consequences.
>> Keeping the real MIB root a secret until the RFC is published
>> is just another CLR of this type.
>>
>> I don't care that much if this CLR doesn't change. Hopefully,
>> this won't happen with XML, especially since XML uses a
>> meaningful naming hierarchy instead of a random hierarchy.
>>
>> Andy
>>
>>
>> >On Thu, 18 Sep 2003, Andy Bierman wrote:
>> >> I don't like the fact that this is illegal SMI and causes
>> >> MIB compilers to generate errors. We want MIB writers
>> >> to use SMICng or smilint, and it's confusing to tell them
>> >> that for initial MIB modules (i.e., root never assigned)
>> >> then ignore these specific errors...but don't ignore
>> >> these errors otherwise.
>> >
>> >FWIW, the guidelines doc does not tell people to ignore MIB
>> >compilation errors. It tells them to temporarily replace XXX
>> >with an actual number:
>> >
>> > When the initial version of a MIB module is under development, the
>> > value assigned to the MODULE-IDENTITY descriptor will be
>> unknown if
>> > an IANA-assigned value is used, because the assignment is
>> made just
>> > prior to publication as an RFC. The accepted form for the MODULE-
>> > IDENTITY statement in draft versions of such a module is something
>> > along the following lines:
>> >
>> > <descriptor> MODULE-IDENTITY
>> >
>> > [ ... ]
>> >
>> > ::= { <subtree> XXX }
>> > -- RFC Ed.: replace XXX with IANA-assigned number &
>> remove this note
>> >
>> > where <descriptor> is whatever descriptor has been
>> selected for the
>> > module and <subtree> is the subtree under which the
>> module is to be
>> > registered (e.g., mib-2 or transmission). Note that XXX must be
>> > temporarily replaced by a number in order for the module
>> to compile.
>> >
>> >> >One issue that was not discussed in our earlier thread on
>> this topic
>> >> >is the fact that the RFC Editor and IANA staff are
>> sensitively "tuned"
>> >> >to look for things like { mib-2 xxx } and know exactly what to do
>> >> >with them (to the point where RFC 2493bis -- now RFC 3593
>> -- was for
>> >> >a while erroneously held up for IANA action on account of such
>> >> >constructs in some ASN.1 comments). If we change to {
>> mib-2 999999 }
>> >> >we will need to make VERY SURE that the RFC Editor and IANA are
>> >> >"re-tuned", and we'll need to update
>> http://www.ietf.org/ID-nits.html
>> >>
>> >> I think IANA is
>> bright enough to look for whatever pattern
>> >> we tell them to look for. I want there to be one specific
>> >> value that is used for this purpose. Plus I want to stop
>> >> editing MIBs to change the 'xxx' to '999999' in order to
>> >> compile them! I think it's obvious that the 999999 is
>> >> a bogus number.
>> >
>> >I agree that we can get the RFC Editor and the IANA to do what we
>> >want; I am just reminding everyone that we need to make it VERY
>> >CLEAR to them if we change the existing well-understood procedures.
>> >
>> >I don't agree about not editing MIB modules to change the 'xxx' to
>> >'999999' -- I _do_ like that, because it makes it painfully obvious
>> >to anyone using the MIB module that it's not yet ready for
>> >implementation and deployment. It's true that '999999' (or '6969'
>> >or '777') is pretty obviously bogus ... to the persons who looks for
>> >it. It won't be obvious to the person who just extracts the
>> MIB module
>> >and compiles it.
>> >
>> >Incidentally, another thing that we would need to do if we use a
>> >dummy number like '99999' instead of a non-number like 'xxx' would
>> >be to train MIB document authors to check during the AUTH48 process
>> >that the dummy number has been replaced. That's more-or-less
>> >automatic now, since a failure to replace an 'xxx' would result in
>> >a compilation failure.
>> >
>> >Mike
>>
>>
>>