--- 1/draft-ietf-mpls-te-mib-09.txt 2006-02-05 00:43:40.000000000 +0100 +++ 2/draft-ietf-mpls-te-mib-10.txt 2006-02-05 00:43:40.000000000 +0100 @@ -1,25 +1,25 @@ + Network Working Group Cheenu Srinivasan -Internet Draft Parama Networks, Inc. -Expires: May 2003 - Arun Viswanathan +Internet Draft +Expires: December 2003 Arun Viswanathan Force10 Networks, Inc. Thomas D. Nadeau Cisco Systems, Inc. - November 2002 + June 2003 Multiprotocol Label Switching (MPLS) Traffic Engineering Management Information Base - draft-ietf-mpls-te-mib-09.txt + draft-ietf-mpls-te-mib-10.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 Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. @@ -40,177 +40,146 @@ This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it describes managed objects for Multiprotocol Label Switching (MPLS) based traffic engineering. Table of Contents 1. Introduction ........................................... 2 +2. Terminology ............................................ 3 -2. Terminology ............................................ 2 -3. The SNMP Management Framework .......................... 3 -4. Feature List ........................................... 4 +3. The Internet-Standard Management Framework ............. 3 +4. Feature List ........................................... 3 5. Outline ................................................ 4 -5.1. Summary of Traffic Engineering MIB ................... 5 +5.1. Summary of Traffic Engineering MIB module ............ 4 6. Brief Description of MIB Objects ....................... 5 6.1. mplsTunnelTable ...................................... 5 -6.2. mplsTunnelResourceTable .............................. 6 -6.3. mplsTunnelHopTable ................................... 6 +6.2. mplsTunnelResourceTable .............................. 5 +6.3. mplsTunnelHopTable ................................... 5 6.4. mplsTunnelARHopTable ................................. 6 -6.5. mplsTunnelCHoptable .................................. 7 -6.6. mplsTunnelPerfTable .................................. 7 -6.7. mplsTunnelCRLDPResTable .............................. 7 -7. Use of 32-bit and 64-bit Counters ...................... 7 +6.5. mplsTunnelCHoptable .................................. 6 +6.6. mplsTunnelPerfTable .................................. 6 +6.7. mplsTunnelCRLDPResTable .............................. 6 +7. Use of 32-bit and 64-bit Counters ...................... 6 8. Application of the Interface Group to MPLS Tunnels ..... 7 8.1. Support of the MPLS Tunnel Interface by ifTable ...... 8 -9. Example of Tunnel Setup ............................... 10 -10. The Use of RowPointer ................................ 12 +9. Example of Tunnel Setup ................................ 9 +10. The Use of RowPointer ................................ 11 11. MPLS Traffic Engineering MIB Definitions ............. 12 -12. Security Considerations .............................. 63 -13. Acknowledgments ...................................... 64 -14. References ........................................... 64 -15. Authors' Addresses ................................... 67 -16. Full Copyright Statement ............................. 67 +12. Security Considerations .............................. 65 +13. Acknowledgments ...................................... 67 +14. References ........................................... 67 +14.1. Normative References ............................... 67 +14.2. Informative References ............................. 68 +15. Authors' Addresses ................................... 70 +16. Full Copyright Statement ............................. 70 +17. Intellectual Property Notice ......................... 71 1. Introduction This memo defines a 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] based traffic engineering. This MIB should - be used in conjunction with the companion document [LSRMIB] - for MPLS based traffic engineering configuration and - management. + (MPLS) [RFC3031] based traffic engineering. This MIB module + should be used in conjunction with the companion document + [LSRMIB] for MPLS based traffic engineering configuration + and management. + + Comments should be made directly to the MPLS mailing list + at mpls@uu.net. + + The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", + "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", + and "OPTIONAL" in this document are to be interpreted as + described in RFC 2119, reference [RFC2119]. 2. Terminology This document uses terminology from the MPLS architecture - document [RFC3031] and MPLS Label Switching Router MIB + document [RFC3031] and MPLS Label Switch Router MIB [LSRMIB]. Some frequently used terms are described next. An explicitly routed LSP (ERLSP) is referred to as an MPLS tunnel. It consists of one in-segment and/or one out- segment at the ingress/egress LSRs, each segment being associated with one MPLS interface. These are also referred to as tunnel segments. Additionally, at an intermediate LSR, we model a connection as consisting of one or more in-segments and/or one or more out-segments. The binding or interconnection between in-segments and out- segments in performed using a cross-connect. These objects - are defined in the MPLS Label Switching Router MIB - [LSRMIB]. - -3. The SNMP Management Framework - - The SNMP Management Framework presently consists of five - major components: - - - An overall architecture, described in RFC 2571 - [RFC2571]. - - - Mechanisms for describing and naming objects and events - for the purpose of management. The first version of - this Structure of Management Information (SMI) is - called SMIv1 and described in STD 16, RFC 1155 - [RFC1155], STD 16, RFC 1212 [RFC1212] and STD 16, RFC - 1215 [RFC1215]. The second version, called SMIv2, is - described in STD 58, RFC 2578 [RFC2578], STD 58, RFC - 2579 [RFC2579] and STD 58, RFC 2580 [RFC2580]. - - - Message protocols for transferring management - information. The first version of the SNMP message - protocol is called SNMPv1 and described in STD 15, RFC - 1157 [RFC1157]. A second version of the SNMP message - protocol, which is not an Internet standards track - protocol, is called SNMPv2c and described in RFC 1901 - [RFC1901] and RFC 1906 [RFC1906]. The third version of - the message protocol is called SNMPv3 and described in - RFC 1906 [RFC1906], RFC 2572 [RFC2572] and RFC 2574 - [RFC2574]. - - - Protocol operations for accessing management - information. The first set of protocol operations and - associated PDU formats is described in STD 15, RFC 1157 - [RFC1157]. A second set of protocol operations and - associated PDU formats is described in RFC 1905 - [RFC1905]. + are defined in the MPLS Label Switch Router MIB [LSRMIB]. - - A set of fundamental applications described in RFC 2573 - [RFC2573] and the view-based access control mechanism - described in RFC 2575 [RFC2575]. +3. The Internet-Standard Management Framework - A more detailed introduction to the current SNMP Management - Framework can be found in RFC 2570 [RFC2570]. + For a detailed overview of the documents that describe the + current Internet-Standard Management Framework, please + refer to section 7 of RFC 3410 [RFC3410]. Managed objects are accessed via a virtual information - store, termed the Management Information Base or MIB. - Objects in the MIB are defined using the mechanisms defined - in the SMI. - - This memo specifies a MIB module that is compliant to the - SMIv2. A MIB conforming to the SMIv1 can be produced - through the appropriate translations. The resulting - translated MIB must be semantically equivalent, except - where objects or events are omitted because no translation - is possible (use of Counter64). Some machine-readable - information in SMIv2 will be converted into textual - descriptions in SMIv1 during the translation process. - However, this loss of machine-readable information is not - considered to change the semantics of the MIB. + store, termed the Management Information Base or MIB. MIB + objects are generally accessed through the Simple Network + Management Protocol (SNMP). Objects in the MIB are defined + using the mechanisms defined in the Structure of Management + Information (SMI). This memo specifies a MIB module that + is compliant to the SMIv2, which is described in STD 58, + RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58, + RFC 2580 [RFC2580]. 4. Feature List - The MPLS traffic engineering MIB is designed to satisfy the - following requirements and constraints. + The MPLS traffic engineering MIB module is designed to + satisfy the following requirements and constraints. - - The MIB supports configuration of point-to-point + - The MIB module supports configuration of point-to-point unidirectional tunnels. - MPLS tunnels need not be interfaces, but it is possible to configure a tunnel as an interface. - - The MIB supports tunnel establishment via an MPLS + - The MIB module supports tunnel establishment via an MPLS signalling protocol wherein the tunnel parameters are - specified using this MIB at the head end of the LSP and - end-to-end tunnel LSP establishment is accomplished via - signalling. The MIB also supports manually configured - tunnels, i.e. those for which label associations at - each hop of the tunnel LSP are provisioned by the - administrator via the LSR MIB [LSRMIB]. + specified using this MIB module at the head end of the + LSP and end-to-end tunnel LSP establishment is + accomplished via signalling. The MIB module also + supports manually configured tunnels, i.e. those for + which label associations at each hop of the tunnel LSP + are provisioned by the administrator via the LSR MIB + [LSRMIB]. - - The MIB supports persistent as well as non-persistent - tunnels. + - The MIB module supports persistent as well as non- + persistent tunnels. 5. Outline Traffic engineering support for MPLS tunnels requires the following configuration. - Setting up MPLS tunnels along with appropriate configuration parameters. - Configuring tunnel loose and strict source routed hops. These actions may need to be accompanied with corresponding actions using [LSRMIB] to establish and configure tunnel segments, if this is done manually. Also, the in-segment and out-segment performance tables, mplsInSegmentPerfTable and mplsOutSegmentPerfTable [LSRMIB], should be used to determine performance of the tunnels and tunnel segments. -5.1. Summary of Traffic Engineering MIB +5.1. Summary of Traffic Engineering MIB module - The MIB objects for performing these actions consist of the - following tables. + The MIB module objects for performing these actions consist + of the following tables. - Tunnel table (mplsTunnelTable) for setting up MPLS tunnels. - Resource table (mplsTunnelResourceTable) for setting up the tunnel resources. - Tunnel specified, actual, and computed hop tables (mplsTunnelHopTable, mplsTunnelARHopTable, and mplsTunnelCHopTable) for strict and loose source routed @@ -296,22 +265,22 @@ those tunnels that are signaled using CRLDP [CRLDP]. This is a sparse extension to mplsTunnelResourceTable and is also indexed by mplsTunnelResourceIndex. As with mplsTunnelResourceTable, multiple tunnels may share the same resources by pointing to the same entry in this table. Tunnels that do not share resources must point to separate entries in this table. 7. Use of 32-bit and 64-bit Counters - 64-bit counters are provided in this MIB for high-speed - interfaces where the use of 32-bit counters might be + 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, and slower than 650,000,000 bits/second, 32-bit packet counters MUST be supported and 64-bit octet counters MUST be supported. For interfaces @@ -434,204 +404,212 @@ The RowStatus values shown in this section are those to be used in the set request, typically createAndGo(4) which is used to create the conceptual row and have its status immediately set to active. A subsequent retrieval operation on the conceptual row will return a different value, such as active(1). Please see [RFC2579] for a detailed discussion on the use of RowStatus. In mplsTunnelTable: { - mplsTunnelIndexIndex = 1, + mplsTunnelIndex = 1, mplsTunnelInstance = 1, - mplsTunnelIngressLSRId = 123.123.125.1, - mplsTunnelEgressLSRId = 123.123.126.1, + mplsTunnelIngressLSRId = 192.168.100.1, + mplsTunnelEgressLSRId = 192.168.101.1, mplsTunnelName = "My first tunnel", mplsTunnelDescr = "Here to there", mplsTunnelIsIf = true (1), -- RowPointer MUST point to the first accessible column mplsTunnelXCPointer = mplsXCIndex.2.0.0.15, mplsTunnelSignallingProto = none (1), mplsTunnelSetupPrio = 0, mplsTunnelHoldingPrio = 0, mplsTunnelSessionAttributes = 0, - mplsTunnelOwner = snmp (1), mplsTunnelLocalProtectInUse = false (0), -- RowPointer MUST point to the first accessible column mplsTunnelResourcePointer = mplsTunnelResourceIndex.5, mplsTunnelInstancePriority = 1, mplsTunnelHopTableIndex = 1, - mplsTunnelPrimaryInstance = 0, mplsTunnelIncludeAnyAffinity = 0, mplsTunnelIncludeAllAffinity = 0, mplsTunnelExcludeAllAffinity = 0, mplsTunnelPathInUse = 1, mplsTunnelRole = head (1), -- Mandatory parameters needed to activate the row go here mplsTunnelRowStatus = createAndGo (4) } In mplsTunnelResourceTable: { mplsTunnelResourceIndex = 5, mplsTunnelResourceMaxRate = 0, mplsTunnelResourceMeanRate = 0, mplsTunnelResourceMaxBurstSize = 0, + mplsTunnelResourceMeanBurstSize = 0, + mplsTunnelResourceExBurstSize = 0, + mplsTunnelResourceExBurstSize = unspecified (1), + mplsTunnelResourceWeight = 0, -- Mandatory parameters needed to activate the row go here mplsTunnelResourceRowStatus = createAndGo (4) } The next two instances of mplsTunnelHopEntry are used to denote the hops this tunnel will take across the network. The following denotes the beginning of the network, or the first hop. We have used the fictitious LSR identified by - "123.123.125.1" as our example head-end router. + "192.168.100.1" as our example head-end router. In mplsTunnelHopTable: { mplsTunnelHopListIndex = 1, mplsTunnelPathOptionIndex = 1, mplsTunnelHopIndex = 1, - mplsTunnelHopAddrType = 1, - mplsTunnelHopIpAddrType = ipV4 (1) - mplsTunnelHopIpAddr = 123.123.125.1, - mplsTunnelHopIpPrefixLen = 9, + mplsTunnelHopAddrType = ipv4 (1), + mplsTunnelHopIpAddr = "192.168.100.1", + mplsTunnelHopIpPrefixLen = 32, mplsTunnelHopType = loose (2), + mplsTunnelHopInclude = true (1), + mplsTunnelHopPathOptionName = "here", + mplsTunnelHopEntryPathComp = explicit (2), -- Mandatory parameters needed to activate the row go here mplsTunnelHopRowStatus = createAndGo (4) } The following denotes the end of the network, or the last hop in our example. We have used the fictitious LSR - identified by "123.123.126.1" as our end router. + identified by "192.168.101.1" as our end router. In mplsTunnelHopTable: { mplsTunnelHopListIndex = 1, mplsTunnelPathOptionIndex = 1, mplsTunnelHopIndex = 2, - mplsTunnelHopAddrType = 1, - mplsTunnelHopIpAddrType = ipV4 (1), - mplsTunnelHopIpAddr = 123.123.126.1, - mplsTunnelHopIpPrefixLen = 9, + mplsTunnelHopAddrType = ipv4 (1), + mplsTunnelHopIpAddr = "192.168.101.1", + mplsTunnelHopIpPrefixLen = 32, mplsTunnelHopType = loose (2), + mplsTunnelHopInclude = true (1), + mplsTunnelHopPathOptionName = "there", + mplsTunnelHopEntryPathComp = explicit (2), -- Mandatory parameters needed to activate the row go here mplsTunnelHopRowStatus = createAndGo (4) } 10. The Use of RowPointer RowPointer is a textual convention used to identify a - conceptual row in an SNMP Table by pointing to one of its - objects. In this MIB, in mplsTunnelTable, the objects - mplsTunnelXCPointer and mplsTunnelResourcePointer are of - type RowPointer. The object mplsTunnelXCPointer points to - a specific entry in the mplsXCTable [LSRMIB]. This entry - in the mplsXCTable is the associated LSP for the given MPLS - tunnel entry. The object mplsTunnelResourcePointer points - to a specific entry in a traffic parameter table. An - example of such a traffic parameter table is - mplsTunnelResourceTable. It indicates a specific instance - of a traffic parameter entry that is associated with a - given MPLS tunnel entry. Row pointers mplsTunnelXCPointer - and mplsTunnelResourcePointer MUST point to the first - column of the appropriate conceptual row. + conceptual row in a conceptual table in a MIB by pointing + to the first accessible object. In this MIB module, in + mplsTunnelTable, the objects mplsTunnelXCPointer and + mplsTunnelResourcePointer are of type RowPointer. The + object mplsTunnelXCPointer points to a specific entry in + the mplsXCTable [LSRMIB]. This entry in the mplsXCTable is + the associated LSP for the given MPLS tunnel entry. The + object mplsTunnelResourcePointer points to a specific entry + in a traffic parameter table. An example of such a traffic + parameter table is mplsTunnelResourceTable. It indicates a + specific instance of a traffic parameter entry that is + associated with a given MPLS tunnel entry. These + RowPointer objects MUST point to the first instance of the + first accessible columnar object in the appropriate + conceptual row in order to allow the manager to find the + appropriate corresponding entry in either MPLS-LSR-STD-MIB + [LSRMIB] or MPLS-TE-STD-MIB [TEMIB]. If object + mplsTunnelXCPointer returns zeroDotZero it implies that + there is no LSP associated with that particular instance of + tunnel entry. If object mplsTunnelResourcePointer returns + zeroDotZero it implies that there is no QoS resource + associated with that particular instance of tunnel entry. 11. MPLS Traffic Engineering MIB Definitions -MPLS-TE-MIB DEFINITIONS ::= BEGIN +MPLS-TE-STD-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, Integer32, Unsigned32, Counter32, Counter64, TimeTicks, zeroDotZero FROM SNMPv2-SMI MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF TruthValue, RowStatus, RowPointer, StorageType, - DisplayString, TimeStamp + TimeStamp FROM SNMPv2-TC InterfaceIndexOrZero FROM IF-MIB - mplsMIB, MplsBitRate, MplsBurstSize, MplsLSPID, + mplsStdMIB, MplsBitRate, MplsBurstSize, MplsLSPID, MplsTunnelIndex, MplsTunnelInstanceIndex, - MplsTunnelAffinity, MplsLsrIdentifier, MplsPathIndex, - MplsPathIndexOrZero, MplsOwner - FROM MPLS-TC-MIB - InetAddress, InetAddressType, InetAddressPrefixLength + MplsTunnelAffinity, MplsExtendedTunnelId, MplsPathIndex, + MplsPathIndexOrZero, MplsOwner, TeHopAddressType, + TeHopAddress, TeHopAddressAS, TeHopAddressUnnum + FROM MPLS-TC-STD-MIB + SnmpAdminString + FROM SNMP-FRAMEWORK-MIB + InetAddressPrefixLength FROM INET-ADDRESS-MIB ; -mplsTeMIB MODULE-IDENTITY +mplsTeStdMIB MODULE-IDENTITY LAST-UPDATED - "200211041200Z" -- 4 November 2002 12:00:00 GMT + "200306231200Z" -- 23 June 2003 12:00:00 GMT ORGANIZATION "Multiprotocol Label Switching (MPLS) Working Group" CONTACT-INFO " Cheenu Srinivasan - Postal: Parama Networks, Inc. - 1030 Broad Street - Shrewsbury, NJ 07702 - Tel: +1-732-544-9120 x731 - Email: cheenu@paramanet.com + Email: cheenu@alumni.princeton.edu Arun Viswanathan - Postal: Force10 Networks, Inc. - 1440 McCarthy Blvd - Milpitas, CA 95035 - Tel: +1-408-571-3516 - Email: arun@force10networks.com + Force10 Networks, Inc. + Email: arunv@force10networks.com Thomas D. Nadeau - Postal: Cisco Systems, Inc. - 250 Apollo Drive - Chelmsford, MA 01824 - Tel: +1-978-244-3051 + 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. - " + Comments about this document should be emailed + directly to the MPLS working group mailing list at + mpls@uu.net." DESCRIPTION - "This MIB module contains managed object definitions + "Copyright (C) The Internet Society (2003). This + version of this MIB module is part of RFC xxxx; see + the RFC itself for full legal notices. + + This MIB module contains managed object definitions for MPLS Traffic Engineering (TE) as defined in: 1. Extensions to RSVP for LSP Tunnels, Awduche et al, RFC 3209, December 2001 2. Constraint-Based LSP Setup using LDP, Jamoussi (Editor), RFC 3212, January 2002 3. Requirements for Traffic Engineering Over MPLS, Awduche, D., Malcolm, J., Agogbua, J., O'Dell, M., and J. McManus, RFC 2702, September 1999" -- Revision history. REVISION - "200211041200Z" -- 4 November 2002 12:00:00 GMT + "200306231200Z" -- 23 June 2003 12:00:00 GMT DESCRIPTION "Initial draft version issues as part of RFC XXXX." - ::= { mplsMIB 3 } + ::= { mplsStdMIB 3 } --- Top level components of this MIB. +-- Top level components of this MIB module. -- traps -mplsTeNotifications OBJECT IDENTIFIER ::= { mplsTeMIB 0 } +mplsTeNotifications OBJECT IDENTIFIER ::= { mplsTeStdMIB 0 } -- tables, scalars -mplsTeScalars OBJECT IDENTIFIER ::= { mplsTeMIB 1 } -mplsTeObjects OBJECT IDENTIFIER ::= { mplsTeMIB 2 } +mplsTeScalars OBJECT IDENTIFIER ::= { mplsTeStdMIB 1 } +mplsTeObjects OBJECT IDENTIFIER ::= { mplsTeStdMIB 2 } -- conformance -mplsTeConformance OBJECT IDENTIFIER ::= { mplsTeMIB 3 } +mplsTeConformance OBJECT IDENTIFIER ::= { mplsTeStdMIB 3 } -- MPLS Tunnel scalars. mplsTunnelConfigured OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of tunnels configured on this device. A tunnel is considered configured if the @@ -664,53 +642,53 @@ mplsTunnelMaxHops OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The maximum number of hops that can be specified for a tunnel on this device." ::= { mplsTeScalars 4 } -mplsTunnelNotifMaxRate OBJECT-TYPE +mplsTunnelNotificationMaxRate OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-write STATUS current DESCRIPTION - "This variable indicates the number of milliseconds - that must elapse between notification emissions. If - events occur more rapidly, the implementation may - simply fail to emit these notifications during that - period, or may queue them until an appropriate - time. A value of 0 means no minimum elapsed period - is specified." + "This variable indicates the maximum number of + notifications issued per second. If events occur + more rapidly, the implementation may simply fail to + emit these notifications during that period, or may + queue them until an appropriate time. A value of 0 + means no throttling is applied and events may be + notified at the rate at which they occur." DEFVAL { 0 } ::= { mplsTeScalars 5 } -- End of MPLS Tunnel scalars. -- MPLS tunnel table. mplsTunnelIndexNext OBJECT-TYPE SYNTAX Integer32 (0..65535) MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the next appropriate value to - be used for mplsTunnelIndexIndex when creating - entries in mplsTunnelTable. If the number of - unassigned entries is exhausted, a retrival - operation will return a value of 0. This object - may also return a value of 0 when the LSR is unable - to accept conceptual row creation, for example, if - the mplsTunnelTable is implemented as read-only. To - obtain the value of mplsTunnelIndexIndex for a new + be used for mplsTunnelIndex when creating entries + in mplsTunnelTable. If the number of unassigned + entries is exhausted, a retrieval operation will + return a value of 0. This object may also return a + value of 0 when the LSR is unable to accept + conceptual row creation, for example, if the + mplsTunnelTable is implemented as read-only. To + obtain the value of mplsTunnelIndex for a new entry, the manager must first issue a management protocol retrieval operation to obtain the current value of this object. The agent should modify the value to reflect the next unassigned index after each retrieval operation. After a manager retrieves a value the agent will determine through its local policy when this index value will be made available for reuse." ::= { mplsTeObjects 1 } @@ -735,144 +713,165 @@ MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table represents an MPLS tunnel. An entry can be created by a network administrator or by an SNMP agent as instructed by an MPLS signalling protocol. Whenever a new entry is created with mplsTunnelIsIf set to true(1), then a corresponding entry is created in ifTable as well (see RFC 2863). The ifType of this entry is - mplsTunnel(150)." + mplsTunnel(150). + + A tunnel entry needs to be uniquely identified across + a MPLS network. Indices mplsTunnelIndex and + mplsTunnelInstance uniquely identify a tunnel on an + LSR originating the tunnel. To uniquely identify a + tunnel across a MPLS network requires index + mplsTunnelIngressLSRId. Last index + mplsTunnelEgressLSRId is useful in identifying all + instances of a tunnel that terminate on the same + egress LSR." REFERENCE "1. RFC 2863 - The Interfaces Group MIB, McCloghrie, - K., and F. Kastenholtz, June 2000 - 2. RFC 1700 - Assigned Numbers, Reynolds, J. and J. - Postel, Oct. 1994" + K., and F. Kastenholtz, June 2000 " INDEX { - mplsTunnelIndexIndex, + mplsTunnelIndex, mplsTunnelInstance, mplsTunnelIngressLSRId, mplsTunnelEgressLSRId } ::= { mplsTunnelTable 1 } MplsTunnelEntry ::= SEQUENCE { - mplsTunnelIndexIndex MplsTunnelIndex, + mplsTunnelIndex MplsTunnelIndex, mplsTunnelInstance MplsTunnelInstanceIndex, - mplsTunnelIngressLSRId MplsLsrIdentifier, - mplsTunnelEgressLSRId MplsLsrIdentifier, - mplsTunnelName DisplayString, - mplsTunnelDescr DisplayString, + mplsTunnelIngressLSRId MplsExtendedTunnelId, + mplsTunnelEgressLSRId MplsExtendedTunnelId, + mplsTunnelName SnmpAdminString, + mplsTunnelDescr SnmpAdminString, mplsTunnelIsIf TruthValue, mplsTunnelIfIndex InterfaceIndexOrZero, + mplsTunnelOwner MplsOwner, + mplsTunnelRole INTEGER, mplsTunnelXCPointer RowPointer, mplsTunnelSignallingProto INTEGER, mplsTunnelSetupPrio Integer32, mplsTunnelHoldingPrio Integer32, mplsTunnelSessionAttributes BITS, - mplsTunnelOwner MplsOwner, mplsTunnelLocalProtectInUse TruthValue, mplsTunnelResourcePointer RowPointer, + mplsTunnelPrimaryInstance MplsTunnelInstanceIndex, mplsTunnelInstancePriority Unsigned32, mplsTunnelHopTableIndex MplsPathIndexOrZero, + mplsTunnelPathInUse MplsPathIndexOrZero, mplsTunnelARHopTableIndex MplsPathIndexOrZero, mplsTunnelCHopTableIndex MplsPathIndexOrZero, - mplsTunnelPrimaryInstance MplsTunnelInstanceIndex, - mplsTunnelPrimaryTimeUp TimeTicks, - mplsTunnelPathChanges Counter32, - mplsTunnelLastPathChange TimeTicks, - mplsTunnelCreationTime TimeStamp, - mplsTunnelStateTransitions Counter32, mplsTunnelIncludeAnyAffinity MplsTunnelAffinity, mplsTunnelIncludeAllAffinity MplsTunnelAffinity, mplsTunnelExcludeAllAffinity MplsTunnelAffinity, - mplsTunnelPathInUse MplsPathIndexOrZero, - mplsTunnelRole INTEGER, mplsTunnelTotalUpTime TimeTicks, mplsTunnelInstanceUpTime TimeTicks, + mplsTunnelPrimaryUpTime TimeTicks, + mplsTunnelPathChanges Counter32, + mplsTunnelLastPathChange TimeTicks, + mplsTunnelCreationTime TimeStamp, + mplsTunnelStateTransitions Counter32, mplsTunnelAdminStatus INTEGER, mplsTunnelOperStatus INTEGER, mplsTunnelRowStatus RowStatus, mplsTunnelStorageType StorageType } -mplsTunnelIndexIndex OBJECT-TYPE +mplsTunnelIndex OBJECT-TYPE SYNTAX MplsTunnelIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION - "Uniquely identifies this row." + "Uniquely identifies a set of tunnel instances + between a pair of ingress and egress LSRs." ::= { mplsTunnelEntry 1 } mplsTunnelInstance OBJECT-TYPE SYNTAX MplsTunnelInstanceIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION - "Uniquely identifies an instance of a tunnel. It is - useful to identify multiple instances of tunnels - for the purposes of backup and parallel tunnels." + "Uniquely identifies a particular instance of a + tunnel between a pair of ingress and egress LSRs. + It is useful to identify multiple instances of + tunnels for the purposes of backup and parallel + tunnels. The tunnel entry with instance index 0 + should refer to the configured tunnel interface (if + one exists), and values greater than 0 but less + than or equal to 65535 should be used to indicate + signaled (or backup) tunnel LSP instances. For + tunnel LSPs signaled using RSVP, this value should + correspond to the RSVP source port used for the + RSVP-TE session. Values greater than 65535 apply + to Fast Re-Route (FRR) detour instances " ::= { mplsTunnelEntry 2 } mplsTunnelIngressLSRId OBJECT-TYPE - SYNTAX MplsLsrIdentifier + SYNTAX MplsExtendedTunnelId MAX-ACCESS not-accessible STATUS current DESCRIPTION - "The purpose of this object is to uniquely identity a - tunnel within a network. When the MPLS signalling - protocol is rsvp(2) this value SHOULD mimic the - Extended Tunnel Id field in the SESSION object. - When the MPLS signalling protocol is crldp(3) this - value SHOULD mimic the Ingress LSR Router ID field - in the LSPID TLV object." + "Identity of the ingress LSR associated with this + tunnel instance. When the MPLS signalling protocol + is rsvp(2) this value SHOULD mimic the Extended + Tunnel Id field in the SESSION object. When the + MPLS signalling protocol is crldp(3) this value + SHOULD mimic the Ingress LSR Router ID field in the + LSPID TLV object." REFERENCE "1. RSVP-TE: Extensions to RSVP for LSP Tunnels, Awduche et al, RFC 3209, December 2001 2. Constraint-Based LSP Setup using LDP, Jamoussi (Editor), RFC 3212, January 2002" ::= { mplsTunnelEntry 3 } mplsTunnelEgressLSRId OBJECT-TYPE - SYNTAX MplsLsrIdentifier + SYNTAX MplsExtendedTunnelId MAX-ACCESS not-accessible STATUS current DESCRIPTION - "Specifies the egress LSR ID." + "Identity of the egress LSR associated with this + tunnel instance." ::= { mplsTunnelEntry 4 } mplsTunnelName OBJECT-TYPE - SYNTAX DisplayString + SYNTAX SnmpAdminString MAX-ACCESS read-create STATUS current DESCRIPTION "The canonical name assigned to the tunnel. This name can be used to refer to the tunnel on the LSR's console port. If mplsTunnelIsIf is set to true then the ifName of the interface corresponding to this tunnel should have a value equal to mplsTunnelName. Also see the description of ifName in RFC 2863." REFERENCE "RFC 2863 - The Interfaces Group MIB, McCloghrie, K., and F. Kastenholtz, June 2000" ::= { mplsTunnelEntry 5 } mplsTunnelDescr OBJECT-TYPE - SYNTAX DisplayString + SYNTAX SnmpAdminString MAX-ACCESS read-create STATUS current DESCRIPTION "A textual string containing information about the tunnel. If there is no description this object contains a zero length string." + DEFVAL {""} ::= { mplsTunnelEntry 6 } mplsTunnelIsIf OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "Denotes whether or not this tunnel corresponds to an interface represented in the interfaces group table. Note that if this variable is set to true @@ -895,80 +894,105 @@ contains the LSR-assigned ifIndex which corresponds to an entry in the interfaces table. Otherwise this variable should contain the value of zero indicating that a valid ifIndex was not assigned to this tunnel interface." REFERENCE "RFC 2863 - The Interfaces Group MIB, McCloghrie, K., and F. Kastenholtz, June 2000" ::= { mplsTunnelEntry 8 } +mplsTunnelOwner OBJECT-TYPE + SYNTAX MplsOwner + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Denotes the entity that created and is responsible + for managing this tunnel. This column is + automatically filled by the agent on creation of a + row." + ::= { mplsTunnelEntry 9 } + +mplsTunnelRole OBJECT-TYPE + SYNTAX INTEGER { head(1), transit(2), tail(3) } + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This value signifies the role that this tunnel + entry/instance represents. This value MUST be set + to head(1) at the originating point of the tunnel. + This value MUST be set to transit(2) at transit + points along the tunnel, if transit points are + supported. This value MUST be set to tail(3) at the + terminating point of the tunnel if tunnel tails are + supported." + ::= { mplsTunnelEntry 10 } + mplsTunnelXCPointer OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-create STATUS current DESCRIPTION "This variable points to a row in the mplsXCTable. This table identifies the segments that compose this tunnel, their characteristics, and relationships to each other. A value of zeroDotZero indicates that no LSP has been associated with this tunnel yet." REFERENCE "Srinivasan, C., Viswanathan, A., and T. Nadeau, MPLS - Label Switching Router Management Information Base, - Internet Draft , - October 2002." + Label Switch Router Management Information Base, + Internet Draft , + June 2003." DEFVAL { zeroDotZero } - ::= { mplsTunnelEntry 9 } + ::= { mplsTunnelEntry 11 } mplsTunnelSignallingProto OBJECT-TYPE SYNTAX INTEGER { none(1), rsvp(2), crldp(3), other(4) } MAX-ACCESS read-create STATUS current DESCRIPTION - "The signalling protocol, if any, which was used to - setup this tunnel." + "The signalling protocol, if any, used to setup this + tunnel." DEFVAL { none } - ::= { mplsTunnelEntry 10 } + ::= { mplsTunnelEntry 12 } mplsTunnelSetupPrio OBJECT-TYPE SYNTAX Integer32 (0..7) MAX-ACCESS read-create STATUS current DESCRIPTION "Indicates the setup priority of this tunnel." REFERENCE "1. RSVP-TE: Extensions to RSVP for LSP Tunnels, Awduche et al, RFC 3209, December 2001 2. Constraint-Based LSP Setup using LDP, Jamoussi - (Editor), Internet Draft , November 2001" - ::= { mplsTunnelEntry 11 } + (Editor), RFC 3212, January 2002" + ::= { mplsTunnelEntry 13 } mplsTunnelHoldingPrio OBJECT-TYPE SYNTAX Integer32 (0..7) MAX-ACCESS read-create STATUS current DESCRIPTION "Indicates the holding priority for this tunnel." REFERENCE "1. RSVP-TE: Extensions to RSVP for LSP Tunnels, Awduche et al, RFC3209, December 2001 2. Constraint-Based LSP Setup using LDP, Jamoussi (Editor), RFC 3212, January 2002" - ::= { mplsTunnelEntry 12 } + ::= { mplsTunnelEntry 14 } mplsTunnelSessionAttributes OBJECT-TYPE SYNTAX BITS { fastReroute (0), mergingPermitted (1), isPersistent (2), isPinned (3), recordRoute(4) } MAX-ACCESS read-create @@ -996,255 +1019,233 @@ isPersistent Indicates whether this tunnel should be restored automatically after a failure occurs. isPinned This flag indicates whether the loose- routed hops of this tunnel are to be pinned. recordRouteThis flag indicates whether or not the signalling protocol should remember the tunnel path after it has been signaled." - REFERENCE "1. RSVP-TE: Extensions to RSVP for LSP Tunnels, Awduche et al, RFC 3209, December 2001." - ::= { mplsTunnelEntry 13 } - -mplsTunnelOwner OBJECT-TYPE - SYNTAX MplsOwner - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Denotes the entity that created and is responsible - for managing this tunnel. This object cannot be - modified if mplsTunnelRowStatus is active(1). " - ::= { mplsTunnelEntry 14 } + ::= { mplsTunnelEntry 15 } mplsTunnelLocalProtectInUse OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "Indicates that the local repair mechanism is in use to maintain this tunnel (usually in the face of an outage of the link it was previously routed over)." - ::= { mplsTunnelEntry 15 } + ::= { mplsTunnelEntry 16 } mplsTunnelResourcePointer OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-create STATUS current DESCRIPTION "This variable represents a pointer to the traffic parameter specification for this tunnel. This value may point at an entry in the mplsTunnelResourceEntry to indicate which mplsTunnelResourceEntry is to be assigned to this segment. This value may optionally point at an externally defined traffic parameter specification table. A value of zeroDotZero indicates best- effort treatment. By having the same value of this object, two or more segments can indicate resource sharing." DEFVAL { zeroDotZero } - ::= { mplsTunnelEntry 16 } + ::= { mplsTunnelEntry 17 } + +mplsTunnelPrimaryInstance OBJECT-TYPE + SYNTAX MplsTunnelInstanceIndex + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Specifies the instance index of the primary instance + of this tunnel." + ::= { mplsTunnelEntry 18 } mplsTunnelInstancePriority OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "This value indicates which priority, in descending order, with 0 indicating the lowest priority, within a group of tunnel instances. A group of tunnel instances is defined as a set of tunnels - with the same mplsTunnelIndexIndex in this table, - but with a different mplsTunnelInstance. Tunnel - group priorities are used to denote the priority at - which a particular tunnel instance will supercede + with the same mplsTunnelIndex in this table, but + with a different mplsTunnelInstance. Tunnel group + priorities are used to denote the priority at which + a particular tunnel instance will supercede another. Instances of tunnels containing the same mplsTunnelInstancePriority will be used for load sharing." DEFVAL { 0 } - ::= { mplsTunnelEntry 17 } + ::= { mplsTunnelEntry 19 } mplsTunnelHopTableIndex OBJECT-TYPE SYNTAX MplsPathIndexOrZero MAX-ACCESS read-create STATUS current DESCRIPTION "Index into the mplsTunnelHopTable entry that specifies the explicit route hops for this tunnel." - ::= { mplsTunnelEntry 18 } + ::= { mplsTunnelEntry 20 } + +mplsTunnelPathInUse OBJECT-TYPE + SYNTAX MplsPathIndexOrZero + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This value denotes the configured path that was + chosen for this tunnel. This value reflects the + secondary index into mplsTunnelHopTable. This path + may not exactly match the one in + mplsTunnelARHopTable due to the fact that some CSPF + modification may have taken place. See + mplsTunnelARHopTable for the actual path being + taken by the tunnel. A value of zero denotes that + no path is currently in use or available." + ::= { mplsTunnelEntry 21 } mplsTunnelARHopTableIndex OBJECT-TYPE SYNTAX MplsPathIndexOrZero MAX-ACCESS read-only STATUS current DESCRIPTION "Index into the mplsTunnelARHopTable entry that - specifies the actual hops traversed by the tunnel." - ::= { mplsTunnelEntry 19 } + specifies the actual hops traversed by the tunnel. + This is automatically updated by the agent when the + actual hops becomes available." + ::= { mplsTunnelEntry 22 } mplsTunnelCHopTableIndex OBJECT-TYPE SYNTAX MplsPathIndexOrZero MAX-ACCESS read-only STATUS current DESCRIPTION "Index into the mplsTunnelCHopTable entry that specifies the computed hops traversed by the - tunnel." - ::= { mplsTunnelEntry 20 } - -mplsTunnelPrimaryInstance OBJECT-TYPE - SYNTAX MplsTunnelInstanceIndex - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Specifies the instance index of the primary instance - of this tunnel." - ::= { mplsTunnelEntry 21 } - -mplsTunnelPrimaryTimeUp OBJECT-TYPE - SYNTAX TimeTicks - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Specifies the total time the primary instance of - this tunnel has been active. The primary instance - of this tunnel is defined in - mplsTunnelPrimaryInstance." - ::= { mplsTunnelEntry 22 } - -mplsTunnelPathChanges OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Specifies the number of times the paths has changed - for this tunnel." + tunnel. This is automatically updated by the agent + when computed hops become available or when + computed hops get modified." ::= { mplsTunnelEntry 23 } -mplsTunnelLastPathChange OBJECT-TYPE - SYNTAX TimeTicks - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Specifies the time since the last path change for - this tunnel." - ::= { mplsTunnelEntry 24 } - -mplsTunnelCreationTime OBJECT-TYPE - SYNTAX TimeStamp - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Specifies the value of SysUpTime when the first - instance of this tunnel came into existence." - ::= { mplsTunnelEntry 25 } - -mplsTunnelStateTransitions OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Specifies the number of times the state of this - tunnel instance has changed." - ::= { mplsTunnelEntry 26 } - mplsTunnelIncludeAnyAffinity OBJECT-TYPE SYNTAX MplsTunnelAffinity MAX-ACCESS read-create STATUS current DESCRIPTION "A link satisfies the include-any constraint if and only if the constraint is zero, or the link and the constraint have a resource class in common." REFERENCE "1. RSVP-TE: Extensions to RSVP for LSP Tunnels, Awduche et al, RFC 3209, December 2001." - ::= { mplsTunnelEntry 27 } + ::= { mplsTunnelEntry 24 } mplsTunnelIncludeAllAffinity OBJECT-TYPE SYNTAX MplsTunnelAffinity MAX-ACCESS read-create STATUS current DESCRIPTION "A link satisfies the include-all constraint if and only if the link contains all of the administrative groups specified in the constraint." REFERENCE "1. RSVP-TE: Extensions to RSVP for LSP Tunnels, Awduche et al, RFC 3209, December 2001." - ::= { mplsTunnelEntry 28 } + ::= { mplsTunnelEntry 25 } mplsTunnelExcludeAllAffinity OBJECT-TYPE SYNTAX MplsTunnelAffinity MAX-ACCESS read-create STATUS current DESCRIPTION "A link satisfies the exclude-all constraint if and only if the link contains none of the administrative groups specified in the constraint." REFERENCE "1. RSVP-TE: Extensions to RSVP for LSP Tunnels, Awduche et al, RFC 3209, December 2001." + ::= { mplsTunnelEntry 26 } + +mplsTunnelTotalUpTime OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This value represents the aggregate up time for all + instances of this tunnel, if available. If this + value is unavailable, it MUST return a value of 0." + ::= { mplsTunnelEntry 27 } + +mplsTunnelInstanceUpTime OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This value identifies the total time that this + tunnel instance's operStatus has been Up(1)." + ::= { mplsTunnelEntry 28 } + +mplsTunnelPrimaryUpTime OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Specifies the total time the primary instance of + this tunnel has been active. The primary instance + of this tunnel is defined in + mplsTunnelPrimaryInstance." ::= { mplsTunnelEntry 29 } -mplsTunnelPathInUse OBJECT-TYPE - SYNTAX MplsPathIndexOrZero - MAX-ACCESS read-create +mplsTunnelPathChanges OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only STATUS current DESCRIPTION - "This value denotes the configured path that was - chosen for this tunnel. This value reflects the - secondary index into mplsTunnelHopTable. This path - may not exactly match the one in - mplsTunnelARHopTable due to the fact that some CSPF - modification may have taken place. See - mplsTunnelARHopTable for the actual path being - taken by the tunnel. A value of zero denotes that - no path is currently in use or available." + "Specifies the number of times the paths has changed + for this tunnel since its creation." ::= { mplsTunnelEntry 30 } -mplsTunnelRole OBJECT-TYPE - SYNTAX INTEGER { head(1), transit(2), tail(3) } - MAX-ACCESS read-create +mplsTunnelLastPathChange OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only STATUS current DESCRIPTION - "This value signifies the role that this tunnel - entry/instance represents. This value MUST be set - to head(1) at the originating point of the tunnel. - This value MUST be set to transit(2) at transit - points along the tunnel, if transit points are - supported. This value MUST be set to tail(3) at the - terminating point of the tunnel if tunnel tails are - supported." + "Specifies the time since the last path change for + this tunnel." ::= { mplsTunnelEntry 31 } -mplsTunnelTotalUpTime OBJECT-TYPE - SYNTAX TimeTicks - MAX-ACCESS read-create +mplsTunnelCreationTime OBJECT-TYPE + SYNTAX TimeStamp + MAX-ACCESS read-only STATUS current DESCRIPTION - "This value represents the aggregate up time for all - instances of this tunnel, if available. If this - value is unavailable, it MUST return a value of 0." + "Specifies the value of SysUpTime when the first + instance of this tunnel came into existence." ::= { mplsTunnelEntry 32 } -mplsTunnelInstanceUpTime OBJECT-TYPE - SYNTAX TimeTicks - MAX-ACCESS read-create +mplsTunnelStateTransitions OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only STATUS current DESCRIPTION - "This value identifies the total time that this - tunnel instance's operStatus has been Up(1)." + "Specifies the number of times the state of this + tunnel instance has changed." ::= { mplsTunnelEntry 33 } mplsTunnelAdminStatus OBJECT-TYPE SYNTAX INTEGER { -- ready to pass packets up(1), down(2), -- in some test mode testing(3) } @@ -1279,47 +1280,63 @@ function of the state of individual segments of this tunnel." ::= { mplsTunnelEntry 35 } mplsTunnelRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "This variable is used to create, modify, and/or - delete a row in this table." + delete a row in this tabole. When a row in this + table is in active(1) state, no objects in that row + can be modified except mplsTunnelRowStatus and + mplsTunnelStorageType." ::= { mplsTunnelEntry 36 } mplsTunnelStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "This variable indicates the storage type for this - object. This object cannot be modified if - mplsTunnelRowStatus is active(1). If this variable - is set to readOnly(5), and the corresponding entry - is removed, then the agent must remove this row - shortly thereafter [RFC2579]." + object. If this variable is set to readOnly(5), + and the corresponding entry is removed, then the + agent must remove this row shortly thereafter + [RFC2579]. + + Setting this object to permanent(4) indicates that + this object should be restored automatically after + failures. The agent MUST ensure that the + associated mplsTunnelXCPointer, + mplsTunnelResourcePointer and associated row in + mplsTunnelHopTable also has the same StorageType + value and is restored consistently upon + restoration. + + No objects are required to be writable for rows in + this table with this object set to permanent(4). + The default value is volatile(2)." + DEFVAL { volatile } ::= { mplsTunnelEntry 37 } -- End of mplsTunnelTable mplsTunnelHopListIndexNext OBJECT-TYPE SYNTAX Unsigned32 (0..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains an appropriate value to be used for mplsTunnelHopListIndex when creating entries in the mplsTunnelHopTable. If the number of - unassigned entries is exhausted, a retrival + unassigned entries is exhausted, a retrieval operation will return a value of 0. This object may also return a value of 0 when the LSR is unable to accept conceptual row creation, for example, if the mplsTunnelHopTable is implemented as read-only. To obtain the value of mplsTunnelHopListIndex for a new entry in the mplsTunnelHopTable, the manager issues a management protocol retrieval operation to obtain the current value of mplsTunnelHopIndex. After each retrieval operation, the agent should modify the value to reflect the next unassigned @@ -1363,29 +1380,29 @@ mplsTunnelHopListIndex, mplsTunnelHopPathOptionIndex, mplsTunnelHopIndex } ::= { mplsTunnelHopTable 1 } MplsTunnelHopEntry ::= SEQUENCE { mplsTunnelHopListIndex MplsPathIndex, mplsTunnelHopPathOptionIndex MplsPathIndex, mplsTunnelHopIndex MplsPathIndex, - mplsTunnelHopAddrType INTEGER, - mplsTunnelHopIpAddrType InetAddressType, - mplsTunnelHopIpAddr InetAddress, + mplsTunnelHopAddrType TeHopAddressType, + mplsTunnelHopIpAddr TeHopAddress, mplsTunnelHopIpPrefixLen InetAddressPrefixLength, - mplsTunnelHopAsNumber Unsigned32, + mplsTunnelHopAsNumber TeHopAddressAS, + mplsTunnelHopAddrUnnum TeHopAddressUnnum, mplsTunnelHopLspId MplsLSPID, mplsTunnelHopType INTEGER, - mplsTunnelHopIncludeExclude INTEGER, - mplsTunnelHopPathOptionName DisplayString, + mplsTunnelHopInclude TruthValue, + mplsTunnelHopPathOptionName SnmpAdminString, mplsTunnelHopEntryPathComp INTEGER, mplsTunnelHopRowStatus RowStatus, mplsTunnelHopStorageType StorageType } mplsTunnelHopListIndex OBJECT-TYPE SYNTAX MplsPathIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION @@ -1407,144 +1424,137 @@ mplsTunnelHopIndex OBJECT-TYPE SYNTAX MplsPathIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "Secondary index into this table identifying a particular hop." ::= { mplsTunnelHopEntry 3 } mplsTunnelHopAddrType OBJECT-TYPE - SYNTAX INTEGER { - ipAddr(1), - asNumber(2), - lspId(3) - } + SYNTAX TeHopAddressType MAX-ACCESS read-create STATUS current DESCRIPTION "Denotes the address type of this tunnel hop. If set - to ipAddr(1), this value denotes an IP address type - and also indicates that the - mplsTunnelHopIpAddrType, mplsTunnelHopIpAddr, and - mplsTunnelHopIpPrefixLen should be used to refer to - the IP address of this hop. The values contained in - mplsTunnelHopAsNumber, and mplsTunnelHopLspId - should be ignored. If this object is set to - asNumber(2), the IP address related objects should - be ignored, and the mplsTunnelHopAsNumber should be - refered to. If the object is set to lspId(3), then - all but the mplsTunnelHopLspId should be referred - to. Note that lspId(3) is a valid option only for - tunnels signaled via CRLDP." - DEFVAL { ipAddr } + to ipv4(1) or ipv6(2), it indicates that the + mplsTunnelHopIpAddr contains respectively the IPv4 + or IPv6 address of this hop. The values contained + in mplsTunnelHopAsNumber, mplsTunnelHopAddrUnnum + and mplsTunnelHopLspId should be ignored. If this + object is set to asnumber(3), the IP address + related objects should be ignored, and the + mplsTunnelHopAsNumber should be referred to. If this + object is set to unnum(4), then only the object + mplsTunnelHopAddrUnnum should be referred to. If + the object is set to lspid(5), then all but the + mplsTunnelHopLspId should be referred to. Note that + lspid(5) is a valid option only for tunnels + signaled via CRLDP" + DEFVAL { ipv4 } ::= { mplsTunnelHopEntry 4 } -mplsTunnelHopIpAddrType OBJECT-TYPE - SYNTAX InetAddressType +mplsTunnelHopIpAddr OBJECT-TYPE + SYNTAX TeHopAddress MAX-ACCESS read-create STATUS current DESCRIPTION - "If mplsTunnelHopAddrType is set to ipAddr(1) then - this value will contain the IP address type of this - hop. If mplsTunnelHopAddrType is set to lspId(3) - then this value will contain the IP address type of - the Ingress LSR Router ID contained in object - mplsTunnelHopIpAddr. Otherwise a management entity - SHOULD ignore this object." + "If mplsTunnelHopAddrType is set to ipv4(1) or + ipv6(2), then this value will contain respectively + the IPv4 address or the IPv6 address prefix of this + hop. This object should be used in conjunction with + mplsTunnelHopIpPrefixLen that provides the prefix + length of the address. If mplsTunnelHopAddrType is + set to lspid(5), then this value will contain the + Ingress LSR Router ID of the Tunnel. Otherwise the + agent should set this object to zero-length string + and the manager should ignore this." ::= { mplsTunnelHopEntry 5 } -mplsTunnelHopIpAddr OBJECT-TYPE - SYNTAX InetAddress +mplsTunnelHopIpPrefixLen OBJECT-TYPE + SYNTAX InetAddressPrefixLength MAX-ACCESS read-create STATUS current DESCRIPTION - "If mplsTunnelHopIpAddrType is set to ipV4(1) or - ipV6(2), then this value will contain respectively - the IPv4 address or the IPv6 address of this hop. - If mplsTunnelHopAddrType is set to lspId(3), then - this value will contain the Ingress LSR Router ID - of the Tunnel. Otherwise a management entity SHOULD - set this to 0 and an agent MUST ignore it. Likewise - an agent MUST return a value of 0 for a retrieval - operation." + "If mplsTunnelHopAddrType is set to ipv4(1) or + ipv6(2), then this value will contain an + appropriate prefix length for the IP address in + object mplsTunnelHopIpAddr. Otherwise a management + entity SHOULD set this object to 0 and an agent + MUST ignore it." ::= { mplsTunnelHopEntry 6 } -mplsTunnelHopIpPrefixLen OBJECT-TYPE - SYNTAX InetAddressPrefixLength +mplsTunnelHopAsNumber OBJECT-TYPE + SYNTAX TeHopAddressAS MAX-ACCESS read-create STATUS current DESCRIPTION - "If mplsTunnelHopIpAddrType is set to ipV4(1) or - ipV6(2), then this value will contain an - appropriate prefix length for this hop. Otherwise a - management entity SHOULD set this object to 0 and - an agent MUST ignore it." + "If mplsTunnelHopAddrType is set to asnumber(3), then + this value will contain the AS number of this hop. + Otherwise the agent should set this object to zero- + length string and the manager should ignore this." ::= { mplsTunnelHopEntry 7 } -mplsTunnelHopAsNumber OBJECT-TYPE - SYNTAX Unsigned32 (0..65535) +mplsTunnelHopAddrUnnum OBJECT-TYPE + SYNTAX TeHopAddressUnnum MAX-ACCESS read-create STATUS current DESCRIPTION - "If mplsTunnelHopAddrType is set to asNumber(2), then - this value will contain the AS number of this hop. - This object is otherwise insignificant and should - contain a value of 0 to indicate this fact." + "If mplsTunnelHopAddrType is set to unnum(4), then + this value will contain the interface id of the + unnumbered interface for this hop. Otherwise the + agent should set this object to zero-length string + and the manager should ignore this." ::= { mplsTunnelHopEntry 8 } mplsTunnelHopLspId OBJECT-TYPE SYNTAX MplsLSPID MAX-ACCESS read-create STATUS current DESCRIPTION - "If mplsTunnelHopAddrType is set to lspId(3), then + "If mplsTunnelHopAddrType is set to lspid(5), then this value will contain the LSPID of a tunnel of this hop. The present tunnel being configured is tunneled through this hop (using label stacking). This object is otherwise insignificant and should contain a value of 0 to indicate this fact." ::= { mplsTunnelHopEntry 9 } mplsTunnelHopType OBJECT-TYPE SYNTAX INTEGER { strict(1), loose(2) } MAX-ACCESS read-create STATUS current DESCRIPTION "Denotes whether this tunnel hop is routed in a strict or loose fashion." ::= { mplsTunnelHopEntry 10 } -mplsTunnelHopIncludeExclude OBJECT-TYPE - SYNTAX INTEGER { - include(1), - exclude(2) - } +mplsTunnelHopInclude OBJECT-TYPE + SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION - "If this value is set to include(1), then this - indicates that this hop must be included in the - tunnel's path. If this value is set to exclude(2), - then this hop must be avoided when calculating the - path for this tunnel. The default value of this - object is include(1), so that by default all - indicated hops are included in the CSPF path - computation." - DEFVAL { include } + "If this value is set to true, then this indicates + that this hop must be included in the tunnel's + path. If this value is set to false, then this hop + must be avoided when calculating the path for this + tunnel. The default value of this object is true, + so that by default all indicated hops are included + in the CSPF path computation." + DEFVAL { true } ::= { mplsTunnelHopEntry 11 } mplsTunnelHopPathOptionName OBJECT-TYPE - SYNTAX DisplayString + SYNTAX SnmpAdminString MAX-ACCESS read-create STATUS current DESCRIPTION "The description of this series of hops as they relate to the specified path option." ::= { mplsTunnelHopEntry 12 } mplsTunnelHopEntryPathComp OBJECT-TYPE SYNTAX INTEGER { dynamic(1), -- CSPF computed @@ -1562,50 +1572,61 @@ strict or loose hops. Each hop along a specific path should have this object set to the same value" ::= { mplsTunnelHopEntry 13 } mplsTunnelHopRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "This variable is used to create, modify, and/or - delete a row in this table." + delete a row in this tabole. When a row in this + table is in active(1) state, no objects in that row + can be modified except mplsTunnelHopRowStatus and + mplsTunnelHopStorageType." ::= { mplsTunnelHopEntry 14 } mplsTunnelHopStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "This variable indicates the storage type for this - object. This object cannot be modified if - mplsTunnelHopRowStatus is active(1). If this - variable is set to readOnly(5), and the - corresponding entry is removed, then the agent must - remove this row shortly thereafter [RFC2579]." + object. If this variable is set to readOnly(5), + and the corresponding entry is removed, then the + agent must remove this row shortly thereafter + [RFC2579]. + + Setting this object to permanent(4) indicates that + this object should be restored automatically after + failures. + + No objects are required to be writable for rows in + this table with this object set to permanent(4). + The default value is volatile(2)." + DEFVAL { volatile } ::= { mplsTunnelHopEntry 15 } -- End of mplsTunnelHopTable -- Begin of mplsTunnelResourceTable mplsTunnelResourceIndexNext OBJECT-TYPE SYNTAX Unsigned32 (0.. 2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the next appropriate value to be used for mplsTunnelResourceIndex when creating entries in the mplsTunnelResourceTable. If the number of unassigned entries is exhausted, a - retrival operation will return a value of 0. This + retrieval operation will return a value of 0. This object may also return a value of 0 when the LSR is unable to accept conceptual row creation, for example, if the mplsTunnelTable is implemented as read-only. To obtain the mplsTunnelResourceIndex value for a new entry, the manager must first issue a management protocol retrieval operation to obtain the current value of this object. The agent should modify the value to reflect the next unassigned index after each retrieval operation. After a manager retrieves a value the agent will determine @@ -1668,23 +1689,23 @@ mplsTunnelResourceMaxRate, mplsTunnelResourceMeanRate, and mplsTunnelResourceMaxBurstSize to 0 indicates best- effort treatment. This object is copied to an instance of mplsTrafficParamMaxRate in mplsTrafficParamTable the OID of which is copied into the corresponding mplsInSegmentTrafficParamPtr." REFERENCE "Srinivasan, C., Viswanathan, A., and T. Nadeau, MPLS - Label Switching Router Management Information Base, - Internet Draft , - October 2002." + Label Switch Router Management Information Base, + Internet Draft , + June 2003." ::= { mplsTunnelResourceEntry 2 } mplsTunnelResourceMeanRate OBJECT-TYPE SYNTAX MplsBitRate UNITS "bits per second" MAX-ACCESS read-create STATUS current DESCRIPTION "This object is copied into an instance of mplsTrafficParamMeanRate in the @@ -1694,23 +1715,23 @@ When resource allocation is performed as requested by this TSpec object, it is copied into an entry in mplsTrafficParamTable [LSRMIB]: mplsTunnelInMeanRate to mplsTrafficParamMeanRate. The OID of this entry is copied to mplsInSegmentTrafficParamPtr of the corresponding in-segment entry." REFERENCE "Srinivasan, C., Viswanathan, A., and T. Nadeau, MPLS - Label Switching Router Management Information Base, - Internet Draft , - October 2002." + Label Switch Router Management Information Base, + Internet Draft , + June 2003." ::= { mplsTunnelResourceEntry 3 } mplsTunnelResourceMaxBurstSize OBJECT-TYPE SYNTAX MplsBurstSize UNITS "bytes" MAX-ACCESS read-create STATUS current DESCRIPTION "The maximum burst size in bytes. This object is copied to mplsInSegmentMaxBurstSize of the @@ -1718,23 +1739,23 @@ When resource allocation is performed as requested by this TSpec object, it is copied into an entry in mplsTrafficParamTable [LSRMIB]: mplsTunnelInMaxBurstSize to mplsTrafficParamMaxBurstSize. The OID of this entry is copied to mplsInSegmentTrafficParamPtr of the corresponding in-segment entry." REFERENCE "Srinivasan, C., Viswanathan, A., and T. Nadeau, MPLS - Label Switching Router Management Information Base, - Internet Draft , - October 2002." + Label Switch Router Management Information Base, + Internet Draft , + June 2003." ::= { mplsTunnelResourceEntry 4 } mplsTunnelResourceMeanBurstSize OBJECT-TYPE SYNTAX MplsBurstSize UNITS "bytes" MAX-ACCESS read-create STATUS current DESCRIPTION "The mean burst size in bytes. The implementations which do not implement this variable must return 0 @@ -1784,34 +1805,46 @@ REFERENCE "CR-LDP Specification, Section 4.3." ::= { mplsTunnelResourceEntry 8 } mplsTunnelResourceRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "This variable is used to create, modify, and/or - delete a row in this table." + delete a row in this tabole. When a row in this + table is in active(1) state, no objects in that row + can be modified except mplsTunnelResourceRowStatus + and mplsTunnelResourceStorageType." ::= { mplsTunnelResourceEntry 9 } mplsTunnelResourceStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "This variable indicates the storage type for this - object. This object cannot be modified if - mplsTunnelResourceRowStatus is active(1). If this - variable is set to readOnly(5), and the - corresponding entry is removed, then the agent must - remove this row shortly thereafter [RFC2579]." + object. If this variable is set to readOnly(5), + and the corresponding entry is removed, then the + agent must remove this row shortly thereafter + [RFC2579]. + + Setting this object to permanent(4) indicates that + this object should be restored automatically after + failures. + + No objects are required to be writable for rows in + this table with this object set to permanent(4). + The default value is volatile(2)." + DEFVAL { volatile } + ::= { mplsTunnelResourceEntry 10 } -- End mplsTunnelResourceTable -- Tunnel Actual Route Hop table. mplsTunnelARHopTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsTunnelARHopEntry MAX-ACCESS not-accessible STATUS current @@ -1852,25 +1885,25 @@ "An entry in this table represents a tunnel hop. An entry is created by a network administrator for signaled ERLSP set up by an MPLS signalling protocol." INDEX { mplsTunnelARHopListIndex, mplsTunnelARHopIndex } ::= { mplsTunnelARHopTable 1 } MplsTunnelARHopEntry ::= SEQUENCE { mplsTunnelARHopListIndex MplsPathIndex, mplsTunnelARHopIndex MplsPathIndex, - mplsTunnelARHopAddrType INTEGER, - mplsTunnelARHopIpAddrType InetAddressType, - mplsTunnelARHopIpAddr InetAddress, + mplsTunnelARHopAddrType TeHopAddressType, + mplsTunnelARHopIpAddr TeHopAddress, mplsTunnelARHopIpPrefixLen InetAddressPrefixLength, - mplsTunnelARHopAsNumber Unsigned32, + mplsTunnelARHopAsNumber TeHopAddressAS, + mplsTunnelARHopAddrUnnum TeHopAddressUnnum, mplsTunnelARHopLspId MplsLSPID } mplsTunnelARHopListIndex OBJECT-TYPE SYNTAX MplsPathIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "Primary index into this table identifying a particular recorded hop list." @@ -1879,86 +1912,83 @@ mplsTunnelARHopIndex OBJECT-TYPE SYNTAX MplsPathIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "Secondary index into this table identifying the particular hop." ::= { mplsTunnelARHopEntry 2 } mplsTunnelARHopAddrType OBJECT-TYPE - SYNTAX INTEGER { - ipAddr(1), - asNumber(2), - lspId(3) - } + SYNTAX TeHopAddressType MAX-ACCESS read-only STATUS current DESCRIPTION "Denotes the address type of this tunnel hop." - DEFVAL { ipAddr } + DEFVAL { ipv4 } ::= { mplsTunnelARHopEntry 3 } -mplsTunnelARHopIpAddrType OBJECT-TYPE - SYNTAX InetAddressType - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "If mplsTunnelARHopAddrType is set to ipAddr(1) then - this value will contain the IP address type of this - hop. If mplsTunnelARHopAddrType is set to - asNumber(2) or lspId(3) then a management entity - SHOULD ignore this object." - ::= { mplsTunnelARHopEntry 4 } - mplsTunnelARHopIpAddr OBJECT-TYPE - SYNTAX InetAddress + SYNTAX TeHopAddress MAX-ACCESS read-only STATUS current DESCRIPTION - "If mplsTunnelARHopIpAddrType is set to ipV4(1) or - ipV6(2), then this value will contain respectively + "If mplsTunnelARHopAddrType is set to ipv4(1) or + ipv6(2), then this value will contain respectively the IPv4 address or the IPv6 address of this hop. - Otherwise a management entity SHOULD set this to 0 - and an agent MUST ignore it. Likewise an agent MUST - return a value of 0 for a retrieval operation." - ::= { mplsTunnelARHopEntry 5 } + Otherwise the agent should set this object to zero- + length string and the manager should ignore this." + ::= { mplsTunnelARHopEntry 4 } mplsTunnelARHopIpPrefixLen OBJECT-TYPE SYNTAX InetAddressPrefixLength MAX-ACCESS read-only STATUS current DESCRIPTION - "If mplsTunnelARHopIpAddrType is set to ipV4(1) or - ipV6(2), then this value will contain an - appropriate prefix length for this hop. Otherwise a + "If mplsTunnelARHopAddrType is set to ipv4(1) or + ipv6(2), then this value will contain an + appropriate prefix length for the IP address in + object mplsTunnelARHopIpAddr. Otherwise a management entity SHOULD set this object to 0 and an agent MUST ignore it." - ::= { mplsTunnelARHopEntry 6 } + ::= { mplsTunnelARHopEntry 5 } mplsTunnelARHopAsNumber OBJECT-TYPE - SYNTAX Unsigned32 (0..65535) + SYNTAX TeHopAddressAS MAX-ACCESS read-only STATUS current DESCRIPTION - "If mplsTunnelARHopAddrType is set to asNumber(2), + "If mplsTunnelARHopAddrType is set to asnumber(3), then this value will contain the AS number of this - hop. This object is otherwise insignificant and - should contain a value of 0 to indicate this fact." + hop. Otherwise the agent should set this object to + zero-length string and the manager should ignore + this." + ::= { mplsTunnelARHopEntry 6 } + +mplsTunnelARHopAddrUnnum OBJECT-TYPE + SYNTAX TeHopAddressUnnum + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "If mplsTunnelARHopAddrType is set to unnum(4), then + this value will contain the interface identifier of + the unnumbered interface for this hop. Otherwise + the agent should set this object to zero-length + string and the manager should ignore this." ::= { mplsTunnelARHopEntry 7 } mplsTunnelARHopLspId OBJECT-TYPE SYNTAX MplsLSPID MAX-ACCESS read-only STATUS current DESCRIPTION - "If mplsTunnelARHopAddrType is set to lspId(3), then + "If mplsTunnelARHopAddrType is set to lspid(5), then this value will contain the LSP ID of this hop. This object is otherwise insignificant and should contain a value of 0 to indicate this fact." ::= { mplsTunnelARHopEntry 8 } -- End of mplsTunnelARHopTable -- Tunnel Computed Hop table. mplsTunnelCHopTable OBJECT-TYPE @@ -2002,25 +2032,25 @@ "An entry in this table represents a tunnel hop. An entry in this table is created by a constraint- based routing protocol based on the hops specified in the corresponding mplsTunnelHopTable." INDEX { mplsTunnelCHopListIndex, mplsTunnelCHopIndex } ::= { mplsTunnelCHopTable 1 } MplsTunnelCHopEntry ::= SEQUENCE { mplsTunnelCHopListIndex MplsPathIndex, mplsTunnelCHopIndex MplsPathIndex, - mplsTunnelCHopAddrType INTEGER, - mplsTunnelCHopIpAddrType InetAddressType, - mplsTunnelCHopIpAddr InetAddress, + mplsTunnelCHopAddrType TeHopAddressType, + mplsTunnelCHopIpAddr TeHopAddress, mplsTunnelCHopIpPrefixLen InetAddressPrefixLength, - mplsTunnelCHopAsNumber Unsigned32, + mplsTunnelCHopAsNumber TeHopAddressAS, + mplsTunnelCHopAddrUnnum TeHopAddressUnnum, mplsTunnelCHopLspId MplsLSPID, mplsTunnelCHopType INTEGER } mplsTunnelCHopListIndex OBJECT-TYPE SYNTAX MplsPathIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "Primary index into this table identifying a @@ -2030,88 +2060,85 @@ mplsTunnelCHopIndex OBJECT-TYPE SYNTAX MplsPathIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "Secondary index into this table identifying the particular hop." ::= { mplsTunnelCHopEntry 2 } mplsTunnelCHopAddrType OBJECT-TYPE - SYNTAX INTEGER { - ipAddr(1), - asNumber(2), - lspId(3) - } + SYNTAX TeHopAddressType MAX-ACCESS read-only STATUS current DESCRIPTION "Denotes the address type of this tunnel hop. Note - that lspId(3) is a valid option only for tunnels + that lspid(5) is a valid option only for tunnels signaled via CRLDP." - DEFVAL { ipAddr } + DEFVAL { ipv4 } ::= { mplsTunnelCHopEntry 3 } -mplsTunnelCHopIpAddrType OBJECT-TYPE - SYNTAX InetAddressType - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "If mplsTunnelCHopAddrType is set to ipAddr(1) then - this value will contain the IP address type of this - hop. If mplsTunnelCHopAddrType is set to - asNumber(2) or lspId(3) then a management entity - SHOULD ignore this object." - ::= { mplsTunnelCHopEntry 4 } - mplsTunnelCHopIpAddr OBJECT-TYPE - SYNTAX InetAddress + SYNTAX TeHopAddress MAX-ACCESS read-only STATUS current DESCRIPTION - "If mplsTunnelCHopIpAddrType is set to ipV4(1) or - ipV6(2), then this value will contain respectively + "If mplsTunnelCHopAddrType is set to ipv4(1) or + ipv6(2), then this value will contain respectively the IPv4 address or the IPv6 address of this hop. - Otherwise a management entity SHOULD set this to 0 - and an agent MUST ignore it. Likewise an agent MUST - return a value of 0 for a retrieval operation." - ::= { mplsTunnelCHopEntry 5 } + Otherwise the agent should set this object to zero- + length string and the manager should ignore this." + ::= { mplsTunnelCHopEntry 4 } mplsTunnelCHopIpPrefixLen OBJECT-TYPE SYNTAX InetAddressPrefixLength MAX-ACCESS read-only STATUS current DESCRIPTION - "If mplsTunnelCHopIpAddrType is set to ipV4(1) or - ipV6(2), then this value will contain an - appropriate prefix length for this hop. Otherwise a - management entity SHOULD set this object to 0 and - an agent MUST ignore it. " - ::= { mplsTunnelCHopEntry 6 } + "If mplsTunnelCHopAddrType is set to ipv4(1) or + ipv6(2), then this value will contain an + appropriate prefix length for the IP address in + object mplsTunnelCHopIpAddr. Otherwise a management + entity SHOULD set this object to 0 and an agent + MUST ignore it. " + ::= { mplsTunnelCHopEntry 5 } mplsTunnelCHopAsNumber OBJECT-TYPE - SYNTAX Unsigned32 (0..65535) + SYNTAX TeHopAddressAS MAX-ACCESS read-only STATUS current DESCRIPTION - "If mplsTunnelCHopAddrType is set to asNumber(2), + "If mplsTunnelCHopAddrType is set to asnumber(3), then this value will contain the AS number of this - hop. This object is otherwise insignificant and - should contain a value of 0 to indicate this fact." + hop. Otherwise the agent should set this object to + zero-length string and the manager should ignore + this." + ::= { mplsTunnelCHopEntry 6 } + +mplsTunnelCHopAddrUnnum OBJECT-TYPE + SYNTAX TeHopAddressUnnum + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "If mplsTunnelCHopAddrType is set to unnum(4), then + this value will contain the unnumbered interface + identifier of this hop. Otherwise the agent should + set this object to zero-length string and the + manager should ignore this." ::= { mplsTunnelCHopEntry 7 } mplsTunnelCHopLspId OBJECT-TYPE SYNTAX MplsLSPID MAX-ACCESS read-only STATUS current DESCRIPTION - "If mplsTunnelCHopAddrType is set to lspId(3), then + "If mplsTunnelCHopAddrType is set to lspid(5), then this value will contain the LSP ID of this hop. This object is otherwise insignificant and should contain a value of 0 to indicate this fact." ::= { mplsTunnelCHopEntry 8 } mplsTunnelCHopType OBJECT-TYPE SYNTAX INTEGER { strict(1), loose(2) } @@ -2319,34 +2346,45 @@ LDP, Jamoussi (Editor), RFC 3212, January 2002" DEFVAL { 0 } ::= { mplsTunnelCRLDPResEntry 6 } mplsTunnelCRLDPResRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "This variable is used to create, modify, and/or - delete a row in this table." + delete a row in this tabole. When a row in this + table is in active(1) state, no objects in that row + can be modified except mplsTunnelCRLDPResRowStatus + and mplsTunnelCRLDPResStorageType." ::= { mplsTunnelCRLDPResEntry 7 } mplsTunnelCRLDPResStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "This variable indicates the storage type for this - object. This object cannot be modified if - mplsTunnelCRLDPResResourceRowStatus is active(1). - If this variable is set to readOnly(5), and the - corresponding entry is removed, then the agent must - remove this row shortly thereafter [RFC2579]." + object. If this variable is set to readOnly(5), + and the corresponding entry is removed, then the + agent must remove this row shortly thereafter + [RFC2579]. + + Setting this object to permanent(4) indicates that + this object should be restored automatically after + failures. + + No objects are required to be writable for rows in + this table with this object set to permanent(4). + The default value is volatile(2)." + DEFVAL { volatile } ::= { mplsTunnelCRLDPResEntry 8 } -- Notifications. mplsTunnelNotificationEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "If this object is true, then it enables the @@ -2417,36 +2455,46 @@ -- End of notifications. -- Module compliance. mplsTeGroups OBJECT IDENTIFIER ::= { mplsTeConformance 1 } mplsTeCompliances OBJECT IDENTIFIER ::= { mplsTeConformance 2 } -mplsTeModuleCompliance MODULE-COMPLIANCE +-- Compliance requirement for fully compliant implementations. + +mplsTeModuleFullCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION - "Compliance statement for agents that support the - MPLS-TE-MIB." + "Compliance statement for agents that provide full + support the MPLS-TE-STD-MIB module." + + MODULE IF-MIB -- The Interfaces Group MIB, RFC 2863. + MANDATORY-GROUPS { + ifGeneralInformationGroup, + ifCounterDiscontinuityGroup + } + MODULE -- this module -- The mandatory group has to be implemented by all -- LSRs that originate/terminate ESLSPs/tunnels. -- In addition, depending on the type of tunnels -- supported, other groups become mandatory as -- explained below. MANDATORY-GROUPS { mplsTunnelGroup, - mplsTunnelScalarGroup + mplsTunnelScalarGroup, + mplsTeNotificationGroup } GROUP mplsTunnelManualGroup DESCRIPTION "This group is mandatory for devices which support manual configuration of tunnels, in addition to mplsTunnelGroup. The following constraints apply: mplsTunnelSignallingProto should be at least read- only with a value of none(1)." @@ -2456,49 +2504,117 @@ signaled tunnel set up, in addition to mplsTunnelGroup. The following constraints apply: mplsTunnelSignallingProto should be at least read- only returning a value of ldp(2), or rsvp(3)." GROUP mplsTunnelIsNotIntfcGroup DESCRIPTION "This group is mandatory for devices which support tunnels that are not interfaces, in addition to mplsTunnelGroup. The following constraints apply: - mplsTunnelIsIf must at least be read-only returning false(1)." - GROUP mplsTunnelIsIntfcGroup DESCRIPTION "This group is mandatory for devices which support tunnels that are interfaces, in addition to mplsTunnelGroup. The following constraints apply: mplsTunnelIsIf must at least be read-only returning true(2)." - GROUP mplsTeNotificationGroup - DESCRIPTION - "Objects in this group are optional unless - notifications are supported." - GROUP mplsTunnelCRLDPResOptionalGroup DESCRIPTION - "Objects in this group are oiptional except for + "Objects in this group are optional except for implementations supporting the CR-LDP protocol for signalling of TE tunnels." - GROUP mplsTunnelOptionalGroup + -- mplsTunnelTable + + OBJECT mplsTunnelIsIf + MIN-ACCESS read-only DESCRIPTION - "Objects in this group are optional." + "Write access is not required." + + OBJECT mplsTunnelSignallingProto + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT mplsTunnelAdminStatus + SYNTAX INTEGER { up (1), down (2) } + MIN-ACCESS read-only + DESCRIPTION + "Only up and down states must be supported. Write + access is not required." + + OBJECT mplsTunnelOperStatus + SYNTAX INTEGER { up (1), down (2) } + DESCRIPTION + "Only up and down states must be supported. Write + access is not required." + + OBJECT mplsTunnelRowStatus + SYNTAX INTEGER { + active(1), + notInService(2), + createAndGo(4), + destroy(6) + } + MIN-ACCESS read-only + DESCRIPTION + "The notReady(3) and createAndWait(5) states need + not be supported. Write access is not required." + + OBJECT mplsTunnelStorageType + SYNTAX INTEGER { other(1) } + DESCRIPTION + "Only other (1) needs to be supported." + + OBJECT mplsTunnelRole + SYNTAX INTEGER { head(1) } + MIN-ACCESS read-only + DESCRIPTION + "Only support for head is required." + + ::= { mplsTeCompliances 1 } + +-- Compliance requirement for read-only implementations. + +mplsTeModuleReadOnlyCompliance MODULE-COMPLIANCE + STATUS current + DESCRIPTION + "Compliance requirement for implementations that only + provide read-only support for MPLS-TE-STD-MIB. + Such devices can then be monitored but cannot be + configured using this MIB modules." + + MODULE -- this module -- mplsTunnelTable + MANDATORY-GROUPS { + mplsTunnelGroup, + mplsTunnelManualGroup, + mplsTunnelScalarGroup, + mplsTunnelIsNotIntfcGroup, + mplsTunnelCRLDPResOptionalGroup + } + + GROUP mplsTunnelSignaledGroup + DESCRIPTION + "This group is mandatory for devices which support + signaled tunnel set up, in addition to + mplsTunnelGroup. The following constraints apply: + mplsTunnelSignallingProto should be at least read- + only returning a value of ldp(2), or rsvp(3)." + + -- mplsTunnelTable OBJECT mplsTunnelName MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT mplsTunnelDescr MIN-ACCESS read-only DESCRIPTION "Write access is not required." @@ -2529,30 +2645,24 @@ OBJECT mplsTunnelHoldingPrio MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT mplsTunnelSessionAttributes MIN-ACCESS read-only DESCRIPTION "Write access is not required." - OBJECT mplsTunnelOwner - MIN-ACCESS read-only - DESCRIPTION - "Write access is not required." - OBJECT mplsTunnelLocalProtectInUse MIN-ACCESS read-only DESCRIPTION "Write access is not required." - OBJECT mplsTunnelResourcePointer MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT mplsTunnelInstancePriority MIN-ACCESS read-only DESCRIPTION "Write access is not required." @@ -2553,65 +2663,52 @@ OBJECT mplsTunnelInstancePriority MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT mplsTunnelHopTableIndex MIN-ACCESS read-only DESCRIPTION "Write access is not required." - OBJECT mplsTunnelPrimaryInstance - MIN-ACCESS read-only - DESCRIPTION - "Write access is not required." - OBJECT mplsTunnelPrimaryTimeUp + OBJECT mplsTunnelIncludeAnyAffinity MIN-ACCESS read-only DESCRIPTION "Write access is not required." - OBJECT mplsTunnelPathChanges + OBJECT mplsTunnelIncludeAllAffinity MIN-ACCESS read-only DESCRIPTION "Write access is not required." - OBJECT mplsTunnelLastPathChange + OBJECT mplsTunnelExcludeAllAffinity MIN-ACCESS read-only DESCRIPTION "Write access is not required." - OBJECT mplsTunnelCreationTime + OBJECT mplsTunnelPathInUse MIN-ACCESS read-only DESCRIPTION "Write access is not required." - OBJECT mplsTunnelStateTransitions + OBJECT mplsTunnelRole MIN-ACCESS read-only DESCRIPTION "Write access is not required." - OBJECT mplsTunnelARHopTableIndex - DESCRIPTION - "Write access is not required." - - OBJECT mplsTunnelCHopTableIndex - DESCRIPTION - "Write access is not required." - OBJECT mplsTunnelAdminStatus SYNTAX INTEGER { up (1), down (2) } MIN-ACCESS read-only DESCRIPTION "Only up and down states must be supported. Write access is not required." - OBJECT mplsTunnelOperStatus SYNTAX INTEGER { up (1), down (2) } DESCRIPTION "Only up and down states must be supported. Write access is not required." OBJECT mplsTunnelRowStatus SYNTAX INTEGER { active(1), notInService(2), @@ -2621,58 +2718,38 @@ MIN-ACCESS read-only DESCRIPTION "The notReady(3) and createAndWait(5) states need not be supported. Write access is not required." OBJECT mplsTunnelStorageType SYNTAX INTEGER { other(1) } DESCRIPTION "Only other (1) needs to be supported." - OBJECT mplsTunnelPathInUse - MIN-ACCESS read-only - DESCRIPTION - "Read-only support is required." - - OBJECT mplsTunnelRole - SYNTAX INTEGER { head(1) } - MIN-ACCESS read-only - DESCRIPTION - "Only support for head is required." - - OBJECT mplsTunnelTotalUpTime - MIN-ACCESS read-only - DESCRIPTION - "Read-only support is required." - - OBJECT mplsTunnelInstanceUpTime - MIN-ACCESS read-only - DESCRIPTION - "Read-only support is required." - -- mplsTunnelHopTable OBJECT mplsTunnelHopAddrType MIN-ACCESS read-only DESCRIPTION "Write access is not required." - OBJECT mplsTunnelHopIpAddrType + + OBJECT mplsTunnelHopIpAddr MIN-ACCESS read-only DESCRIPTION "Write access is not required." - OBJECT mplsTunnelHopIpAddr + OBJECT mplsTunnelHopIpPrefixLen MIN-ACCESS read-only DESCRIPTION "Write access is not required." - OBJECT mplsTunnelHopIpPrefixLen + OBJECT mplsTunnelHopAddrUnnum MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT mplsTunnelHopAsNumber MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT mplsTunnelHopLspId @@ -2680,21 +2757,21 @@ DESCRIPTION "Write access is not required." OBJECT mplsTunnelHopType SYNTAX INTEGER { strict(1) } MIN-ACCESS read-only DESCRIPTION "loose(2) need not be supported. Write access is not required." - OBJECT mplsTunnelHopIncludeExclude + OBJECT mplsTunnelHopInclude MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT mplsTunnelHopPathOptionName MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT mplsTunnelHopEntryPathComp @@ -2764,48 +2842,64 @@ MIN-ACCESS read-only DESCRIPTION "The notReady(3) and createAndWait(5) states need not be supported. Write access is not required." OBJECT mplsTunnelResourceStorageType SYNTAX INTEGER { other(1) } DESCRIPTION "Only other (1) needs to be supported." - -- mplsTunnelPerfTable + -- mplsTunnelCRLDPResTable - OBJECT mplsTunnelPerfPackets + OBJECT mplsTunnelCRLDPResMeanBurstSize MIN-ACCESS read-only DESCRIPTION "Write access is not required." - OBJECT mplsTunnelPerfHCPackets + OBJECT mplsTunnelCRLDPResExBurstSize MIN-ACCESS read-only DESCRIPTION "Write access is not required." - OBJECT mplsTunnelPerfErrors + OBJECT mplsTunnelCRLDPResFrequency MIN-ACCESS read-only DESCRIPTION "Write access is not required." - OBJECT mplsTunnelPerfBytes + OBJECT mplsTunnelCRLDPResWeight MIN-ACCESS read-only DESCRIPTION "Write access is not required." - OBJECT mplsTunnelPerfHCBytes + OBJECT mplsTunnelCRLDPResFlags MIN-ACCESS read-only DESCRIPTION "Write access is not required." - ::= { mplsTeCompliances 1 } + OBJECT mplsTunnelCRLDPResRowStatus + SYNTAX INTEGER { + active(1), + notInService(2), + createAndGo(4), + destroy(6) + } + MIN-ACCESS read-only + DESCRIPTION + "The notReady(3) and createAndWait(5) states need + not be supported. Write access is not required." + + OBJECT mplsTunnelCRLDPResStorageType + SYNTAX INTEGER { other(1) } + DESCRIPTION + "Only other (1) needs to be supported." + ::= { mplsTeCompliances 2 } -- Units of conformance. mplsTunnelGroup OBJECT-GROUP OBJECTS { mplsTunnelIndexNext, mplsTunnelName, mplsTunnelDescr, mplsTunnelOwner, mplsTunnelXCPointer, @@ -2814,39 +2908,62 @@ mplsTunnelARHopTableIndex, mplsTunnelCHopTableIndex, mplsTunnelAdminStatus, mplsTunnelOperStatus, mplsTunnelRowStatus, mplsTunnelNotificationEnable, mplsTunnelStorageType, mplsTunnelConfigured, mplsTunnelActive, mplsTunnelPrimaryInstance, - mplsTunnelPrimaryTimeUp, + mplsTunnelPrimaryUpTime, mplsTunnelPathChanges, mplsTunnelLastPathChange, mplsTunnelCreationTime, mplsTunnelStateTransitions, mplsTunnelIncludeAnyAffinity, mplsTunnelIncludeAllAffinity, mplsTunnelExcludeAllAffinity, mplsTunnelPerfPackets, mplsTunnelPerfHCPackets, mplsTunnelPerfErrors, mplsTunnelPerfBytes, mplsTunnelPerfHCBytes, mplsTunnelResourcePointer, mplsTunnelInstancePriority, mplsTunnelPathInUse, mplsTunnelRole, mplsTunnelTotalUpTime, - mplsTunnelInstanceUpTime + mplsTunnelInstanceUpTime, + mplsTunnelResourceIndexNext, + mplsTunnelResourceMaxRate, + mplsTunnelResourceMeanRate, + mplsTunnelResourceMaxBurstSize, + mplsTunnelResourceMeanBurstSize, + mplsTunnelResourceExBurstSize, + mplsTunnelResourceFrequency, + mplsTunnelResourceWeight, + mplsTunnelResourceRowStatus, + mplsTunnelResourceStorageType, + mplsTunnelARHopAddrType, + mplsTunnelARHopIpAddr, + mplsTunnelARHopIpPrefixLen, + mplsTunnelARHopAsNumber, + mplsTunnelARHopAddrUnnum, + mplsTunnelARHopLspId, + mplsTunnelCHopAddrType, + mplsTunnelCHopIpAddr, + mplsTunnelCHopIpPrefixLen, + mplsTunnelCHopAsNumber, + mplsTunnelCHopAddrUnnum, + mplsTunnelCHopLspId, + mplsTunnelCHopType } STATUS current DESCRIPTION "Necessary, but not sufficient, set of objects to implement tunnels. In addition, depending on the type of the tunnels supported (for example, manually configured or signaled, persistent or non- persistent, etc.), the following other groups defined below are mandatory: mplsTunnelManualGroup and/or mplsTunnelSignaledGroup, @@ -2864,44 +2981,44 @@ mplsTunnelSignaledGroup OBJECT-GROUP OBJECTS { mplsTunnelSetupPrio, mplsTunnelHoldingPrio, mplsTunnelSignallingProto, mplsTunnelLocalProtectInUse, mplsTunnelSessionAttributes, mplsTunnelHopListIndexNext, mplsTunnelHopAddrType, - mplsTunnelHopIpAddrType, mplsTunnelHopIpAddr, mplsTunnelHopIpPrefixLen, + mplsTunnelHopAddrUnnum, mplsTunnelHopAsNumber, mplsTunnelHopLspId, mplsTunnelHopType, - mplsTunnelHopIncludeExclude, + mplsTunnelHopInclude, mplsTunnelHopPathOptionName, mplsTunnelHopEntryPathComp, mplsTunnelHopRowStatus, mplsTunnelHopStorageType } STATUS current DESCRIPTION - "Object needed to implement signaled tunnels." + "Objects needed to implement signaled tunnels." ::= { mplsTeGroups 3 } mplsTunnelScalarGroup OBJECT-GROUP OBJECTS { mplsTunnelConfigured, mplsTunnelActive, mplsTunnelTEDistProto, mplsTunnelMaxHops, - mplsTunnelNotifMaxRate + mplsTunnelNotificationMaxRate } STATUS current DESCRIPTION "Scalar object needed to implement MPLS tunnels." ::= { mplsTeGroups 4 } mplsTunnelIsIntfcGroup OBJECT-GROUP OBJECTS { mplsTunnelIsIf } STATUS current DESCRIPTION @@ -2910,144 +3027,199 @@ ::= { mplsTeGroups 5 } mplsTunnelIsNotIntfcGroup OBJECT-GROUP OBJECTS { mplsTunnelIsIf } STATUS current DESCRIPTION "Objects needed to implement tunnels that are not interfaces." ::= { mplsTeGroups 6 } -mplsTunnelOptionalGroup OBJECT-GROUP - OBJECTS { - mplsTunnelResourceIndexNext, - mplsTunnelResourceMaxRate, - mplsTunnelResourceMeanRate, - mplsTunnelResourceMaxBurstSize, - mplsTunnelResourceMeanBurstSize, - mplsTunnelResourceExBurstSize, - mplsTunnelResourceFrequency, - mplsTunnelResourceWeight, - mplsTunnelResourceRowStatus, - mplsTunnelResourceStorageType, - mplsTunnelARHopAddrType, - mplsTunnelARHopIpAddrType, - mplsTunnelARHopIpAddr, - mplsTunnelARHopIpPrefixLen, - mplsTunnelARHopAsNumber, - mplsTunnelARHopLspId, - mplsTunnelCHopAddrType, - mplsTunnelCHopIpAddrType, - mplsTunnelCHopIpAddr, - mplsTunnelCHopIpPrefixLen, - mplsTunnelCHopAsNumber, - mplsTunnelCHopLspId, - mplsTunnelCHopType - } - STATUS current - DESCRIPTION - "The objects in this group are optional." - ::= { mplsTeGroups 7 } - mplsTunnelCRLDPResOptionalGroup OBJECT-GROUP OBJECTS { mplsTunnelCRLDPResMeanBurstSize, mplsTunnelCRLDPResExBurstSize, mplsTunnelCRLDPResFrequency, mplsTunnelCRLDPResWeight, mplsTunnelCRLDPResFlags, mplsTunnelCRLDPResRowStatus, mplsTunnelCRLDPResStorageType } STATUS current DESCRIPTION "Set of objects implemented for resources applicable for tunnels signaled using CR-LDP." - ::= { mplsTeGroups 8 } + ::= { mplsTeGroups 7 } mplsTeNotificationGroup NOTIFICATION-GROUP NOTIFICATIONS { mplsTunnelUp, mplsTunnelDown, mplsTunnelRerouted, mplsTunnelReoptimized } STATUS current DESCRIPTION "Set of notifications implemented in this module. None is mandatory." - ::= { mplsTeGroups 9 } + ::= { mplsTeGroups 8 } END 12. Security Considerations + It is clear that this MIB module is potentially useful for + monitoring of MPLS TE tunnels. This MIB module can also + be used for configuration of certain objects, and anything + that can be configured can be incorrectly configured, with + potentially disastrous results. + There are a number of management objects defined in this - MIB that have a MAX-ACCESS clause of read-write and/or + MIB module with a MAX-ACCESS clause of read-write and/or read-create. Such objects may be considered sensitive or vulnerable in some network environments. The support for SET operations in a non-secure environment without proper protection can have a negative effect on network - operations. + operations. These are the tables and objects and their + sensitivity/vulnerability: - It is thus important to control even GET access to these - objects and possibly to even encrypt the values of these - object when sending them over the network via SNMP. Not - all versions of SNMP provide features for such a secure - environment. + - the mplsTunnelTable, mplsTunnelHopTable, + mplsTunnelResourceTable, mplsTunnelARHopTable, + mplsTunnelCHopTable, and mplsTunnelCRLDPResTable + collectively contain objects to provision MPLS + tunnels, tunnel hops, and tunnel resources. + Unauthorized access to objects in these tables, + could result in disruption of traffic on the + network. This is especially true if a tunnel has + been established. The use of stronger mechanisms + such as SNMPv3 security should be considered where + possible. Specifically, SNMPv3 VACM and USM MUST + be used with any v3 agent which implements this + MIB. Administrators should consider whether read + access to these objects should be allowed, since + read access may be undesirable under certain + circumstances. - SNMPv1 by itself is not a secure environment. Even if the - network itself is secure (for example by using IPSec - [RFC2401]), there is no control as to who on the secure - network is allowed to access and GET/SET - (read/change/create/delete) the objects in this MIB. It is - recommended that the implementers consider the security - features as provided by the SNMPv3 framework. - Specifically, the use of the User-based Security Model - [RFC2574] and the View- based Access Control [RFC2575] is - recommended. It is then a customer/user responsibility to - ensure that the SNMP entity giving access to an instance - of this MIB, is properly configured to give access to the - objects only to those principals (users) that have - legitimate rights to indeed GET or SET - (change/create/delete) them. + Some of the readable objects in this MIB module "i.e., + objects with a MAX-ACCESS other than not-accessible" may + be considered sensitive or vulnerable in some network + environments. It is thus important to control even GET + and/or NOTIFY access to these objects and possibly to even + encrypt the values of these objects when sending them over + the network via SNMP. These are the tables and objects + and their sensitivity/vulnerability: + + - the mplsTunnelTable, mplsTunnelHopTable, + mplsTunnelResourceTable, mplsTunnelARHopTable, + mplsTunnelCHopTable, mplsTunnelPerfTable, and + mplsTunnelCRLDPResTable collectively show the MPLE- + TE tunnel network topology and its performance + characteristics. If an Administrator does not want + to reveal this information, then these tables + should be considered sensitive/vulnerable. + + SNMP versions prior to SNMPv3 did not include adequate + security. Even if the network itself is secure "for + example by using IPSec", even then, there is no control as + to who on the secure network is allowed to access and + GET/SET "read/change/create/delete" the objects in this + MIB module. + + It is RECOMMENDED that implementers consider the security + features as provided by the SNMPv3 framework "see + [RFC3410], section 8", including full support for the + SNMPv3 cryptographic mechanisms "for authentication and + privacy". + + Further, deployment of SNMP versions prior to SNMPv3 is + NOT 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. 13. Acknowledgments - We wish to thank Adrian Farrel, Eric Gray, Joan Cucchiara, - Patrick Kerharo, Paul Langille and Mike Piecuch for their - comments on this draft. + We wish to thank Adrian Farrel, Bert Wijnen, Eric Gray, + Joan Cucchiara, Patrick Kerharo, Paul Langille, Marcus + Brunner, Mike MacFaden and Mike Piecuch for their comments + on this document. 14. References - [Assigned] Reynolds, J., and J. Postel, "Assigned - Numbers", RFC 1700, October 1994. See also: - http://www.isi.edu/in- - notes/iana/assignments/smi-numbers +14.1. Normative References - [TCMIB] Nadeau, T., Cucchiara, J., Srinivasan, C, - Viswanathan, A. and H. Sjostrand, + [RFC2119] S. Bradner, "Key Words for use in RFCs to + Indicate Requirement Levels", RFC 2119, BCP + 14, March 1997. + + [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. + + [RFC2702] Awduche, D., Malcolm, J., Agogbua, J., + O'Dell, M., and J. McManus, "Requirements + for Traffic Engineering Over MPLS", RFC + 2702, September 1999. + + [RFC2863] McCloghrie, K. and F. Kastenholtz, "The + Interfaces Group MIB ", RFC 2863, June 2000. + + [RFC3031] Rosen, E., Viswanathan, A., and R. Callon, + "Multiprotocol Label Switching + Architecture", RFC 3031, January 2001. + + [RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., + Srinivasan, V., and G. Swallow, "RSVP-TE: + Extensions to RSVP for LSP Tunnels", RFC + 3209, December 2001. + + [RFC3291] Daniele, M., Haberman, B., Routhier, S., and + J. Schoenwaelder, "Textual Conventions for + Internet Network Addresses", RFC 3291, 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. + + [TCMIB] Nadeau, T. and J. Cucchiara (Editors), "Definition of Textual Conventions and OBJECT-IDENTITIES for Multi-Protocol Label Switching (MPLS) Management", Internet Draft - , October - 2002. + , June 2003. [LSRMIB] Srinivasan, C., Viswanathan, A. and T. Nadeau, "MPLS Multiprotocol Label Switching - (MPLS) Label Switching Router Management + (MPLS) Label Switch Router Management Information Base ", Internet Draft , October 2002. + ietf-mpls-lsr-mib-10.txt>, June 2003. [CRLDP] B. Jamoussi (Editor), "Constraint-Based LSP Setup using LDP", RFC 3212, January 2002. +14.2. Informative References + [RFC1155] Rose, M., and K. McCloghrie, "Structure and Identification of Management Information for TCP/IP-based Internets", RFC 1155, May 1990. [RFC1157] Case, J., Fedor, M., Schoffstall, M., and J. Davin, "Simple Network Management Protocol", RFC 1157, May 1990. [RFC1212] Rose, M., and K. McCloghrie, "Concise MIB Definitions", RFC 1212, March 1991. @@ -3066,99 +3238,58 @@ (SNMPv2)", RFC 1905, January 1996. [RFC1906] 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. [RFC2026] S. Bradner, "The Internet Standards Process -- Revision 3", RFC 2026, October 1996. - [RFC2401] Kent, S., and Atkinson, R., "Security + [RFC2401] Kent, S., and R. Atkinson, "Security Architecture for the Internet Protocol", RFC 2401, November 1998. - [RFC2570] Case, J., Mundy, R., Partain, D., and B. - Stewart, "Introduction to Version 3 of the - Internet-standard Network Management - Framework", RFC 2570, April 1999. - - [RFC2571] Harrington, D., Presuhn, R., and B. Wijnen, - "An Architecture for Describing SNMP - Management Frameworks", RFC 2571, April - 1999. - [RFC2572] Case, J., Harrington D., Presuhn R., and B. Wijnen, "Message Processing and Dispatching for the Simple Network Management Protocol (SNMP)", RFC 2572, April 1999. [RFC2573] Levi, D., Meyer, P., and B. Stewart, "SNMPv3 Applications", RFC 2573, April 1999. [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. [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. - [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. - - [RFC2851] Daniele, M., Haberman, B., Routhier, S., and - J. Schoenwaelder, "Textual Conventions for - Internet Network Addresses", RFC 2851, June - 2000. - - [RFC2863] McCloghrie, K. and F. Kastenholtz, "The - Interfaces Group MIB ", RFC 2863, June 2000. - - [RFC3031] Rosen, E., Viswanathan, A., and R. Callon, - "Multiprotocol Label Switching - Architecture", RFC 3031, January 2001. - - [RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., - Srinivasan, V., and G. Swallow, "RSVP-TE: - Extensions to RSVP for LSP Tunnels", RFC - 3209, December 2001. + [RFC3410] Case, J., Mundy, R., Partain, D., and B. + Stewart, "Introduction and Applicability + Statement for Internet Standard Management + Framework", RFC 3410, December 2002. 15. 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 Apollo Drive Chelmsford, MA 01824 Phone: +1-978-244-3051 Email: tnadeau@cisco.com 16. Full Copyright Statement @@ -3183,10 +3314,33 @@ 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. + +17. Intellectual Property Notice + + 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 + [RFC2028]. 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 that may cover technology that + may be required to practice this standard. Please address + the information to the IETF Executive Director.