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

Re: OID Registration -- Rules versus BCP (fwd)



HI,

I believe that the descriptions in section 7.10 refer only to
OID values used for object types.

I believe it would be perfectly valid to create, for example,
the following definition:
  ifDescr1 OBJECT-IDENTITY .... ::= { ifDescr 1 }

There are really two rules, which are:
1) using the constructs that register (such as MODULE-IDENTITY,
   OBJECT-IDENTITY, OBJECT-TYPE, etc), the same OID value cannot
   be used by two
2) OID values for OBJECT-TYPEs have additional restrictions, which
    are:
     1) OID values for row OBJECT-TYPEs must have form { <table> 1 }
     2) OID values for columnar OBJECT-TYPEs must have form { <row> <c> }
     3) OID values for a table OBJECT-TYPE cannot be under
        the OID value of another OBJECT-TYPE
     4) OID values for a scalar OBJECT-TYPE cannot be under
        the OID value of another OBJECT-TYPE

These "rules" are reasonable and practical, with an minimal of
silliness.

Can someone define OBJECT-TYPES under an OBJECT-GROUP? Sure,
but not recommended. Why not? Well in the "first version",
all the members of the object group can be defined under
the object group. But in the "second version" where a new
OBJECT-TYPE is defined, it CANNOT be made a member of the
object group, and it will certainly be a source for confusion
and errors.

At 06:23 PM 1/9/2003 -0800, C. M. Heard wrote:
>On Thu, 9 Jan 2003, Michael Kirkham wrote:
>> An issue has come up that I was hoping to get some consensus on regarding
>> OID registration and whether or not certain types of macro invocations are
>> permitted to be defined with OIDs subordinate to other types of macro
>> invocations.  Obviously no OIDs can be registered under an OBJECT-TYPE
>> unless they are the row and column OBJECT-TYPEs of a conceptual table,
>> since it would conflict with the object's instance identifier(s).
>
>Correct.  RFC 2578 Section 7.10 makes this quite explicit.  In fact it
>seems to go further;  if I correctly interpret the following, it is not
>not just registration but any assignment that it banned:
>
>(3)  Otherwise, no other OBJECT IDENTIFIERs which are subordinate to the
>     object may be assigned.
>
>> However, I'm not sure the rules are so clear cut in other cases.  I am
>> aware that some compilers will complain if you assign, say, an OBJECT-TYPE
>> an OID subordinate to an OBJECT-GROUP, while others do not.
>[ ... ]
>> Certainly it is not a very clear or well-organized design to define, say,
>> an OBJECT-GROUP subordinate to a NOTIFICATION-TYPE, or an OBJECT-TYPE
>> subordinate a NOTIFICATION-GROUP, but offhand I am not seeing that it is
>> explicitly illegal to do so.
>
>I agree that this is strange, and if I saw it while reviewing a new MIB
>module I would politely suggest to the author that the OID assignments
>could be better organized.
>
>On the other hand, I can't find anything that says it's illegal, and as
>far as I can tell, it's actually harmless.
>
>> Seeing as how some compilers will complain and others will not, I am
>> leaning toward allowing such relationships and issuing compatibility and
>> BCP warnings if they are encountered, unless someone can point to
>> something I might have overlooked.
>
>That seems reasonable to me.  I'd like to have warnings about such things.
>But it's also a good idea to also have a reliable way to turn the warning
>off.  Not everyone appreciates such warnings, particularly for things that
>are not actually harmful, and sometimes one has to deal with existing MIB
>modules that don't conform to your (or my) concept of "well-organized".
>
>//cmh
Regards,
/david t. perkins