--- 1/draft-ietf-mpls-lsr-mib-10.txt 2006-02-05 00:41:35.000000000 +0100 +++ 2/draft-ietf-mpls-lsr-mib-11.txt 2006-02-05 00:41:35.000000000 +0100 @@ -6,21 +6,21 @@ Force10 Networks, Inc. Thomas D. Nadeau Cisco Systems, Inc. June 2003 Multiprotocol Label Switching (MPLS) Label Switching Router (LSR) Management Information Base - draft-ietf-mpls-lsr-mib-10.txt + draft-ietf-mpls-lsr-mib-11.txt Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC 2026. Internet-Drafts are working documents of the In ternet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. @@ -55,34 +55,35 @@ 4.1 Summary of LSR MIB Module ................................3 5. Brief Description of MIB Module Objects ..................4 5.1. mplsInterfaceTable .......................................4 5.2. mplsInterfacePerfTable ...................................4 5.3. mplsInSegmentTable .......................................4 5.4. mplsInSegmentPerfTable ...................................5 5.5. mplsOutSegmentTable ......................................5 5.6. mplsOutSegmentPerfTable ..................................5 5.7. mplsXCTable ..............................................5 5.8. mplsLabelStackTable ......................................5 + 5.9 mplsInSegmentMapTable ....................................6 6. Use of 32-bit and 64-bit Counters ........................6 7. Example of LSP Setup .....................................6 8. Application of the Interface Group to MPLS ...............8 8.1. Support of the MPLS Layer by ifTable .....................8 9. The Use of RowPointer ....................................10 - 10. MPLS Label Switching Router MIB Module Definitions ........10 - 11. Security Considerations ...................................49 - 12. Acknowledgments ...........................................50 - 13. References ................................................51 - 13.1. Normative References ...................................51 - 13.2. Informative References .................................52 - 14. Authors' Addresses ........................................52 - 15. Full Copyright Statement ..................................53 - 16. Intellectual Property Notice ..............................53 + 10. MPLS Label Switching Router MIB Module Definitions .......10 + 11. Security Considerations ..................................52 + 12. Acknowledgments ..........................................53 + 13. References ...............................................53 + 13.1. Normative References ....................................53 + 13.2. Informative References ..................................54 + 14. Authors' Addresses .........................................55 + 15. Full Copyright Statement ...................................55 + 16. Intellectual Property Notice ...............................56 1. Introduction This memo defines an portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it describes managed objects for modeling a Multi-Protocol Label Switching (MPLS) [RFC3031] Label Switching Router (LSR). Comments should be made directly to the MPLS mailing list at @@ -246,20 +247,32 @@ to 'up' it indicates that packets will be forwarded. The administrative status object indicates the forwarding state desired by the operator. 5.8. mplsLabelStackTable The mplsLabelStackTable specifies the label stack to be pushed onto a packet, beneath the top label. Entries to this table are referred to from mplsXCTable. +5.9 mplsInSegmentMapTable + + The mplsInSegmentMapTable specifies the mapping from the + mplsInSegmentIndex to the corresponding mplsInSegmentInterface + and mplsInSegmentLabel objects. The purpose of this table is + to provide the manager with an alternative means by which to + locate in-segments. For instance, this table can be useful + when tracing LSPs from LSR to LSR by first following the + in-segment to out-segment, retrieving the outgoing label + and out-going interface, and then proceeding to interrogate + this table at the next-hop LSR to continue the trace. + 6. Use of 32-bit and 64-bit Counters 64-bit counters are provided in this MIB module for high speed interfaces where the use of 32-bit counters might be impractical. The requirements on the use of 32-bit and 64-bit counters (copied verbatim from [RFC2863]) are as follows. For interfaces that operate at 20,000,000 (20 million) bits per second or less, 32-bit byte and packet counters MUST be supported. For interfaces that operate faster than 20,000,000 bits/second, @@ -486,31 +499,30 @@ mplsStdMIB, MplsLSPID, MplsLabel, MplsBitRate, MplsOwner FROM MPLS-TC-STD-MIB AddressFamilyNumbers FROM IANA-ADDRESS-FAMILY-NUMBERS-MIB InetAddress, InetAddressType FROM INET-ADDRESS-MIB ; mplsLsrStdMIB MODULE-IDENTITY - LAST-UPDATED "200306061200Z" -- 6 June 2003 12:00:00 GMT + LAST-UPDATED "200306291200Z" -- 29 June 2003 12:00:00 GMT ORGANIZATION "Multiprotocol Label Switching (MPLS) Working Group" CONTACT-INFO " Cheenu Srinivasan - Parama Networks, Inc. - Email: cheenu@paramanet.com + Email: cheenu@alumni.princeton.edu Arun Viswanathan Force10 Networks, Inc. - Email: arun@force10networks.com + Email: arunv@force10networks.com Thomas D. Nadeau Cisco Systems, Inc. Email: tnadeau@cisco.com Comments about this document should be emailed directly to the MPLS working group mailing list at mpls@uu.net." DESCRIPTION @@ -519,62 +531,87 @@ defined in: Rosen, E., Viswanathan, A., and R. Callon, Multiprotocol Label Switching Architecture, RFC 3031, January 2001. Copyright (C) The Internet Society (2003). This version of this MIB module is part of RFCXXX; see the RFC itself for full legal notices." -- Revision history. REVISION - "200306061200Z" -- 6 June 2003 12:00:00 GMT + "200306291200Z" -- 29 June 2003 12:00:00 GMT DESCRIPTION "Initial revision, published as part of RFC XXXX." ::= { mplsStdMIB 2 } -- Textual Conventions MplsIndexType ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "This is an octet string that can be used as a table index in cases where a large addressable space is required such as on an LSR where many applications may be provisioning labels. Note that the string containing the single octet with the value 0x00 is a reserved value used to represent special cases. When this textual convention is used as the SYNTAX of an object, the DESCRITPION clause MUST specify if this special value is valid and if so - what the special meaning of is. + what the special meaning is. - When a MIB module is used for configuration, an object with - this SYNTAX always contains a legal value (if a non-zero-length + In systems that provide write access to the MPLS-LSR-STD + MIB, mplsIndexType SHOULD be used as a simple multi-digit + integer encoded as an octet string. + No further overloading of the meaning of an index SHOULD + be made. + + In systems that do not offer write access to the MPLS-LSR-STD + MIB, the mplsIndexType may contain implicit formatting that is + specific to the implementation to convey additional + information such as interface index, physical card or + device, or application id. The interpretation of this + additional formatting is implementation dependent and + not covered in this document. Such formatting MUST + NOT impact the basic functionality of read-only access + to the MPLS-LSR-STD MIB by management applications that are + not aware of the formatting rules." + SYNTAX OCTET STRING (SIZE(1..24)) + +MplsIndexNextType ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "When a MIB module is used for configuration, an object with + this SYNTAX always contains a legal value (a non-zero-length string) for an index that is not currently used in the relevant table. The Command Generator (Network Management Application) reads this variable and uses the (non-zero-length string) value read when creating a new row with an SNMP SET. When the SET is performed, the Command Responder (agent) must determine whether the value is indeed still unused; Two Network Management Applications may attempt to create a row (configuration entry) simultaneously and use the same value. If it is currently unused, the SET succeeds and the Command Responder (agent) changes the value of this object, according to an implementation-specific algorithm. If the value is in use, however, the SET fails. The Network Management Application must then re-read this variable to obtain a new usable value. - An OBJECT-TYPE definition using this SYNTAX MUST specify the - relevant table for which the object is providing this - functionality." + Note that the string containing the single octet with + the value 0x00 is a reserved value used to represent + the special case where no additional indexes can be + provisioned, or in systems that do not offer + write access, objects defined using this textual + convention MUST return the string containing the single + octet with the value 0x00." SYNTAX OCTET STRING (SIZE(1..24)) -- Top level components of this MIB module. -- Notifications mplsLsrNotifications OBJECT IDENTIFIER ::= { mplsLsrStdMIB 0 } -- Tables, Scalars mplsLsrObjects OBJECT IDENTIFIER ::= { mplsLsrStdMIB 1 } @@ -853,30 +890,30 @@ "This object counts the number of outgoing MPLS packets that required fragmentation before transmission on this interface. This object MUST count on a per-interface basis regardless of which label space the interface participates in." ::= { mplsInterfacePerfEntry 4 } -- mplsInterfacePerf Table end. mplsInSegmentIndexNext OBJECT-TYPE - SYNTAX MplsIndexType + SYNTAX MplsIndexNextType MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the next available value to be used for mplsInSegmentIndex when creating entries in the mplsInSegmentTable. The special value of a a string containing the single octet 0x00 indicates - indicates that no new entries can be created in this - table. Agents not allowing managers to create entries + that no new entries can be created in this table. + Agents not allowing managers to create entries in this table MUST set this object to this special value." ::= { mplsLsrObjects 3 } -- in-segment table. mplsInSegmentTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsInSegmentEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION @@ -890,22 +927,22 @@ as defined in RFC3031 as well as longer ones that may be necessary in the future. In cases where the label cannot fit into the mplsInSegmentLabel object, the mplsInSegmentLabelPtr will indicate this by being set to the first accessible colum in the appropriate extension table's row. In this case an additional table MUST be provided and MUST be indexed by at least the indexes used by this table. In all other cases when the label is - represented within the mlsinSegmentLabel object, the - mplsInSegmentLabelPtr must be set to 0.0. Due to the + represented within the mplsInSegmentLabel object, the + mplsInSegmentLabelPtr MUST be set to 0.0. Due to the fact that MPLS labels may not exceed 24 bits, the mplsInSegmentLabelPtr object is only a provision for future-proofing the MIB module. Thus, the definition of any extension tables is beyond the scope of this MIB module." ::= { mplsLsrObjects 4 } mplsInSegmentEntry OBJECT-TYPE SYNTAX MplsInSegmentEntry MAX-ACCESS not-accessible @@ -1090,21 +1127,21 @@ DESCRIPTION "This variable is used to create, modify, and/or delete a row in this table. When a row in this table has a row in the active(1) state, no objects in this row can be modified except the mplsInSegmentRowStatus and mplsInSegmentStorageType." ::= { mplsInSegmentEntry 10 } mplsInSegmentStorageType OBJECT-TYPE SYNTAX StorageType - MAX-ACCESS read-only + MAX-ACCESS read-create STATUS current DESCRIPTION "This variable indicates the storage type for this object. If this object is set to readOnly(5), and the corresponding LFIB entry is removed, then the agent MUST remove this row shortly thereafter. The agent MUST ensure that this object's value remains consistent with the associated mplsXCEntry. Conceptual rows having the value 'permanent' need not allow write-access to any columnar @@ -1221,21 +1258,21 @@ discontinuities have occurred since the last re- initialization of the local management subsystem, then this object contains a zero value." ::= { mplsInSegmentPerfEntry 6 } -- End of mplsInSegmentPerfTable. -- out-segment table. mplsOutSegmentIndexNext OBJECT-TYPE - SYNTAX MplsIndexType + SYNTAX MplsIndexNextType MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the next available value to be used for mplsOutSegmentIndex when creating entries in the mplsOutSegmentTable. The special value of a a string containing the single octet 0x00 indicates indicates that no new entries can be created in this table. Agents not allowing managers to create entries in this table MUST set this object to this special @@ -1467,21 +1504,21 @@ DESCRIPTION "For creating, modifying, and deleting this row. When a row in this table has a row in the active(1) state, no objects in this row can be modified except the mplsOutSegmentRowStatus or mplsOutSegmentStorageType." ::= { mplsOutSegmentEntry 11 } mplsOutSegmentStorageType OBJECT-TYPE SYNTAX StorageType - MAX-ACCESS read-only + MAX-ACCESS read-create STATUS current DESCRIPTION "This variable indicates the storage type for this object. If this object is set to readOnly(5), and the corresponding LFIB entry is removed, then the agent MUST remove this row shortly thereafter RFC2579. The agent MUST ensure that this object's value remains consistent with the associated mplsXCEntry. Conceptual rows having the value 'permanent' need not allow write-access to any columnar @@ -1595,21 +1632,21 @@ discontinuities have occurred since the last re- initialization of the local management subsystem, then this object contains a zero value." ::= { mplsOutSegmentPerfEntry 6 } -- End of mplsOutSegmentPerfTable. -- Cross-connect table. mplsXCIndexNext OBJECT-TYPE - SYNTAX MplsIndexType + SYNTAX MplsIndexNextType MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the next available value to be used for mplsXCIndex when creating entries in the mplsXCTable. A special value of the zero length string indicates that no more new entries can be created in the relevant table. Agents not allowing managers to create entries in this table MUST set this value to the zero length string." @@ -1834,21 +1871,21 @@ mplsMaxLabelStackDepth OBJECT-TYPE SYNTAX Unsigned32 (1..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "The maximum stack depth supported by this LSR." ::= { mplsLsrObjects 11 } mplsLabelStackIndexNext OBJECT-TYPE - SYNTAX MplsIndexType + SYNTAX MplsIndexNextType MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the next available value to be used for mplsLabelStackIndex when creating entries in the mplsLabelStackTable. The special string containing the single octet 0x00 indicates that no more new entries can be created in the relevant table. Agents not allowing managers to create entries in this table MUST set this value @@ -1965,37 +2001,130 @@ in this table retain the same value for this object. Agents MUST ensure that the storage type for all entries related to a particular mplsXCEntry retain the same value for this object as the mplsXCEntry's StorageType." DEFVAL { volatile } ::= { mplsLabelStackEntry 6 } -- End of mplsLabelStackTable +-- Begin mplsInSegmentMapTable + +mplsInSegmentMapTable OBJECT-TYPE + SYNTAX SEQUENCE OF MplsInSegmentMapEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table specifies the mapping from the + mplsInSegmentIndex to the corresponding + mplsInSegmentInterface and mplsInSegmentLabel + objects. The purpose of this table is to + provide the manager with an alternative + means by which to locate in-segments." + ::= { mplsLsrObjects 14 } + +mplsInSegmentMapEntry OBJECT-TYPE + SYNTAX MplsInSegmentMapEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in this table represents one interface + and incoming label pair. + + In cases where the label cannot fit into the + mplsInSegmentLabel object, the mplsInSegmentLabelPtr + will indicate this by being set to the first accessible + colum in the appropriate extension table's row, + and the mplsInSegmentLabel SHOULD be set to 0. + In all other cases when the label is + represented within the mplsInSegmentLabel object, the + mplsInSegmentLabelPtr MUST be 0.0." + INDEX { mplsInSegmentMapInterface, + mplsInSegmentMapLabel, + mplsInSegmentMapLabelPtrIndex } + ::= { mplsInSegmentMapTable 1 } + +MplsInSegmentMapEntry ::= SEQUENCE { + mplsInSegmentMapInterface InterfaceIndexOrZero, + mplsInSegmentMapLabel MplsLabel, + mplsInSegmentMapLabelPtrIndex RowPointer, + mplsInSegmentMapIndex MplsIndexType + } + +mplsInSegmentMapInterface OBJECT-TYPE + SYNTAX InterfaceIndexOrZero + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This index contains the same value as the + mplsInSegmentIndex in the mplsInSegmentTable." + ::= { mplsInSegmentMapEntry 1 } + +mplsInSegmentMapLabel OBJECT-TYPE + SYNTAX MplsLabel + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This index contains the same value as the + mplsInSegmentLabel in the mplsInSegmentTable." + ::= { mplsInSegmentMapEntry 2 } + +mplsInSegmentMapLabelPtrIndex OBJECT-TYPE + SYNTAX RowPointer + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This index contains the same value as the + mplsInSegmentLabelPtr. + + If the label for the InSegment cannot be represented + fully within the mplsInSegmentLabel object, + this index MUST point to the first accessible + column of a conceptual row in an external table containing + the label. In this case, the mplsInSegmentTopLabel + object SHOULD be set to 0 and ignored. This object MUST + be set to zeroDotZero otherwise." + ::= { mplsInSegmentMapEntry 3 } + +mplsInSegmentMapIndex OBJECT-TYPE + SYNTAX MplsIndexType + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The mplsInSegmentIndex that corresponds + to the mplsInSegmentInterface and + mplsInSegmentLabel, or the mplsInSegmentInterface + and mplsInSegmentLabelPtr, if applicable. + The string containing the single octet 0x00 + MUST not be returned." + ::= { mplsInSegmentMapEntry 4 } + +-- End mplsInSegmentMapTable + -- Notification Configuration mplsXCNotificationsEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "If this object is set to true(1), then it enables the emission of mplsXCUp and mplsXCDown notifications; otherwise these notifications are not emitted." REFERENCE "See also RFC3413 for explanation that notifications are under the ultimate control of the MIB modules in this document." DEFVAL { false } - ::= { mplsLsrObjects 14 } + ::= { mplsLsrObjects 15 } -- Cross-connect. mplsXCUp NOTIFICATION-TYPE OBJECTS { mplsXCOperStatus, -- start of range mplsXCOperStatus -- end of range } STATUS current DESCRIPTION "This notification is generated when the @@ -2050,22 +2179,21 @@ -- End of notifications. -- Module compliance. mplsLsrGroups OBJECT IDENTIFIER ::= { mplsLsrConformance 1 } mplsLsrCompliances OBJECT IDENTIFIER ::= { mplsLsrConformance 2 } --- Compliance requirement for fully compliant implementations. -mplsLsrModuleFullCompliance MODULE-COMPLIANCE +-- Compliance requirement for fully compliant implementations. mplsLsrModuleFullCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "Compliance statement for agents that provide full support for MPLS-LSR-STD-MIB." MODULE IF-MIB -- The Interfaces Group MIB, RFC 2863. MANDATORY-GROUPS { ifGeneralInformationGroup, ifCounterDiscontinuityGroup } @@ -2075,22 +2203,21 @@ mplsInterfaceGroup, mplsInSegmentGroup, mplsOutSegmentGroup, mplsXCGroup, mplsPerfGroup, mplsLsrNotificationGroup } ::= { mplsLsrCompliances 1 } --- Compliance requirement for read-only implementations. -mplsLsrModuleReadOnlyCompliance MODULE-COMPLIANCE +-- Compliance requirement for read-only implementations. mplsLsrModuleReadOnlyCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "Compliance requirement for implementations that only provide read-only support for MPLS-LSR-STD-MIB. Such devices can then be monitored but cannot be configured using this MIB modules." MODULE IF-MIB -- The interfaces Group MIB, RFC 2863 MANDATORY-GROUPS { ifGeneralInformationGroup, @@ -2218,32 +2344,28 @@ OBJECT mplsXCLabelStackIndex MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT mplsXCAdminStatus MIN-ACCESS read-only DESCRIPTION "Read only support is required." - OBJECT mplsXCOperStatus - MIN-ACCESS read-only - DESCRIPTION - "Read only support is required." - OBJECT mplsXCRowStatus SYNTAX RowStatus { active(1), notInService(2) } WRITE-SYNTAX RowStatus { notInService(2), createAndGo(4), destroy(6) } MIN-ACCESS read-only DESCRIPTION "Read only support required." + OBJECT mplsXCStorageType MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT mplsLabelStackLabel MIN-ACCESS read-only DESCRIPTION "Write access is not required." @@ -2290,21 +2412,22 @@ mplsInSegmentIndexNext, mplsInSegmentInterface, mplsInSegmentLabel, mplsInSegmentLabelPtr, mplsInSegmentNPop, mplsInSegmentAddrFamily, mplsInSegmentXCIndex, mplsInSegmentOwner, mplsInSegmentRowStatus, mplsInSegmentStorageType, - mplsInSegmentTrafficParamPtr + mplsInSegmentTrafficParamPtr, + mplsInSegmentMapIndex } STATUS current DESCRIPTION "Collection of objects needed to implement an in- segment." ::= { mplsLsrGroups 2 } mplsOutSegmentGroup OBJECT-GROUP OBJECTS { mplsOutSegmentIndexNext, @@ -2478,21 +2601,21 @@ RECOMMENDED. Instead, it is RECOMMENDED to deploy SNMPv3 and to enable cryptographic security. It is then a customer/operator responsibility to ensure that the SNMP entity giving access to an instance of this MIB module, is properly configured to give access to the objects only to those principals "users" that have legitimate 12. Acknowledgments We wish to thank Ron Bonica, Adrian Farrel, Eric Gray, Tim Mancour, Keith McCloghrie, Bala Rajagopalan, Dan Tappan, Vasanthi - Thirumalai, Joseph Benoit, Mike Piecuch, Joan Cucchiara. + Thirumalai, Joseph Benoit, Mike Piecuch, and Joan Cucchiara. A special thanks to Bert Wijnen and Mike MacFaden for really getting the MIB module into shape. 13. References 13.1. Normative References [RFC2119] S. Bradner, "Key Words for use in RFCs to Indicate Requirement Levels", RFC 2119, BCP 14, March 1997. @@ -2524,29 +2647,29 @@ for Internet Network Addresses", RFC3291, May 2002. [RFC3411] Harrington, D., Presuhn, R., and B. Wijnen, "An Architecture for Describing Simple Network Management Protocol (SNMP) Management Frameworks", RFC 3411, December 2002. [TEMIB] Srinivasan, C., Viswanathan, A. and Nadeau, T., "MPLS Traffic Engineering Management Information Base ", - Internet Draft , - November 2002. + Internet Draft , + June, 2003. [TCMIB] Nadeau, T., Cucchiara, J., Srinivasan, C., Viswanathan, A., Sjostrand, H. and K. Kompella, "Definition of Textual Conventions and OBJECT- IDENTITIES for Multi-Protocol Label Switching (MPLS) Management", Internet Draft , April 2003. + 07.txt>, June 2003. [IANAFamily] Internet Assigned Numbers Authority (IANA), ADDRESS FAMILY NUMBERS, (http://www.isi.edu/in- notes/iana/assignements/address-family-numbers), for MIB see: ftp://ftp.isi.edu/mib/iana.mib/ianaaddressfamilynum bers.mib 13.2. Informative References @@ -2557,39 +2680,34 @@ "SNMP Applications", RFC 3413, December 2002. [RFC3410] Case, J., Mundy, R., Partain, D. and B. Stewart, "Introduction and Applicability Statements for Internet-Standard Management Framework", RFC 3410, December 2002. 14. Authors' Addresses Cheenu Srinivasan - Parama Networks, Inc. - 1030 Broad Street - Shrewsbury, NJ 07702 - Phone: +1-732-544-9120 x731 - Email: cheenu@paramanet.com + Email: cheenu@alumni.princeton.edu Arun Viswanathan Force10 Networks, Inc. 1440 McCarthy Blvd Milpitas, CA 95035 Phone: +1-408-571-3516 - Email: arun@force10networks.com + Email: arunv@force10networks.com Thomas D. Nadeau Cisco Systems, Inc. - 300 Beaver Brook Road Boxboro, MA 01719 - +1-978-936-1470 + Phone: +1-978-936-1470 Email: tnadeau@cisco.com 15. Full Copyright Statement Copyright (C) The Internet Society (2003). 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