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

FW: FW: Gauge32 as an INDEX (was: Index values of zero)



Here is more input from Keith

Bert 

-----Original Message-----
From: Keith McCloghrie [mailto:kzm@cisco.com]
Sent: vrijdag 3 januari 2003 18:05
To: bwijnen@lucent.com
Cc: kzm@cisco.com; bwijnen@lucent.com
Subject: Re: FW: Gauge32 as an INDEX (was: Index values of zero)


> Well, the "rules/guidelines" I was using are the base for this discussion.
> And I got to these guidelines a year or more back when I discussed
> these with the 3 editors of STD 58, namely you, Juergen and Dave Perkins.

How about: whenever you see a Gauge32-based auxiliary object, it is worthy
of a closer look to determine whether it really is valid or not.

> Well, when reviewing I just see zero being used so very often without 
> any good reason, and often when I ask them why, they have no answer.
> Some happily switch to start from one, others are just stubborn (maybe
> I am too ;-)) and refuse to change cause they saw a zero value in some
> other MIB doc that we already approved.
 
Surely, it's more authoritative to quote the SMI (an Internet Standard)
than any new list of rules or guidelines ??

> > index value of 0 shouldn't be used arbitrarily, which I think is
> > already better expressed in the SMI as:
> >                                                ...  The use of zero as
> >    a value for an integer-valued index object should be avoided, except
> >    in special cases.
> 
> It does indeed say that and that is good. But many people just don't read it
> Oh well.... now you will tell me that there is no reason to believe they
> will read the new guidelines. :-(

Right.

> > If there's anything lacking in that sentence from the SMI, it's that
> > there are two types of special cases:
> > 
> > 1. when 0 is semantically meaningful (e.g., a temperature of 0, or 
> >    an IP-address of 0.0.0.0)
> 
> Yep, that one is understandable
> 
> > 2. when 0 has a special meaning (e.g., InterfaceIndexOrZero).
> 
> I do not understand that. The InterfaceIndex is the INDEX object and does
> not include a zero. The InterfaceIndexOrZero is used in objects where a
> ptr (in the form of an index value) is used to point to an entry in ifTable
> and to use a zero if there is no ptr. That is not being debated at the
> moment.

Right, but it's valid for an auxiliary object to be defined with a syntax of
InterfaceIndexOrZero, and it's not just "no ptr"; here's the definition:

  InterfaceIndexOrZero ::= TEXTUAL-CONVENTION
      DISPLAY-HINT "d"
      STATUS       current
      DESCRIPTION
            "This textual convention is an extension of the
            InterfaceIndex convention.  The latter defines a greater
            than zero value used to identify an interface or interface
            sub-layer in the managed system.  This extension permits the
            additional value of zero.  the value zero is object-specific
            and must therefore be defined as part of the description of
            any object which uses this syntax.  Examples of the usage of
            zero might include situations where interface was unknown,
            or when none or all interfaces need to be referenced."
      SYNTAX       Integer32 (0..2147483647)

Keith.

> > > I do not have you on mreview team at the moment.
> > > I could of course add you as a reader of the mailing list.
> > > Let me know if you want that.
> > 
> > As they say: thanks, but no thanks :-).
> > 
> Understood.
> 
> Thanks for willing to answer my private questions.

No problem.

Keith.