Hi PWG folks, Thursday (24 April 1997)
My action item from Tuesday's PMP telecon was to suggest a MAX-ACCESS
clause for 'prtAlertIndex'. Below is a recommendation, a rationale, a
set of caveats, a quick summary of 'prior art' (background), and some
side effects (cautions) with respect to the accessibility of INDEX
objects. There are no thoroughly satifactory answers to some SMIv2
issues.
Originally RFC 1155/1212/1215 didn't make clear whether index objects
may be (like table and entry 'special' objects) assigned ACCESS of
'not-accessible'. But the examples in RFC 1212 all use 'read-only'.
Cheers,
- Ira McDonald (outside consultant at Xerox)
High North Inc
PO Box 221
Grand Marais, MI 49839
--------------------------- 'prtAlertIndex' ----------------------------
Recommendation:
---------------
Use a MAX-ACCESS of 'not-accessible' for 'prtAlertIndex' (a special case
INDEX object, also specified in a NOTIFICATION-TYPE trap definition),
and NOT the recommended RFC 1902 MAX-ACCESS of 'accessible-for-notify',
in the final I-D of the Printer MIB v2 to the IETF in June.
Rationale:
----------
a) The choice 'accessible-for-notify' was not defined in SMIv1, so
Printer MIB translation from SMIv2 to SMIv1 would be undefined;
b) The choice 'not-accessible' was not clearly prohibited in SMIv1 for
INDEX objects, so translation would be well-defined;
c) Incompatible changes between 'editions' of SMIv2 (RFC 144x series
versus RFC 190x) are not the province nor the problem of the PWG.
Caveats:
--------
a) Compiling under RFC 1155/1212/1215 (SMIv1)
- May require either a hand-edit to 'read-only'
or some error suppression flag(s) in some SNMP compilers.
b) Compiling under RFC 144x series (first 'edition' of SMIv2)
- Should succeed in any 'correct' SNMP compiler.
c) Compiling under RFC 190x series (second 'edition' of SMIv2)
- May require either a hand-edit to 'accessible-for-notify'
or some error suppression flag(s) in some SNMP compilers.
Background:
-----------
a) ACCESS clauses for INDEX objects in SMIv1 (RFC 1155/1212/1215):
- RFC 1155 (SMIv1, 05/90) gives no guidance on INDEX objects
- RFC 1156 (MIB-I in SMIv1, 05/90) uses 'read-only'
- RFC 1212 (Concise SMIv1, 03/91) gives examples using 'read-only'
- RFC 1213 (MIB-II in SMIv1, 03/91) uses 'read-only'
- RFC 1512 (FDDI MIB in SMIv1, 09/93) uses 'read-only',
but it updates RFC 1285 ('prior art')
- RFC 1643 (Ethernet MIB in SMIv1, 07/94) uses 'read-only',
but it updates RFC 1398 ('prior art')
b) MAX-ACCESS clauses for INDEX objects in the two 'editions' of SMIv2
(old RFC 1442/1443/1444, 04/93; new RFC 1902/1903/1904, 01/96):
- RFC 1565 (Net Svc Mon MIB in SMIv2, 01/94) uses 'not-accessible',
but there was no 'prior art' for NSM
- RFC 1573 (Interfaces group in SMIv2, 01/94) uses 'not-accessible'
in the new 'ifStackTable', but 'read-only' in the old 'ifTable'
- RFC 1650 (Ethernet MIB in SMIv2, 07/94) uses 'read-only',
but it updates RFC 1398 ('prior art')
- RFC 1695 (ATM MIB in SMIv2, 08/94) uses 'not-accessible',
but there was no 'prior art' for ATM interfaces
- RFC 1748 (Token Ring MIB in SMIv2, 12/94) uses 'read-only',
but it updates RFC 1231 ('prior art')
c) MAX-ACCESS clauses for rightmost INDEX objects in otherwise 'empty'
conceptual rows (ie, w/ no non-index columnar objects):
- RFC 1442 (old SMIv2) says to use 'read-only'
- RFC 1902 (new SMIv2) says to use 'read-only'
d) Special rules for INDEX objects which are ALSO specified in the
OBJECTS clause (variable bindings) of an SMIv2 NOTIFICATION-TYPE
macro (equivalent to SMIv1 TRAP-TYPE macro):
- RFC 1442 (old SMIv2) says to use 'not-accessible'
- RFC 1902 (new SMIv2) says to use 'accessible-for-notify'
Cautions:
---------
a) SMICng v2.1.03 (update from SNMPinfo, 02/97)
- Will mark 'not-accessible' on 'prtAlertIndex' as an Error (not a
Warning), if not suppressed by flags
b) SMICng v2.1.03 (update from SNMPinfo, 02/97)
- Will accept 'not-accessible' on 'prtAlertIndex' if the '/CN' (no
check of leaf objects in notifications) flag is specified
c) Emissary 6.0 (from Epilogue 7.0, 1996)
- Will mark 'not-accessible' on 'prtAlertIndex' as an Error (not a
Warning), and cannot be suppressed by any flags I have discovered