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

OID Registration -- Rules versus BCP (fwd)



It was suggested that I send this to this list instead.

---------- Forwarded message ----------
Date: Thu, 9 Jan 2003 09:02:10 -0800 (PST)
From: Michael Kirkham <mikek@muonics.com>
To: snmpv3@lists.tislabs.com
Subject: OID Registration -- Rules versus BCP


Hi, all.

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).

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.  This may
simply be a case of me spacing, but the closest statement to the legality
(or illegality ) of such is the following statement from RFC 2578:

(1)  registration: the definition of a particular item is registered as
     a particular OBJECT IDENTIFIER value, and associated with a
     particular descriptor.  After such a registration, the semantics
     thereby associated with the value are not allowed to change, the
     OBJECT IDENTIFIER can not be used for any other registration, and
     the descriptor can not be changed nor associated with any other
     registration.  The following macros result in a registration:

          OBJECT-TYPE, MODULE-IDENTITY, NOTIFICATION-TYPE, OBJECT-GROUP,
          OBJECT-IDENTITY, NOTIFICATION-GROUP, MODULE-COMPLIANCE,
          AGENT-CAPABILITIES.

However, note that this of course includes MODULE-IDENTITY and
OBJECT-IDENTITY, which are commonly used to register OIDs that others are
registered subordinate to (even going as far as it being BCP for
MODULE-IDENTITY).  So the above statement alone does not disallow it in
the case of other macros.

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.  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.


--
Michael Kirkham
www.muonics.com