Operations & Management Area Bob Moore INTERNET-DRAFT IBM Category: Standards Track Kwok Ho Chan Nortel Networks March, 2001 SNMP Textual Convention for Reusable Conceptual Rows Friday, March 02, 2001, 1:20 PM 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 (2001). All Rights Reserved. Abstract This document defines a textual convention, ReusableRow, similar to the RowStatus and StorageType textual conventions defined in RFC 2579 [7]. Like these two textual conventions, ReusableRow characterizes the conceptual row of which it is a part. It indicates whether, in the course of a cloning activity, the row should be duplicated (with, obviously, a different index value), or simply pointed to by one or more newly cloned objects. This cloning may involve the scripting- based techniques defined under the SNMP Configuration umbrella, but it need not: cloning can also be realized with ordinary SNMP Get and Set operations. Moore and Chan Expires: Mar 2001 + 6 months [Page 1] Internet Draft SNMP RowPointer Textual Conventions March 2001 Table of Contents 1. Introduction......................................................2 2. Definitions.......................................................3 3. Previous Approach.................................................5 4. Intellectual Property.............................................6 5. Acknowledgements..................................................7 6. Security Considerations...........................................7 7. References........................................................7 8. Authors' Addresses................................................9 9. Full Copyright Statement..........................................9 1. Introduction This document defines a textual convention, ReusableRow, similar to the RowStatus and StorageType textual conventions defined in RFC 2579 [7]. Like these two textual conventions, ReusableRow characterizes the conceptual row of which it is a part. It indicates whether, in the course of a cloning activity, the row should be duplicated (with, obviously, a different index value), or simply pointed to by one or more newly cloned objects. This cloning may involve the scripting- based techniques defined under the SNMP Configuration umbrella, but it need not: cloning can also be realized with ordinary SNMP Get and Set operations. The process of creating instance-specific configuration from an implementation-specific template is discussed in [18]. (EDITOR'S NOTE: Since this textual convention can also be used with "ordinary" SNMP Get and Set operations, I think we can treat this reference as non-normative for the purposes of advancing the textual convention to Proposed Standard.) Briefly, a template involves rows in several tables, tied together with RowPointer objects. To clone one of these RowPointers, the process doing the cloning needs to examine the conceptual row that it is pointing to. If the row being pointed to contains an object with the syntax ReusableRow, this object will tell the cloning process how to do the cloning: o If the value of the ReusableRow object is 'reusable(2)', then the new RowPointer is set to point to the existing conceptual row. o If the value of the ReusableRow object is 'singleUse(3)', then the cloning process creates a copy of the entire conceptual row, and sets the RowPointer to point to this new row. This is also the default behavior, which a cloning process would exhibit if the conceptual row being pointed to did not contain a ReusableRow object. Note that the "cloning process" described here need not be an SNMP Configuration script. A different type of cloning can also benefit from this textual convention. Using only SNMP Get and Set operations, Moore and Chan Expires: Mar 2001 + 6 months [Page 2] Internet Draft SNMP RowPointer Textual Conventions March 2001 it is possible to retrieve one instance-specific conceptual row, and then use the values that were retrieved to create another instance- specific row "just like it." This textual convention tells the process doing the cloning whether a pointer in a newly created conceptual row may point to the same conceptual row pointed to by the object from which the pointer was cloned. A table may include a columnar object of type ReusableRow only if it makes sense for the rows of the table to be reused. For example, a table containing operational data such as state variables, counters, and gauges would not have a ReusableRow object in it, because separate rows will always be needed for separate resources. Configuration data, on the other hand, is a good candidate for reuse, since it is easier to change if it exists in only one place. Because it appears in each conceptual row of a table, rather than being a scalar object characterizing the table as a whole, it is possible for an object having the syntax ReusableRow to have different values in different rows. Such an object represents a capability of the managed system. So one would expect it to have the same value is every row of a given table, unless the table itself covers different implementation elements in the managed system. A ReusableRow object represents a capability of the managed system, rather than something that is configurable. Thus it SHOULD have MAX- ACCESS of 'read-only'. While the definition allows the managed system itself to change the value of a ReusableRow object, the implications of a managed system's doing this need further study. For now, it is assumed that the value of a particular instance of a ReusableRow object does not change. In order for a cloning process to make use of a ReusableRow object, it must have knowledge of the MIB that defines the information it is cloning. Otherwise it will be unaware that the ReusableRow object even exists. For definers of new MIBs, the process for using this textual convention is straightforward: simply include an object of type ReusableRow in those tables for which reusability makes sense. It should also be possible to retrofit the textual convention into previously defined MIBs, by augmenting the appropriate tables. If a cloning process has knowledge of the module containing the augmentation(s), then it can make use of the ReusableRow objects there just as it would in the case of a completely new MIB module. 2. Definitions SNMP-REUSABLE-ROW-TC-MIB DEFINITIONS ::= BEGIN IMPORTS Moore and Chan Expires: Mar 2001 + 6 months [Page 3] Internet Draft SNMP RowPointer Textual Conventions March 2001 MODULE-IDENTITY, mib-2 FROM SNMPv2-SMI TEXTUAL-CONVENTION FROM SNMPv2-TC; snmpReusableRowTCMIB MODULE-IDENTITY LAST-UPDATED "200103020000Z" -- March 2, 2001 ORGANIZATION "IETF Operations & Management Area" CONTACT-INFO "Bob Moore IBM Corporation, BRQA/502 PO Box 12195 Research Triangle Park, NC 27709, USA Phone: +1 919 254 4436 EMail: remoore@us.ibm.com Kwok Ho Chan Nortel Networks 600 Technology Park Drive Billerica, MA 01821, USA E-mail: khchan@nortelnetworks.com Send comments to mibs@ops.ietf.org." DESCRIPTION "This MIB module defines a textual convention that indicates whether a conceptual row is reusable." REVISION "200103020000Z" -- March 2, 2001 DESCRIPTION "Initial version, published as RFCnnnn." ::= { mib-2 67890 } -- to be assigned by IANA ReusableRow ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "This textual convention characerizes a conceptual row as reusable or not reusable for the purposes of cloning a configuration template. The objects being cloned may either be special ones that express configuration information at the mechanism-specific level, or simply instance-specific ones that already exist at the time the cloning is done. The following values are defined: - other(1) - reusable(2): the conceptual row is available to be pointed to by mulitple RowPointer objects. - singleUse(3): a separate copy of the Moore and Chan Expires: Mar 2001 + 6 months [Page 4] Internet Draft SNMP RowPointer Textual Conventions March 2001 conceptual row is needed for each RowPointer object that points to it. Because it represents a capability of the managed sytsem, rather than something that is configurable, an object having this syntax SHOULD have MAX-ACCESS of 'read-only'." SYNTAX INTEGER { other(1), reusable(2), singleUse(3) } END 3. Previous Approach The original version of this document included the following module, which defined a Textual Convention for characterizing the objects pointing to a reusable conceptual row. It is retained here for the moment for comparison with the current approach. SNMP-ROWPOINTER-TC-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, mib-2 FROM SNMPv2-SMI TEXTUAL-CONVENTION FROM SNMPv2-TC; snmpRowPointerTCMIB MODULE-IDENTITY LAST-UPDATED "200012180000Z" -- December 18, 2000 ORGANIZATION "SNMP Configuration WG" CONTACT-INFO "Bob Moore IBM Corporation, BRQA/502 PO Box 12195 Research Triangle Park, NC 27709, USA Phone: +1 919 254 4436 EMail: remoore@us.ibm.com Kwok Ho Chan Nortel Networks 600 Technology Park Drive Billerica, MA 01821, USA E-mail: khchan@nortelnetworks.com Send comments to snmpconf@ops.ietf.org." DESCRIPTION Moore and Chan Expires: Mar 2001 + 6 months [Page 5] Internet Draft SNMP RowPointer Textual Conventions March 2001 "This MIB module defines textual conventions similar to the RowPointer textual convention, with additional sementics." REVISION "200012180000Z" -- December 18, 2000 DESCRIPTION "Initial version, published as RFCnnnn." ::= { mib-2 67890 } -- to be assigned by IANA StaticRowPointer ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "Like a RowPointer, this textual convention represents a pointer to a conceptual row. The value is the name of the instance of the first accessible columnar object in the conceptual row. The additional semantics of this textual convention, relative to RowPointer, are related to the creation of instance-specific objects by cloning. The objects being cloned may either be special ones that express configuration information at the mechanism-specific level, or simply instance-specific ones that already exist at the time the cloning is done. When an object with the syntax StaticRowPointer is cloned, the StaticRowPointer in the newly cloned object is set to point to the same conceptual row that the StaticRowPointer in the cloned-from object pointed to. The cloning operations may be accomplished either with the script-based technique defined by SNMP Configuration, or by ordinary SNMP Get and Set operations. When cloning is not involved, this textual convention behaves identically to the RowPointer textual convention. Specifically, once an object with this syntax has been created, either by cloning or by other means, its value may be updated in the same way that the value of any other object with read-write or read-create access may be updated." SYNTAX OBJECT IDENTIFIER END 4. 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 Moore and Chan Expires: Mar 2001 + 6 months [Page 6] Internet Draft SNMP RowPointer Textual Conventions March 2001 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 implementers 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. 5. Acknowledgements This document grew out of the work of the SNMP Configuration working group. Keith McCloghrie suggested the fundamental change in direction, from focusing on the RowPointers to focusing on the conceptual rows being pointed to. 6. Security Considerations This module does not define any management objects. Instead, it defines a textual convention that may be used by other MIB modules to define management objects. Meaningful security considerations can only be written in the modules that define management objects. 7. References [1] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [2] Harrington, D., Presuhn, R. and B. Wijnen, "An Architecture for Describing SNMP Management Frameworks", RFC 2571, April 1999. [3] Rose, M. and K. McCloghrie, "Structure and Identification of Management Information for TCP/IP-based Internets", STD 16, RFC 1155, May 1990. [4] Rose, M. and K. McCloghrie, "Concise MIB Definitions", STD 16, RFC 1212, March 1991. Moore and Chan Expires: Mar 2001 + 6 months [Page 7] Internet Draft SNMP RowPointer Textual Conventions March 2001 [5] Rose, M., "A Convention for Defining Traps for use with the SNMP", RFC 1215, March 1991. [6] 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. [7] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M. and S. Waldbusser, "Textual Conventions for SMIv2", STD 58, RFC 2579, April 1999. [8] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M. and S. Waldbusser, "Conformance Statements for SMIv2", STD 58, RFC 2580, April 1999. [9] Case, J., Fedor, M., Schoffstall, M. and J. Davin, "A Simple Network Management Protocol (SNMP)", STD 15, RFC 1157, May 1990. [10] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Introduction to Community-based SNMPv2", RFC 1901, January 1996. [11] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Transport Mappings for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1906, January 1996. [12] Case, J., Harrington, D., Presuhn, R. and B. Wijnen, "Message Processing and Dispatching for the Simple Network Management Protocol (SNMP)", RFC 2572, April 1999. [13] Blumenthal, U. and B. Wijnen, "User-based Security Model (USM) for version 3 of the Simple Network Management Protocol (SNMPv3)", RFC 2574, April 1999. [14] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Protocol Operations for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1905, January 1996. [15] Levi, D., Meyer, P. and B. Stewart, "SNMP Applications", RFC 2573, April 1999. [16] Wijnen, B., Presuhn, R. and K. McCloghrie, "View-based Access Control Model (VACM) for the Simple Network Management Protocol (SNMP)", RFC 2575, April 1999. [17] Case, J., Mundy, R., Partain, D. and B. Stewart, "Introduction to Version 3 of the Internet-standard Network Management Framework", RFC 2570, April 1999. [18] Hazewinkel, H. and D. Partain, "The DiffServ Policy MIB", work in progress, draft-ietf-snmpconf-diffpolicy-04.txt, March 2001. Moore and Chan Expires: Mar 2001 + 6 months [Page 8] Internet Draft SNMP RowPointer Textual Conventions March 2001 8. Authors' Addresses Bob Moore IBM Corporation, BRQA/502 4205 S. Miami Blvd. Research Triangle Park, NC 27709 Phone: +1 919-254-4436 Fax: +1 919-254-6243 E-mail: remoore@us.ibm.com Kwok Ho Chan Nortel Networks 600 Technology Park Drive Billerica, MA 01821, USA E-mail: khchan@nortelnetworks.com 9. Full Copyright Statement Copyright (C) The Internet Society (2001). 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 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. Moore and Chan Expires: Mar 2001 + 6 months [Page 9]