Network Working Group                                         R. Presuhn
Internet Draft                                        BMC Software, Inc.
Expires: April                                           27 October 2002


                  Referential Integrity Considerations
              in Management Information Base (MIB) Design
                    <draft-presuhn-referent-00.txt>


Status of this Memo

   This document is an Internet-Draft and is in full conformance with
   all provisions of Section 10 of RFC2026.  Internet-Drafts are working
   documents of the Internet Engineering Task Force (IETF), its areas,
   and its working groups.  Note that other groups may also distribute
   working documents as Internet-Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html


Copyright Notice

   Copyright (C) The Internet Society (2002).  All Rights Reserved.

Abstract

   This memo identifies some of referential integrity considerations of
   which management information base (MIB) designers should be aware.
   It is intended to promote discussion and the identification of
   additional related issues.

   Comments are welcomed, from the Operations and Management Area in
   general, from MIB writers, and from participants in the sming and eos
   working groups and the xmlconf BOF in particular.  Please send
   comments to the mibs@ops.ietf.org mailing list.






Presuhn                    Expires April 2003                   [Page 1]


Internet Draft        Referential Integrity Issues       27 October 2002


Table of Contents

   1. Introduction ................................................    3
   2. Notice on Intellectual Property .............................    4
   3. Security Considerations .....................................    5
   4. References ..................................................    5
   4.1. Informative References ....................................    5
   4.2. Normative References ......................................    6
   5. Author's Address ............................................    6
   6. Full Copyright Statement ....................................    6









































Presuhn                    Expires April 2003                   [Page 2]


Internet Draft        Referential Integrity Issues       27 October 2002


1.  Introduction

   This memo identifies some of referential integrity considerations of
   which management information base (MIB) deisgners should be aware.
   It is intended to promote discussion and the identification of
   additional related issues.

   This initial draft is just a strawman, so we'll have something to
   discuss.

   Referential integrity, a concept from the world of relational
   databases, is useful in the design and use of MIBs as well.  In
   [RFC2571] how instances of management information are named is
   spelled out in detail.  When we look at how MIBs and management
   applications handle references, we see several potential sources of
   problems:

      -  In some MIBs, only the human-readable decription reveals that
         two tables share a common index;

      -  When two tables share one or more common indexes, the nature of
         the relationship between them, if it is spelled out at all, is
         not machine-readable;

      -  When RowPointers and related textual conventions are used, they
         are frequently used without an associated ContextName object,
         limiting the scope of the relationship;

      -  In a few notorious cases, such as ifIndex, instance names are
         not guaranteed to be stable across reboots.

   The lack of specification (or, in some cases, the over-specification)
   of inter-table relationships causes much consternation during the
   processes of row creation and deletion.

   However, instance name instability causes the most grief when it
   interacts with other objects which have a requirement for persistance
   of some kind, whether within the managed deviced or across the larger
   systems which is the network.  It impacts not only MIBs with shared
   indexes or row pointers, but also things like disman script /
   expression MIBs, configuration file formats, and system configuration
   version management.

   A family of problems that has surfaced in several MIBs arises from
   the need to ensure that the references (e.g., RowPointers and
   indexes) to persistent data remain consistent across reboots.  An
   example of where things become problematic is the use of ifIndex,
   which is not guaranteed to keep its value across reboots.   In



Presuhn                    Expires April 2003                   [Page 3]


Internet Draft        Referential Integrity Issues       27 October 2002


   addition to keeping direct references consistent, there are also
   cases where keeping references stable across reboots is a
   requirement.  For example, a VACM access control policy could be
   subverted if the indexes don't remain the same.

   A similar problem results in MIBs that use "profiles" to reduce the
   amount of configuration data.  The ADSL extension MIB encountered
   this problem.  The solution adopted there, to require implementations
   to adjust their indexes to match whatever happened to ifIndex, is not
   terribly satisfying.  First, it interacts badly with VACM.  Secondly,
   it requires configuration management applications to somehow be able
   to figure out whether two or more configurations, in which the
   indexes may have all been renumbered, are equivalent.  (This can be
   done, but it's not cheap.)

   The problem only gets worse with things like scripts, the [RFC2573]
   notification filtering mechanism, thresholds, alarms, and common log
   management use cases,

   Consequently, this memo recommends that objects like ifIndex be
   implemented so that their values do not change across reboots, and
   that in future MIB design the needs of configuration management
   systems, scripts, and so on be taken into account.


2.  Notice on Intellectual Property

   The IETF takes no position regarding the validity or scope of any
   intellectual property or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; neither does it represent that it
   has made any effort to identify any such rights.  Information on the
   IETF's procedures with respect to rights in standards-track and
   standards-related documentation can be found in BCP-11.  Copies of
   claims of rights made available for publication and any assurances of
   licenses to be made available, or the result of an attempt made to
   obtain a general license or permission for the use of such
   proprietary rights by implementors or users of this specification can
   be obtained from the IETF Secretariat.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights which may cover technology that may be required to practice
   this standard.  Please address the information to the IETF Executive
   Director.





Presuhn                    Expires April 2003                   [Page 4]


Internet Draft        Referential Integrity Issues       27 October 2002


3.  Security Considerations

   Needless to say, there are lots of security considerations here.  The
   index structure of the view-based access control model [VACM]
   reflects the naming of the resources to which access is being
   controlled.  Consequently, if resource names change across reboots,
   the semantics of a stored access control configuration would not be
   preserved.


4.  References

4.1.  Informative References

   [RFC1155] Rose, M. and K. McCloghrie, "Structure and Identification
             of Management Information for TCP/IP-based Internets", STD
             16, RFC 1155, May 1990.

   [RFC1157] Case, J., Fedor, M., Schoffstall, M. and J. Davin, "Simple
             Network Management Protocol", STD 15, RFC 1157, May 1990.

   [RFC1212] Rose, M., and K. McCloghrie, "Concise MIB Definitions", STD
             16, RFC 1212, March 1991.

   [RFC2578] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,
             Rose, M., and S. Waldbusser, "Structure of Management
             Information Version 2 (SMIv2)", STD 58, RFC 2578, April
             1999.

   [RFC2579] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,
             Rose, M., and S. Waldbusser, "Textual Conventions for
             SMIv2", STD 58, RFC 2579, April 1999.

   [RFC2580] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,
             Rose, M., and S. Waldbusser, "Conformance Statements for
             SMIv2", STD 58, RFC 2580, April 1999.

   [OpsReq]  Woodcock, B., "Operator Requirements of Infrastructure
             Management Methods", draft-ops-operator-req-mgmt-02.txt,
             February 2002.

   [ConfBcp] MacFaden, M., Saperia, J. and W. Tackabury, "Configuring
             Networks and Devices With SNMP", draft-ietf-snmpconf-
             bcp-07.txt, November 2001.

   [RFC2575] Wijnen, B., Presuhn, R. and K. McCloghrie, "View-based
             Access Control Model (VACM) for the Simple Network
             Management Protocol (SNMP)", RFC 2575, April 1999.



Presuhn                    Expires April 2003                   [Page 5]


Internet Draft        Referential Integrity Issues       27 October 2002


   [RFC2574] Blumenthal, U. and B. Wijnen, "User-based Security Model
             (USM) for version 3 of the Simple Network Management
             Protocol (SNMPv3)", RFC 2574, April 1999.

   [RFC3231] Levi, D. and J. Schoenwaelder, "Definitions of Managed
             Objects for Scheduling Management Operations", RFC 3231,
             January 2002.

   [RFC3231] Levi, D. and J. Schoenwaelder, "Definitions of Managed
             Objects for Scheduling Management Operations", RFC 3231,
             January 2002.

   [RFC3014] Kavasseri, R., "Notification Log MIB", RFC 3014, November
             2000.

4.2.  Normative References


5.  Author's Address

   Randy Presuhn
   BMC Software, Inc.
   2141 North First Street
   San Jose, CA  95131
   USA

   Phone: +1 408 546 1006
   EMail: randy_presuhn@bmc.com

6.  Full Copyright Statement

   Copyright (C) The Internet Society (2002).  All Rights Reserved.

   This document and translations of it may be copied and furnished to
   others, and derivative works that comment on or otherwise explain it
   or assist in its implementation may be prepared, copied, published
   and distributed, in whole or in part, without restriction of any
   kind, provided that the above copyright notice and this paragraph are
   included on all such copies and derivative works.  However, this
   document itself may not be modified in any way, such as by removing
   the copyright notice or references to the Internet Society or other
   Internet organizations, except as needed for the purpose of
   developing Internet standards in which case the procedures for
   copyrights defined in the Internet Standards process must be
   followed, or as required to translate it into languages other than
   English.

   The limited permissions granted above are perpetual and will not be



Presuhn                    Expires April 2003                   [Page 6]


Internet Draft        Referential Integrity Issues       27 October 2002


   revoked by the Internet Society or its successors or assigns.

   This document and the information contained herein is provided on an
   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
   TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
   BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
   HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.











































Presuhn                    Expires April 2003                   [Page 7]