[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Is unconstrained INTEGER illegal in SMIv2?



Hi -

As far as I know, unconstrained INTEGER is legal,
but Integer32 is preferred because it brings
additional redundancy.

Randy

> -----Original Message-----
> From: C. M. Heard [mailto:heard@pobox.com]
> Sent: Tuesday, January 07, 2003 14:09
> To: Mreview (E-mail)
> Subject: Is unconstrained INTEGER illegal in SMIv2?
> 
> 
> Hello,
> 
> Apologies to those of you who also monitor the snmpv3 list. 
> The question
> came up ober there whether the following requirement of the 
> coexistence
> document (currently <draft-ietf-snmpv3-coex-v2-02.txt>) is actually
> justified by the language in RFC 2576:
> 
> (3)  For any object with an integer-valued SYNTAX clause, in which the
>      corresponding INTEGER does not have a range restriction 
> (i.e., the
>      INTEGER has neither a defined set of named-number 
> enumerations nor
>      an assignment of lower- and upper-bounds on its value), 
> the object
>      MUST have the value of its SYNTAX clause changed to Integer32, or
>      have an appropriate range specified.
> 
> I made the assertion that the MUSTs in that paragraph are unjustified
> because as far as I could tell the words that are actually written in
> RFC 2578 do not, in fact, ban the unconstrained INTEGER 
> syntac.  Here's
> my reasoning:
> 
> On Tue, 7 Jan 2003, C. M. Heard wrote:
> > On Tue, 7 Jan 2003, David T. Perkins wrote:
> > > Mike, did you make this claim....
> > > >>                                   .... there is nothing illegal
> > > >> about an INTEGER with no subrange or enumerations;  in 
> fact it's
> > > >> completely equivalent to Integer32 with no subrange.
> > > 
> > > Would you show me where the INTEGER without a sub-range 
> (or enumerations)
> > > is legal?
> > 
> > Well, here is the relevant text from RFC 2578, Section 7.1.1:
> > 
> >    The Integer32 type represents integer-valued information between
> >    -2^31 and 2^31-1 inclusive (-2147483648 to 2147483647 
> decimal).  This
> >    type is indistinguishable from the INTEGER type.  Both 
> the INTEGER
> >    and Integer32 types may be sub-typed to be more 
> constrained than the
> >    Integer32 type.
> > 
> >    The INTEGER type (but not the Integer32 type) may also be used to
> >    represent integer-valued information as named-number 
> enumerations.
> >    In this case, only those named-numbers so enumerated may 
> be present
> >    as a value.  Note that although it is recommended that enumerated
> >    values start at 1 and be numbered contiguously, any 
> valid value for
> >    Integer32 is allowed for an enumerated value and, 
> further, enumerated
> >    values needn't be contiguously assigned.
> > 
> > The first paragraph says that the Integer32 and INTEGER types are
> > indistinguishable, so I would expect that INTEGER could be used
> > wherever Integer32 could be used, unless a subsequent provision of
> > the specification said otherwise.  The second paragraph indeed makes
> > such an exception, which is that one is allowed to use enumerations
> > with INTEGER but not Integer32.  But I could find is no language in
> > RFC 2578 that prohibits using an unconstrained INTEGER.  On 
> that basis
> > I concluded that it's legal.
> > 
> > Now, can you explain to me why that reading is wrong?
> 
> I'd like to hear the opinions of the MIB Doctors and the 
> reasons for them.
> 
> I'll note in passing that the language in RFC 1442 did seem 
> to disallow
> unconstrained INTEGER, but in going to RFC 1902 the language 
> was changed
> to substantally the form it has above (RFC 2578 added the language
> clarifying that Integer32 is not allowed for enumerated integers).
> 
> If indeed unconstrained INTEGER is banned in SMIv2 then the 
> fact should
> be spelled out the MIB review guidelines doc, because it's not clear
> from reading RFC 2578.
> 
> //cmh
> 
>