--- 1/draft-ietf-mpls-te-mib-03.txt 2006-02-05 00:43:32.000000000 +0100 +++ 2/draft-ietf-mpls-te-mib-04.txt 2006-02-05 00:43:32.000000000 +0100 @@ -1,1545 +1,1592 @@ Network Working Group Cheenu Srinivasan Internet Draft Tachion Networks, Inc. -Expires: September 2000 +Expires: January 2001 Arun Viswanathan - Force10 Networks + Force10 Networks, Inc. Thomas D. Nadeau Cisco Systems, Inc. - MPLS Traffic Engineering Management Information Base - Using SMIv2 + July 14, 2000 - draft-ietf-mpls-te-mib-03.txt + MPLS Traffic Engineering Management Information Base Using + SMIv2 + + draft-ietf-mpls-te-mib-04.txt Status of this Memo This document is an Internet-Draft and is in full - conformance with all provisions of Section 10 of - RFC2026. + conformance with all provisions of Section 10 of RFC2026. Internet-Drafts are working documents of the Internet - Engineering Task Force (IETF), its areas, and its - working groups. Note that other groups may also - distribute working documents as Internet-Drafts. + Engineering Task Force (IETF), its areas, and its working + groups. Note that other groups may also distribute working + documents as Internet-Drafts. - Internet-Drafts are draft documents valid for a - maximum of six months and may be updated, replaced, or - obsoleted by other documents at any time. It is - inappropriate to use Internet-Drafts as reference - material or to cite them other than as "work in - progress." + Internet-Drafts are draft documents valid for a maximum of + six months and may be updated, replaced, or obsoleted by + other documents at any time. It is inappropriate to use + Internet-Drafts as reference material or to cite them other + than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. Abstract - This memo defines an experimental portion of the - Management Information Base (MIB) for use with - network management protocols in the Internet - community. In particular, it describes managed - objects for Multi-Protocol Label Switching (MPLS) - [MPLSArch] [MPLSFW] based traffic engineering. + This memo defines an experimental portion of the Management + Information Base (MIB) for use with network management + protocols in the Internet community. In particular, it + describes managed objects for Multi-Protocol Label + Switching (MPLS) [MPLSArch] [MPLSFW] based traffic + engineering. 1. Introduction - This memo defines an experimental 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) - [MPLSArch][MPLSFW] based traffic engineering. This MIB - should be used in conjunction with the companion - document [LSRMIB] for MPLS based traffic engineering - configuration and management. + This memo defines an experimental 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) [MPLSArch][MPLSFW] based traffic + engineering. This MIB 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. + Comments should be made directly to the MPLS mailing list + at mpls@uu.net. - This memo does not, in its draft form, specify a - standard for the Internet community. + This memo does not, in its draft form, specify a standard + for the Internet community. 2. Terminology - This document uses terminology from the MPLS - architecture document [MPLSArch] and MPLS Label Switch - Router MIB [LSRMIB]. Some frequently used terms are - described next. + This document uses terminology from the MPLS architecture + document [MPLSArch] 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 Switch Router MIB [LSRMIB]. + 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 Switch Router MIB [LSRMIB]. 3. The SNMP Management Framework - The SNMP Management Framework presently consists of - five major components: + The SNMP Management Framework presently consists of five + major components: - An overall architecture, described in RFC 2271 [SNMPArch]. - - 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 - RFC 1155 [SMIv1], RFC 1212 [SNMPv1MIBDef] and RFC - 1215 [SNMPv1Traps]. The second version, called - SMIv2, is described in RFC 1902 [SMIv2], RFC 1903 - [SNMPv2TC] and RFC 1904 [SNMPv2Conf]. + - 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 RFC 1155 [SMIv1], RFC + 1212 [SNMPv1MIBDef] and RFC 1215 [SNMPv1Traps]. The + second version, called SMIv2, is described in RFC 1902 + [SMIv2], RFC 1903 [SNMPv2TC] and RFC 1904 [SNMPv2Conf]. - Message protocols for transferring management - information. The first version of the SNMP - message protocol is called SNMPv1 and described in - RFC 1157 [SNMPv1]. A second version of the SNMP - message protocol, which is not an Internet - standards track protocol, is called SNMPv2c and - described in RFC 1901 [SNMPv2c] and RFC 1906 - [SNMPv2TM]. The third version of the message - protocol is called SNMPv3 and described in RFC - 1906 [SNMPv2TM], RFC 2272 [SNMPv3MP] and RFC 2574 - [SNMPv3USM]. + information. The first version of the SNMP message + protocol is called SNMPv1 and described in RFC 1157 + [SNMPv1]. A second version of the SNMP message + protocol, which is not an Internet standards track + protocol, is called SNMPv2c and described in RFC 1901 + [SNMPv2c] and RFC 1906 [SNMPv2TM]. The third version + of the message protocol is called SNMPv3 and described + in RFC 1906 [SNMPv2TM], RFC 2272 [SNMPv3MP] and RFC + 2574 [SNMPv3USM]. - Protocol operations for accessing management - information. The first set of protocol operations - and associated PDU formats is described in RFC - 1157 [SNMPv1]. A second set of protocol - operations and associated PDU formats is described - in RFC 1905 [SNMPv2PO]. + information. The first set of protocol operations and + associated PDU formats is described in RFC 1157 + [SNMPv1]. A second set of protocol operations and + associated PDU formats is described in RFC 1905 + [SNMPv2PO]. - - A set of fundamental applications described in RFC - 2273 [SNMPv3App] and the view-based access control - mechanism described in RFC 2575 [SNMPv3VACM]. + - A set of fundamental applications described in RFC 2273 + [SNMPv3App] and the view-based access control mechanism + described in RFC 2575 [SNMPv3VACM]. 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. + 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. 3.1. Object Definitions Managed objects are accessed via a virtual information store, termed the Management Information Base or MIB. - Objects in the MIB are defined using the subset of - Abstract Syntax Notation One (ASN.1) defined in the - SMI. In particular, each object type is named by an - OBJECT IDENTIFIER, an administratively assigned name. - The object type together with an object instance - serves to uniquely identify a specific instantiation - of the object. For human convenience, we often use a - textual string, termed the descriptor, to also refer - to the object type. - -4. Feature Checklist - - The MPLS traffic engineering MIB is designed to - satisfy the following requirements and constraints. + Objects in the MIB are defined using the subset of Abstract + Syntax Notation One (ASN.1) defined in the SMI. In + particular, each object type is named by an OBJECT + IDENTIFIER, an administratively assigned name. The object + type together with an object instance serves to uniquely + identify a specific instantiation of the object. For human + convenience, we often use a textual string, termed the + descriptor, to also refer to the object type. - - The MIB must support the configuration of point-to- - point unidirectional tunnels. +4. Feature List - - The MIB should be able to support the configuration - of point-to-point bi-directional tunnels. + The MPLS traffic engineering MIB is designed to satisfy the + following requirements and constraints. - - The MIB should be able to support the configuration - of multi-point-to-point unidirectional tunnels. + - The MIB supports configuration of point-to-point + unidirectional tunnels. - - MPLS tunnels need not be interfaces, but it should - be possible to configure a tunnel as an interface. + - MPLS tunnels need not be interfaces, but it is possible + to configure a tunnel as an interface. - - The MIB should be able to support both manually - configured MPLS tunnels as well as those set up - via any MPLS signaling protocol. + - The MIB supports manually configured MPLS tunnels as + well as those set up via any MPLS signaling protocol. - - It should be possible to support persistent as well - as non-persistent tunnels. + - The MIB supports persistent as well as non-persistent + tunnels. 5. Outline - Traffic engineering support for MPLS tunnels requires - the following configuration. + 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. + - 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. + 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 - The MIB objects for performing these actions consist - of the following tables. + The MIB 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 hop table (mplsTunnelHopTable) for configuring strict and loose source routed MPLS tunnels hops. - - Resource table (mplsTunnelResourceTable) for - setting up the tunnel resources. - - - Tunnel Actual Route Table (mplsTunnelARHopTable) - for viewing the actual route used by the tunnel. - - These tables are described in the subsequent sections. + When a tunnel is signaled via a MPLS signaling protocol, + the mplsTunnelARHopTable gives the actual list of hops + traversed by the tunnel as reported by the signaling + protocol. These tables are described in the subsequent + sections. 6. Brief Description of MIB Objects The objects described in this section support the - functionality described in documents [RSVPTun][CR- - LDP]. The tables support both manually configured and - signaled tunnels. Moreover, they provide the - capability to associate two unidirectional tunnels to - form a single bi-directional tunnel. + functionality described in documents [RSVPTun][CR-LDP]. + The tables support both manually configured and signaled + tunnels. 6.1. mplsTunnelTable - The mplsTunnelTable allows new MPLS tunnels to be - created between an MPLS LSR and a remote endpoint, and - existing tunnels to be reconfigured or removed. Note - that we only support point-to-point tunnel segments, - although multi-point-to-point and point-to-multi-point - connections are supported by an LSR acting as a cross- - connect. Each MPLS tunnel can thus have one out- - segment originating at an LSR and/or one in-segment - terminating at that LSR. + The mplsTunnelTable allows new MPLS tunnels to be created + between an MPLS LSR and a remote endpoint, and existing + tunnels to be reconfigured or removed. Note that we only + support point-to-point tunnel segments, although multi- + point-to-point and point-to-multi-point connections are + supported by an LSR acting as a cross-connect. Each MPLS + tunnel can thus have one out-segment originating at an LSR + and/or one in-segment terminating at that LSR. - mplsTunnelTable does not define the in and out - segments forming the tunnel. Instead, these are - defined by creating rows in the in-segment and out- - segment tables, defining relationships in the cross- - connect table and referring to these rows in the - mplsTunnelTable using a cross-connect index, - mplsTunnelXCID. These segment and cross-connect + mplsTunnelTable does not define the in and out segments + forming the tunnel. Instead, these are defined by creating + rows in the in-segment and out-segment tables, defining + relationships in the cross-connect table and referring to + these rows in the mplsTunnelTable using a cross-connect + index, mplsTunnelXCID. These segment and cross-connect related objects are defined in [LSRMIB]. -6.2. mplsTunnelHopTable +6.2. mplsTunnelResourceTable - mplsTunnelHopTable is used to indicate the hops, - strict or loose, for an MPLS tunnel defined in - mplsTunnelTable, when it is established via signaling. - Each row in this table is indexed primarily by the - same index mplsTunnelIndex as the row of the - corresponding tunnel in mplsTunnelTable. Each row - also has a secondary index, mplsTunnelHopIndex, - corresponding to the next hop of this tunnel. The - scalar mplsTunnelMaxHops indicates the maximum number - of hops that can be specified on each tunnel supported - by this LSR. + mplsTunnelResourceTable is used to indicate the resources + required for a tunnel. Multiple tunnels may share the same + resource by pointing to the same entry in this table. + Tunnel that do not share resource must point to separate + entries in this table. -6.3. mplsTunnelResourceTable +6.3. mplsTunnelHopTable - mplsTunnelResourceTable is used to indicate the - resources required for a tunnel. Multiple tunnels may - share the same resource by pointing to the same entry - in this table. Tunnels that do not share resources - must point to separate entries in this table. + mplsTunnelHopTable is used to indicate the hops, strict or + loose, for an MPLS tunnel defined in mplsTunnelTable, when + it is established via signaling. Multiple tunnels may + share the same hops by pointing to the same entry in this + table. Each row also has a secondary index, + mplsTunnelHopIndex, corresponding to the next hop of this + tunnel. The scalar mplsTunnelMaxHops indicates the maximum + number of hops that can be specified on each tunnel + supported by this LSR. 6.4. mplsTunnelARHopTable - mplsTunnelARHopTable is used to indicate the actual - route taken by a tunnel. This table is particularly - useful in cases where tunnel hops are loosely routed. - This table will allow the user to see the actual path - taken by the tunnel through the network. Support of - this tunnel is dependent upon the MPLS signaling - protocols providing this information. + mplsTunnelARHopTable is used to indicate the actual hops + traversed by a tunnel as reported by the MPLS signaling + protocol after the tunnel is setup. The support of this + table is optional since not all MPLS signaling protocol may + support this feature. -7. Example of Tunnel Setup +7. Application of the Interface Group to MPLS Tunnels + + The Interfaces Group of MIB II defines generic managed + objects for managing interfaces. This memo contains the + media-specific extensions to the Interfaces Group for + managing MPLS Tunnels as logical interfaces. + + This memo assumes the interpretation of the Interfaces + Group to be in accordance with [IFMIB] which states that + the interfaces table (ifTable) contains information on the + managed resource's interfaces and that each sub-layer below + the internetwork layer of a network interface is considered + an interface. Thus, the MPLS interface is represented as + an entry in the ifTable. The interrelation of entries in + the ifTable is defined by Interfaces Stack Group defined in + [IFMIB]. + + When using MPLS Tunnels as interfaces, the interface stack + table might appear as follows: + + +------------------------------------------+ + | MPLS-Tunnel-interface ifType = mpls(150) | + +------------------------------------------+ + | MPLS-interface ifType = mpls(166) | + +------------------------------------------+ + | Underlying Layer | + +------------------------------------------+ + + In the above diagram, "Underlying Layer" refers to the + ifIndex of any interface type, which has been defined for + MPLS interworking. Examples include ATM, Frame Relay, + Ethernet, etc. + +7.1. Support of the MPLS Tunnel Interface by ifTable + + Some specific interpretations of ifTable for those MPLS + tunnels represented as interfaces follow: + + Object Use for the MPLS tunnel. + + ifIndex Each MPLS tunnel is represented by an + ifEntry. + + ifDescr Description of the MPLS tunnel. + + ifType The value that is allocated for MPLS + tunnel is 150. + + ifSpeed The total bandwidth in bits per second + for use by the MPLS tunnel. + + ifPhysAddress Unused. + + ifAdminStatus See [IFMIB]. + + ifOperStatus Assumes the value down(2) if the MPLS + tunnel is down. + + ifLastChange See [IFMIB]. + + ifInOctets The number of octets received over the + MPLS tunnel. + + ifOutOctets The number of octets transmitted over + the MPLS tunnel. + + ifInErrors The number of labeled packets dropped + due to uncorrectable errors. + + ifInUnknownProtos The number of received packets + discarded during packet header + validation, including packets with + unrecognized label values. + + ifOutErrors See [IFMIB]. + + ifName Textual name (unique on this system) of + the MPLS tunnel or an octet string of + zero length. + + ifLinkUpDownTrapEnable + Default is disabled (2). + + ifConnectorPresent Set to false (2). + + ifHighSpeed See [IFMIB]. + + ifHCInOctets The 64-bit version of ifInOctets; + supported if required by the compliance + statements in [IFMIB]. + + ifHCOutOctets The 64-bit version of ifOutOctets; + supported if required by the compliance + statements in [IFMIB]. + + ifAlias The non-volatile 'alias' name for the + MPLS tunnel as specified by a network + manager. + +8. Example of Tunnel Setup This section contains an example of which MIB objects - should be modified if one would like to create - loosely routed, unidirectional traffic engineered - tunnel, which spans two hops of a simple network. - Note that these objects should be created on the - "head-end" LSR. + should be modified if one would like to create a best + effort, loosely routed, unidirectional traffic engineered + tunnel, which spans two hops of a simple network. Note + that these objects should be created on the "head-end" + LSR. In mplsTunnelTable: { mplsTunnelIndex = 1, mplsTunnelInstance = 1, mplsTunnelName = "My first tunnel ", mplsTunnelDescr = "Here to there", mplsTunnelIsIf = true (1), mplsTunnelIfIndex = 12, - mplsTunnelDirection = in (1), - mplsTunnelXCIndex = 15, + mplsTunnelXCPointer = mplsXCIndex.2.0.0.15, mplsTunnelSignallingProto = none (1), - mplsTunnelLocalCookie = 123.123.123.1, - mplsTunnelRemoteCookie = 123.123.123.1, - mplsTunnelIsMergeable = false (1), mplsTunnelSetupPrio = 0, mplsTunnelHoldingPrio = 0, - mplsTunnelIsPersistent = false (1), mplsTunnelSessionAttributes = 0, mplsTunnelOwner = snmp (1), mplsTunnelLocalProtectInUse = false (0), - mplsTunnelResourceEntryIndex= 5, + mplsTunnelResourcePointer = mplsTunnelResourceIndex.5, mplsTunnelInstancePriority = 1, + mplsTunnelHopTableIndex = 1, mplsTunnelRowStatus = createAndGo (4) } In mplsTunnelResourceTable: { mplsTunnelResourceIndex = 5, - mplsTunnelInMaxRate = 100, - mplsTunnelInMeanRate = 100, - mplsTunnelInMaxBurstSize = 100, - mplsTunnelOutMaxRate = 100, - mplsTunnelOutMeanRate = 100, - mplsTunnelOutMaxBurstSize = 100, + mplsTunnelResourceMaxRate = 0, + mplsTunnelResourceMeanRate = 0, + mplsTunnelResourceMaxBurstSize = 0, mplsTunnelResourceRowStatus = createAndGo (4) } - The next two instances of mplsTunnelHopEntry are used - to denote the hops this tunnel will take across the - network. Note that mplsTunnelIndex, - mplsTunnelInstance, and mplsTunnelHopIndex are used to - index these objects. For the purposes of this example, - all entries in the MplsTunnelHopTable will use the - index of 1, which was defined for the mpslTunnelEntry - above. + 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. + 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. In mplsTunnelHopTable: { + mplsTunnelHopListIndex = 1, mplsTunnelHopIndex = 1, mplsTunnelHopAddrType = 1, mplsTunnelHopIpv4Addr = 123.123.125.1, mplsTunnelHopIpv4PrefixLen = 9, mplsTunnelHopStrictOrLoose = loose (2), 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. + 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. In mplsTunnelHopTable: + { + mplsTunnelHopListIndex = 1, mplsTunnelHopIndex = 2, mplsTunnelHopAddrType = 1, mplsTunnelHopIpv4Addr = 123.123.126.1, mplsTunnelHopIpv4PrefixLen = 9, mplsTunnelHopStrictOrLoose = loose (2), - mplsTunnelHopOwner = snmp (1), mplsTunnelHopRowStatus = createAndGo (4) } -7.1. Support of the MPLS Layer by ifTable - - Some specific interpretations of ifTable for the MPLS - layer follow. - - Object Use for the MPLS layer. - - ifIndex Each MPLS interface is represented by - an ifEntry. - - ifDescr Description of the MPLS interface. - - ifType The value that is allocated for MPLS is - . - - ifSpeed The total bandwidth in bits per second - for use by the MPLS layer. - - ifPhysAddress Unused. - - ifAdminStatus See [IFMIB]. - - ifOperStatus Assumes the value down(2) if the MPLS - layer is down. - - ifLastChange See [IFMIB]. - - ifInOctets The number of received octets over - the interface, i.e., the number of - received, octets received as labeled - packets. - - ifOutOctets The number of transmitted octets over - the interface, i.e., the number of - octets transmitted as labeled - packets. - - ifInErrors The number of labeled packets dropped - due to uncorrectable errors. - - ifInUnknownProtos The number of - received packets discarded during packet header -validation, - including packets with unrecognized label values. - - ifOutErrors See [IFMIB]. - - ifName Textual name (unique on this system) - of the interface or an octet string - of zero length. - - ifLinkUpDownTrapEnable Default is disabled (2). - - ifConnectorPresent Set to false (2). - - ifHighSpeed See [IFMIB]. - - ifHCInOctets The 64-bit version of ifInOctets; - supported if required by the - compliance statements in [IFMIB]. - - ifHCOutOctets The 64-bit version of ifOutOctets; - supported if required by the - compliance statements in [IFMIB]. +9. The Use of RowPointer - ifAlias The non-volatile 'alias' name for the - interface as specified by a network - manager. + 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. -8. MPLS Traffic Engineering MIB Definitions +10. MPLS Traffic Engineering MIB Definitions MPLS-TE-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, - experimental, Integer32, Counter32, Counter64, -Gauge32, - IpAddress + experimental, Integer32 FROM SNMPv2-SMI + MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF - TEXTUAL-CONVENTION, TruthValue, RowStatus + + TEXTUAL-CONVENTION, TruthValue, RowStatus, RowPointer, + StorageType, DisplayString, Unsigned32 FROM SNMPv2-TC - ifIndex, InterfaceIndex, InterfaceIndexOrZero + + InterfaceIndexOrZero FROM IF-MIB - MplsBitRate, MplsBurstSize - FROM MPLS-LSR-MIB; + + MplsBitRate, MplsBurstSize, MplsLSPID + FROM MPLS-LSR-MIB + + InetAddressIPv4, InetAddressIPv6 + FROM INET-ADDRESS-MIB; mplsTeMIB MODULE-IDENTITY LAST-UPDATED - "200003031200Z" -- 3 Mar 2000 12:00:00 EST + "200007141200Z" -- 14 July 2000 12:00:00 EST ORGANIZATION - "Multiprotocol Label Switching (MPLS) Working - Group" + "Multiprotocol Label Switching (MPLS) Working Group" CONTACT-INFO " Cheenu Srinivasan Postal: Tachion Networks, Inc. - 2 Meridian Road - Eatontown, NJ 0772 - Tel: +1 732 542 7750 x234 + Monmouth Park Corporate Center I + Building C, 185 Monmouth Park Highway + West Long Branch, NJ 07764 + Tel: +1-732-542-7750 x1234 Email: cheenu@tachion.com Arun Viswanathan - Postal: Force10 Networks + Postal: Force10 Networks, Inc. 1440 McCarthy Blvd Milpitas, CA 95035 Tel: +1-408-571-3516 Email: arun@force10networks.com Thomas D. Nadeau Postal: Cisco Systems, Inc. 250 Apollo Drive Chelmsford, MA 01824 Tel: +1-978-244-3051 Email: tnadeau@cisco.com" DESCRIPTION - "This MIB module contains managed object - definitions for MPLS Traffic Engineering (TE) as - defined in: Extensions to RSVP for LSP Tunnels, - Awduche et al, Internet Draft , March 1999; Constraint-Based - LSP Setup using LDP, B. Jamoussi, Internet Draft - , Feb. 1999; - Requirements for Traffic Engineering Over MPLS, - Awduche, D., J. Malcolm, J., Agogbua, J., - O'Dell, M., J. McManus, , September - 1999." + "This MIB module contains managed object definitions + for MPLS Traffic Engineering (TE) as defined in: + Extensions to RSVP for LSP Tunnels, Awduche et al, + Internet Draft , + March 1999; Constraint-Based LSP Setup using LDP, B. + Jamoussi, Internet Draft , Feb. 1999; Requirements for Traffic + Engineering Over MPLS, Awduche, D., J. Malcolm, J., + Agogbua, J., O'Dell, M., J. McManus, , + September 1999." -- Revision history. + REVISION - "199907161200Z" -- 16 July 1999 12:00:00 EST + "200007141200Z" -- 14 July 2000 12:00:00 EST DESCRIPTION - "Initial draft version." + "Updates based on MPLS WG feedback" REVISION - "200003101700Z" -- 10 March 2000 17:00:00 EST + "200005261200Z" -- 26 May 2000 12:00:00 EST DESCRIPTION - "Initial version, published as RFC xxxx." + "Updates based on MPLS WG feedback" + REVISION + "200003031200Z" -- 3 March 2000 12:00:00 EST + DESCRIPTION + "Updates based on MPLS WG feedback" + REVISION + "199907161200Z" -- 16 July 1999 12:00:00 EST + DESCRIPTION + "Initial draft version." ::= { experimental 95 } -- Textual Conventions. --- An MPLS label. -MplsLabel ::= TEXTUAL-CONVENTION - STATUS current - DESCRIPTION - "Represents an MPLS label. Note that the - contents of a label field are interpreted in an - interface-type specific fashion. For example, - the label carried in the MPLS shim header is 20 - bits wide and the top 12 bits must be zero. The - frame relay label can be either 10, 17 or 23 - bits wide depending on the size of the DLCI - field size and the top 22, 15, or 9 bits must be - zero, respectively. For an ATM interface, the - lowermost 16 bits are interpreted as the VCI, - the next 8 bits as the VPI and the remaining - bits must be zero. Also note the permissible - label values are also a function of the - interface type. For example, the value 3 has - special semantics in the control plane for an - MPLS shim header label and is not a valid label - value in the data path." - REFERENCE - "1. MPLS Label Stack Encoding, Rosen et al, draft- - ietf-mpls-label-encaps-04.txt, April 1999. - 2. Use of Label Switching on Frame Relay - Networks, Conta et al, draft-ietf-mpls-fr- - 03.txt, Nov. 1998." - SYNTAX Integer32 - MplsTunnelIndex ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION - "Primary index into mplsTunnelTable." - SYNTAX INTEGER (0..65535) - -MplsTunnelInstance ::= TEXTUAL-CONVENTION - STATUS current - DESCRIPTION - "Instance of the tunnel; secondary index into - mplsTunnelTable." - SYNTAX INTEGER (0..65535) - -MplsTunnelCookie ::= TEXTUAL-CONVENTION - STATUS current - DESCRIPTION - "A globally unique identifier that is assigned to - each ERLSP. This is assigned at the head end of - the ERLSP and can be used by all LSRs to - identify this ERLSP. At the head end this - cookie is maintained in the tunnel table as - mplsTunnelLocalCookie. For signaled tunnels - this cookie is piggybacked by the signaling - protocol to the remote end where the cookie is - stored in the remote LSR's tunnel table as - mplsTunnelRemoteCookie for the tunnel. For - creating bi-directional tunnels the cookie is - used to associate the two unidirectional ERLSPs - as belonging to the same tunnel. - - It is recommended that the cookie value be - assigned by concatenating the head-end LSR's IP - address with the tunnel index. For IPv4 - addresses this results in a 6-octet long - cookie." - SYNTAX OCTET STRING (SIZE (0..255)) - -Ipv6Address ::= TEXTUAL-CONVENTION - STATUS current - DESCRIPTION - "IPv6 address." - SYNTAX OCTET STRING (SIZE(16)) + "Index into mplsTunnelTable." + SYNTAX Integer32 (0..65535) -- Top level components of this MIB. -- tables, scalars mplsTeObjects OBJECT IDENTIFIER ::= { mplsTeMIB 1 } -- traps mplsTeNotifications OBJECT IDENTIFIER ::= { mplsTeMIB 2 } +mplsTeNotifyPrefix OBJECT IDENTIFIER ::= { mplsTeNotifications 0 } -- conformance mplsTeConformance OBJECT IDENTIFIER ::= { mplsTeMIB 3 } -- MPLS tunnel table. mplsTunnelIndexNext OBJECT-TYPE - SYNTAX Integer32 + SYNTAX Integer32 (0..65535) MAX-ACCESS read-only STATUS current DESCRIPTION - "This object contains the next appropriate value - to be used for mplsTunnelIndex when creating - entries in the mplsTunnelTable. If the number of - unassigned entries is exhausted, this object - will take on the value of 0. To obtain the - mplsTunnelIndex 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 - through its local policy when this index value - will be made available for reuse." + "This object contains the next appropriate value to + be used for mplsTunnelIndex 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 + 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 } mplsTunnelTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsTunnelEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION - "The mplsTunnelTable allows new MPLS tunnels to - be created between an LSR and a remote endpoint, - and existing tunnels to be reconfigured or - removed. Note that only point-to-point tunnel - segments are supported, although multi-point-to- - point and point-to-multi-point connections are - supported by an LSR acting as a cross-connect. - Each MPLS tunnel can thus have one out-segment - originating at this LSR and/or one in-segment - terminating at this LSR." + "The mplsTunnelTable allows new MPLS tunnels to be + created between an LSR and a remote endpoint, and + existing tunnels to be reconfigured or removed. + Note that only point-to-point tunnel segments are + supported, although multi-point-to-point and point- + to-multi-point connections are supported by an LSR + acting as a cross-connect. Each MPLS tunnel can + thus have one out-segment originating at this LSR + and/or one in-segment terminating at this LSR." ::= { mplsTeObjects 2 } mplsTunnelEntry OBJECT-TYPE SYNTAX MplsTunnelEntry 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 signaling 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 2233). The ifType of - this entry is mplsTunnel(150)." + "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 + signaling 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 2233). The ifType of this entry is + mplsTunnel(150)." REFERENCE - "1. RFC 2233 - The Interfaces Group MIB using - SMIv2, McCloghrie, K., and F. Kastenholtz, Nov. - 1997 - 2. RFC 1700 - Assigned Numbers, Reynolds, J. and - J. Postel, Oct. 1994" - INDEX { mplsTunnelIndex, mplsTunnelInstance } + "1. RFC 2233 - The Interfaces Group MIB using SMIv2, + McCloghrie, K., and F. Kastenholtz, Nov. 1997 + 2. RFC 1700 - Assigned Numbers, Reynolds, J. and J. + Postel, Oct. 1994" + INDEX { mplsTunnelIndex, mplsTunnelInstance, + mplsTunnelIngressLSRId } ::= { mplsTunnelTable 1 } MplsTunnelEntry ::= SEQUENCE { mplsTunnelIndex MplsTunnelIndex, - mplsTunnelInstance MplsTunnelInstance, + mplsTunnelInstance MplsTunnelIndex, + mplsTunnelIngressLSRId Unsigned32, mplsTunnelName DisplayString, mplsTunnelDescr DisplayString, mplsTunnelIsIf TruthValue, mplsTunnelIfIndex InterfaceIndexOrZero, - mplsTunnelDirection INTEGER, - mplsTunnelXCIndex Integer32, + mplsTunnelXCPointer RowPointer, mplsTunnelSignallingProto INTEGER, - mplsTunnelLocalCookie MplsTunnelCookie, - mplsTunnelRemoteCookie MplsTunnelCookie, mplsTunnelSetupPrio INTEGER, mplsTunnelHoldingPrio INTEGER, - mplsTunnelSessionAttributes INTEGER, + mplsTunnelSessionAttributes BITS, mplsTunnelOwner INTEGER, - mplsTunnelResourceEntryIndex INTEGER, + mplsTunnelLocalProtectInUse TruthValue, + mplsTunnelResourcePointer RowPointer, mplsTunnelInstancePriority Integer32, + mplsTunnelHopTableIndex Integer32, + mplsTunnelARHopTableIndex Integer32, mplsTunnelAdminStatus INTEGER, mplsTunnelOperStatus INTEGER, - mplsTunnelRowStatus RowStatus + mplsTunnelRowStatus RowStatus, + mplsTunnelStorageType StorageType } mplsTunnelIndex OBJECT-TYPE SYNTAX MplsTunnelIndex - MAX-ACCESS read-create + MAX-ACCESS not-accessible STATUS current DESCRIPTION "Uniquely identifies this row." ::= { mplsTunnelEntry 1 } mplsTunnelInstance OBJECT-TYPE SYNTAX MplsTunnelIndex - MAX-ACCESS read-create + 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 an instance of a tunnel. It is + useful to identify multiple instances of tunnels for + the purposes of backup and parallel tunnels." ::= { mplsTunnelEntry 2 } +mplsTunnelIngressLSRId OBJECT-TYPE + SYNTAX Unsigned32 (0..4294967295) + 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 + protoocol is rsvp(2) this value should mimic the + Extended Tunnel Id field in the Session object. When + the MPLS signalling protoocol 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, Internet Draft , February 2000., + 2. Constraint-Based LSP Setup using LDP, Jamoussi, + Internet Draft , + September 1999." + ::= { mplsTunnelEntry 3 } + mplsTunnelName OBJECT-TYPE SYNTAX DisplayString 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 2233." + "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 2233." REFERENCE "RFC 2233 - The Interfaces Group MIB using SMIv2, McCloghrie, K., and F. Kastenholtz, Nov. 1997" - ::= { mplsTunnelEntry 3 } + ::= { mplsTunnelEntry 4 } mplsTunnelDescr OBJECT-TYPE SYNTAX DisplayString 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." - ::= { mplsTunnelEntry 4 } + "A textual string containing information about the + tunnel. If there is no description this object + contains a zero length string." + ::= { mplsTunnelEntry 5 } 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 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 2233." + "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 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 2233." REFERENCE "RFC 2233 - The Interfaces Group MIB using SMIv2, McCloghrie, K., and F. Kastenholtz, Nov. 1997" DEFVAL { false } - ::= { mplsTunnelEntry 5 } + ::= { mplsTunnelEntry 6 } mplsTunnelIfIndex OBJECT-TYPE SYNTAX InterfaceIndexOrZero MAX-ACCESS read-only STATUS current DESCRIPTION - "If mplsTunnelIsIf is set to true, then this - value 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." + "If mplsTunnelIsIf is set to true, then this value + 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 2233 - The Interfaces Group MIB using SMIv2, McCloghrie, K., and F. Kastenholtz, Nov. 1997" - ::= { mplsTunnelEntry 6 } - -mplsTunnelDirection OBJECT-TYPE - SYNTAX INTEGER { in(1), out(2), in-out(3) } - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "Indicates whether this tunnel is unidirectional- - incoming, unidirectional-outgoing, or bi- - directional." ::= { mplsTunnelEntry 7 } -mplsTunnelXCIndex OBJECT-TYPE - SYNTAX Integer32 +mplsTunnelXCPointer OBJECT-TYPE + SYNTAX RowPointer MAX-ACCESS read-create STATUS current DESCRIPTION - "This variable represents an index into the - mplsXCTable. This table identifies the segments - that compose this tunnel, their characteristics, - and relationships to each other." + "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 Switch Router Management Information - Base Using SMIv2, Internet Draft , March 2000." - DEFVAL { 0 } + "Srinivasan, C., Viswanathan, A., and T. Nadeau, MPLS + Label Switch Router Management Information Base + Using SMIv2, Internet Draft , April 26, 2000." ::= { mplsTunnelEntry 8 } mplsTunnelSignallingProto OBJECT-TYPE - SYNTAX INTEGER { none(1), ldp(2), rsvp(3), -other(4) } + SYNTAX INTEGER { + none(1), + rsvp(2), + crldp(3), + other(4) + } MAX-ACCESS read-create STATUS current DESCRIPTION - "The signaling protocol, if any, which was used - to setup this tunnel." + "The signaling protocol, if any, which was used to + setup this tunnel." DEFVAL { none } ::= { mplsTunnelEntry 9 } -mplsTunnelLocalCookie OBJECT-TYPE - SYNTAX MplsTunnelCookie - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The local cookie assigned to the outgoing - direction of this tunnel at this LSR." - ::= { mplsTunnelEntry 10 } - -mplsTunnelRemoteCookie OBJECT-TYPE - SYNTAX MplsTunnelCookie - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The remote cookie assigned to the incoming - direction of tunnel by the remote (head-end) - LSR." - ::= { mplsTunnelEntry 11 } - mplsTunnelSetupPrio OBJECT-TYPE SYNTAX INTEGER (0..7) MAX-ACCESS read-create STATUS current DESCRIPTION "Indicates the setup priority of this tunnel." REFERENCE - "1. Extensions to RSVP for LSP Tunnels, Awduche - et al, Internet Draft , March 1999., - 2. Constraint-Based LSP Setup using LDP, - Jamoussi, Internet Draft , Feb. 1999." - ::= { mplsTunnelEntry 12 } + "1. RSVP-TE: Extensions to RSVP for LSP Tunnels, + Awduche et al, Internet Draft , February 2000., + 2. Constraint-Based LSP Setup using LDP, Jamoussi, + Internet Draft , + September 1999." + ::= { mplsTunnelEntry 10 } mplsTunnelHoldingPrio OBJECT-TYPE SYNTAX INTEGER (0..7) MAX-ACCESS read-create STATUS current DESCRIPTION "Indicates the holding priority for this tunnel." REFERENCE - "1. Extensions to RSVP for LSP Tunnels, Awduche - et al, Internet Draft , March 1999. - 2. Constraint-Based LSP Setup using LDP, B. - Jamoussi, Internet Draft , Feb. 1999." - ::= { mplsTunnelEntry 13 } + "1. RSVP-TE: Extensions to RSVP for LSP Tunnels, + Awduche et al, Internet Draft , February 2000., + 2. Constraint-Based LSP Setup using LDP, Jamoussi, + Internet Draft , + September 1999." + ::= { mplsTunnelEntry 11 } mplsTunnelSessionAttributes OBJECT-TYPE SYNTAX BITS { - ingressMayReroute (0), + fastReroute (0), mergingPermitted (1), isPersistent (2), localProtectionAvailable (3), isPinned (4) } MAX-ACCESS read-create STATUS current DESCRIPTION - "This bitmask indicates optional session values - for this tunnel. The following describes these + "This bitmask indicates optional session values for + this tunnel. The following describes these bitfields: - fastReroute: This flag indicates that the tunnel - ingress node may choose to reroute this tunnel - without tearing it down. + fastReroute This flag indicates that the + any tunnel hop may choose to + reroute this tunnel without + tearing it down. - mergingPermitted: This flag permits transit - routers to merge this session with other RSVP - sessions for the purpose of reducing resource - overhead on downstream transit routers, thereby - providing better network scalability. + mergingPermitted This flag permits transit + routers to merge this session + with other RSVP sessions for + the purpose of reducing + resource overhead on + downstream transit routers, + thereby providing better + network scalability. - isPersistent: Indicates whether this tunnel - should be restored automatically after a failure + isPersistant Indicates whether this tunnel + should be restored + automatically after a failure occurs. - localProtectionAvailable: This flag permits - transit routers to use a local repair mechanism - which may result in violation of the explicit - routing of this tunnel. When a fault is - det4ected on an adjacent downstream link or - node, a transit router can reroute traffic for - fast service restoration. + localProtectionAvailable This flag permits transit + routers to use a local repair + mechanism which may result in + violation of the explicit + routing of this tunnel. When a + fault is detected on an + adjacent downstream link or + node, a transit router can + reroute traffic for fast + service restoration. - isPinned: This flag Indicates whether the loose- - routed hops of this tunnel are to be pinned." + isPinned This flag indicates whether + the loose-routed hops of this + tunnel are to be pinned." REFERENCE - "Extensions to RSVP for LSP Tunnels, Awduche et - al, Internet Draft , March 1999." - ::= { mplsTunnelEntry 14 } + "1. RSVP-TE: Extensions to RSVP for LSP Tunnels, + Awduche et al, Internet Draft , February 2000." + DEFVAL { 0 } + ::= { mplsTunnelEntry 12 } mplsTunnelOwner OBJECT-TYPE SYNTAX INTEGER { - snmp (1), - ldp (2), - rsvp (3), + admin(1), -- represents all management entities + rsvp(2), + crldp(3), policyAgent (4), other (5) } MAX-ACCESS read-create STATUS current DESCRIPTION - "Indicates which protocol created and is - responsible for managing this tunnel." + "Indicates which protocol created and is responsible + for managing this tunnel. Values rsvp(2) and + crldp(3) should not be used at the head-end of a + MPLS tunnel." + ::= { mplsTunnelEntry 13 } + +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 14 } + +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." ::= { mplsTunnelEntry 15 } -mplsTunnelResourceEntryIndex OBJECT-TYPE - SYNTAX Unsigned32 +mplsTunnelInstancePriority OBJECT-TYPE + SYNTAX Integer32 (0..2147483647) MAX-ACCESS read-create STATUS current DESCRIPTION - "Indicates which entry from the - mplsTunnelResourceTable is currently in use by - this tunnel." + "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 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 16 } -mplsTunnelInstancePriority OBJECT-TYPE - SYNTAX Unsigned32 +mplsTunnelHopTableIndex OBJECT-TYPE + SYNTAX Integer32 (0..2147483647) 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 mplsTunnelIndex in this - table, but with a different mplsTunnelInstance. - Tunnel group priorities are used to denote the - priority at which particular a tunnel instance - will supercede another. Instances of tunnels - containing the same mplsTunnelInstancePriority - will be used for load sharing." + "Index into the mplsTunnelHopTable entry that + specifies the explicit route hops for this tunnel." ::= { mplsTunnelEntry 17 } +mplsTunnelARHopTableIndex OBJECT-TYPE + SYNTAX Integer32 (0..2147483647) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Index into the mplsTunnelARHopTable entry that + specifies the actual hops traversed by the tunnel." + ::= { mplsTunnelEntry 18 } + mplsTunnelAdminStatus OBJECT-TYPE SYNTAX INTEGER { up(1), -- ready to pass packets down(2), testing(3) -- in some test mode } MAX-ACCESS read-create STATUS current DESCRIPTION "Indicates the desired operational status of this tunnel." - ::= { mplsTunnelEntry 18 } + ::= { mplsTunnelEntry 19 } mplsTunnelOperStatus OBJECT-TYPE SYNTAX INTEGER { up(1), -- ready to pass packets down(2), testing(3), -- in some test mode unknown(4), -- status cannot be determined dormant(5), notPresent(6), -- some component is missing lowerLayerDown(7) -- down due to the state of -- lower layer interfaces } MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the actual operational status of this tunnel, which is typically but not limited to, a - function of the state of individual segments of - this tunnel." - ::= { mplsTunnelEntry 19 } + function of the state of individual segments of this + tunnel." + ::= { mplsTunnelEntry 20 } 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." - ::= { mplsTunnelEntry 20 } - --- End of mplsTunnelTable - --- Begin of mplsTunnelResourceTable - -mplsTunnelResourceIndexNext OBJECT-TYPE - SYNTAX Integer32 - 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, this object will take on the value of - 0. 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 through its local policy - when this index value will be made available for - reuse." -::= { mplsTeObjects 3 } - -mplsTunnelResourceTable OBJECT-TYPE - SYNTAX SEQUENCE OF MplsTunnelResourceEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "The mplsTunnelResourceTable allows a manager to - specify which resources are desired for an MPLS - tunnel. This table also allows several tunnels - to point to a single entry in this table, - implying that these tunnels should share - resources." - ::= { mplsTeObjects 4 } - -mplsTunnelResourceEntry OBJECT-TYPE - SYNTAX MplsTunnelResourceEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "An entry in this table represents a set of - resources for an MPLS tunnel. An entry can be - created by a network administrator or by an SNMP - agent as instructed by any MPLS signaling - protocol." - INDEX { mplsTunnelResourceIndex } - ::= { mplsTunnelResourceTable 1 } - -MplsTunnelResourceEntry ::= SEQUENCE { - mplsTunnelResourceIndex Unsigned32, - mplsTunnelResourceInMaxRate MplsBitRate, - mplsTunnelResourceInMeanRate MplsBitRate, - mplsTunnelResourceInMaxBurstSize MplsBurstSize, - mplsTunnelResourceOutMaxRate MplsBitRate, - mplsTunnelResourceOutMeanRate MplsBitRate, - mplsTunnelResourceOutMaxBurstSize MplsBurstSize, - mplsTunnelResourceRowStatus RowStatus - } - -mplsTunnelResourceIndex OBJECT-TYPE - SYNTAX Unsigned32 - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "Uniquely identifies this row." -::= { mplsTunnelResourceEntry 1 } - -mplsTunnelResourceInMaxRate OBJECT-TYPE - SYNTAX MplsBitRate - UNITS "bits per second" - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The maximum incoming rate in bits/second. Note - that setting mplsTunnelInMaxRate, - mplsTunnelInMeanRate, and - mplsTunnelInMaxBurstSize to 0 indicates best- - effort treatment. - This object is copied to an instance of - mplsTSpecMaxRate in mplsTSpecTable the index of - which is copied into the corresponding - mplsInSegmentTSpecIndex." - REFERENCE - "Srinivasan, C., Viswanathan, A., and T. Nadeau, - MPLS Label Switch Router Management Information - Base Using SMIv2, Internet Draft , March 2000." - DEFVAL { 0 } - ::= { mplsTunnelResourceEntry 2 } - -mplsTunnelResourceInMeanRate OBJECT-TYPE - SYNTAX MplsBitRate - UNITS "bits per second" - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "This object is copied into an instance of - mplsTSpecMeanRate in the mplsTSpecTable. The - index of this table is then copied into the - corresponding mplsInSegmentTSpecIndex. - - When resource allocation is performed as - requested by this TSpec object, it is copied - into an entry in mplsTSpecTable [LSRMIB]: - mplsTunnelInMeanRate to mplsTSpecMeanRate. The - mplsTSpecDirection of this entry is set to - ‘in’(1). The mplsTSpecIndex value of this entry - is copied to mplsInSegmentTSpecIndex of the - corresponding in-segment entry." - REFERENCE - "Srinivasan, C., Viswanathan, A., and T. Nadeau, - MPLS Label Switch Router Management Information - Base Using SMIv2, Internet Draft , Feb. 2000." - DEFVAL { 0 } - ::= { mplsTunnelResourceEntry 3 } - -mplsTunnelResourceInMaxBurstSize 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 - corresponding in-segment. - - When resource allocation is performed as - requested by this TSpec object, it is copied - into an entry in mplsTSpecTable [LSRMIB]: - mplsTunnelInMaxBurstSize to - mplsTSpecMaxBurstSize. The mplsTSpecDirection of - this entry is set to ‘in’ (1). The - mplsTSpecIndex value of this entry is copied to - mplsInSegmentTSpecIndex of the corresponding in- - segment entry." - REFERENCE - "Srinivasan, C., Viswanathan, A., and T. Nadeau, - MPLS Label Switch Router Management Information - Base Using SMIv2, Internet Draft , March 2000." - DEFVAL { 0 } - ::= { mplsTunnelResourceEntry 4 } - -mplsTunnelResourceOutMaxRate OBJECT-TYPE - SYNTAX MplsBitRate - UNITS "bits per second" - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The maximum outgoing rate in bits/second. Note - that setting mplsTunnelOutMaxRate to 0 indicates - best-effort treatment. This object is copied to - mplsOutSegmentMaxRate of the corresponding out- - segment. - - When resource allocation is performed as - requested by the following outgoing TSpec - object, it is copied into an entry in - mplsTSpecTable [LSRMIB] as follows: - mplsTunnelOutMaxRate to mplsTSpecMaxRate. Also - note that the mplsTSpecDirection of this entry - is set to out (2). The mplsTSpecIndex value of - this entry is copied to mplsOutSegmentTSpecIndex - of the corresponding out-segment entry." - REFERENCE - "Srinivasan, C., Viswanathan, A., and Nadeau, T., - MPLS Label Switch Router Management Information - Base Using SMIv2, Internet Draft , March 2000." - DEFVAL { 0 } - ::= { mplsTunnelResourceEntry 5 } - -mplsTunnelResourceOutMeanRate OBJECT-TYPE - SYNTAX MplsBitRate - UNITS "bits per second" - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The mean outgoing rate in bits/second. Note that - setting mplsTunnelOutMeanRate to 0 indicates - best-effort treatment. This object is copied to - mplsOutSegmentMeanRate of the corresponding out- - segment. - - When resource allocation is performed as - requested by the following outgoing TSpec - object, it is copied into an entry in - mplsTSpecTable [LSRMIB] as follows: - mplsTunnelOutMeanRate to mplsTSpecMeanRate. Also - note that the mplsTSpecDirection of this entry - is set to out (2). The mplsTSpecIndex value of - this entry is copied to mplsOutSegmentTSpecIndex - of the corresponding out-segment entry." - REFERENCE - "Srinivasan, C., Viswanathan, A., and T. Nadeau, - MPLS Label Switch Router Management Information - Base Using SMIv2, Internet Draft , March 2000." - DEFVAL { 0 } - ::= { mplsTunnelResourceEntry 6 } - -mplsTunnelResourceOutMaxBurstSize OBJECT-TYPE - SYNTAX MplsBurstSize - UNITS "bytes" - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The maximum burst size in bytes. This object is - copied to mplsOutSegmentMaxBurstSize of the - corresponding out-segment. Note that setting - mplsTunnelOutMaxBurstSize to 0 indicates best- - effort treatment. - - When resource allocation is performed as - requested by the following outgoing TSpec - object, it is copied into an entry in - mplsTSpecTable [LSRMIB] as follows: - mplsTunnelOutMaxBurstSize to - mplsTSpecMaxBurstSize. Also note that the - mplsTSpecDirection of this entry is set to out - (2). The mplsTSpecIndex value of this entry is - copied to mplsOutSegmentTSpecIndex of the - corresponding out-segment entry." - REFERENCE - "Srinivasan, C., Viswanathan, A., and T. Nadeau, - MPLS Label Switch Router Management Information - Base Using SMIv2, Internet Draft , March 2000." - DEFVAL { 0 } -::= { mplsTunnelResourceEntry 7 } + ::= { mplsTunnelEntry 21 } -mplsTunnelResourceRowStatus OBJECT-TYPE - SYNTAX RowStatus +mplsTunnelStorageType OBJECT-TYPE + SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION - "This variable is used to create, modify, and/or - delete a row in this table." -::= { mplsTunnelResourceEntry 8 } + "This variable indicates the storage type for this + object." + ::= { mplsTunnelEntry 22 } --- End mplsTunnelResourceTable +-- End of mplsTunnelTable -- Maximum number of tunnel hops supported. mplsTunnelMaxHops OBJECT-TYPE - SYNTAX Unsigned32 + SYNTAX Integer32 (1..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION - "The maximum number of hops that can be specified - for a tunnel on this device." - ::= { mplsTeObjects 5 } + "The maximum number of hops that can be specified for + a tunnel on this device." + ::= { mplsTeObjects 3 } -- Tunnel hop table. +mplsTunnelHopIndexNext OBJECT-TYPE + SYNTAX Integer32 (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 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 index. 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 4 } + mplsTunnelHopTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsTunnelHopEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION - "The mplsTunnelHopTable is used to indicate the - hops, strict or loose, for an MPLS tunnel - defined in mplsTunnelTable, when it is - established via signaling, for the outgoing - direction of the tunnel. Each row in this table - is indexed primarily by the same index, - mplsTunnelIndex, as the row of the corresponding - tunnel in mplsTunnelTable. Each row also has a - secondary index mplsTunnelHopIndex corresponding - to the next hop that this row corresponds to. - The first row in the table is the first hop - after the origination point of the tunnel. In - case we want to specify a particular interface - on the originating LSR of an outgoing tunnel by - which we want packets to exit the LSR, we - specify this as the first hop for this tunnel in + "The mplsTunnelHopTable is used to indicate the hops, + strict or loose, for an MPLS tunnel defined in + mplsTunnelTable, when it is established via + signaling, for the outgoing direction of the tunnel. + Each row in this table is indexed primarily by the + same index, mplsTunnelIndex, as the row of the + corresponding tunnel in mplsTunnelTable. Each row + also has a secondary index mplsTunnelHopIndex + corresponding to the next hop that this row + corresponds to. The first row in the table is the + first hop after the origination point of the tunnel. + In case we want to specify a particular interface on + the originating LSR of an outgoing tunnel by which + we want packets to exit the LSR, we specify this as + the first hop for this tunnel in mplsTunnelHopTable." - ::= { mplsTeObjects 6 } + ::= { mplsTeObjects 5 } mplsTunnelHopEntry OBJECT-TYPE SYNTAX MplsTunnelHopEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION - "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 signaling + "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 signaling protocol." - INDEX { mplsTunnelIndex, mplsTunnelInstance, -mplsTunnelHopIndex } + INDEX { mplsTunnelHopListIndex, mplsTunnelHopIndex } ::= { mplsTunnelHopTable 1 } MplsTunnelHopEntry ::= SEQUENCE { + mplsTunnelHopListIndex Integer32, mplsTunnelHopIndex Integer32, mplsTunnelHopAddrType INTEGER, - mplsTunnelHopIpv4Addr IpAddress, + mplsTunnelHopIpv4Addr InetAddressIPv4, mplsTunnelHopIpv4PrefixLen INTEGER, - mplsTunnelHopIpv6Addr Ipv6Address, + mplsTunnelHopIpv6Addr InetAddressIPv6, mplsTunnelHopIpv6PrefixLen INTEGER, mplsTunnelHopAsNumber INTEGER, + mplsTunnelHopLspId MplsLSPID, mplsTunnelHopStrictOrLoose INTEGER, - mplsTunnelHopRowStatus RowStatus + mplsTunnelHopRowStatus RowStatus, + mplsTunnelHopStorageType StorageType } +mplsTunnelHopListIndex OBJECT-TYPE + SYNTAX Integer32 (1..2147483647) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Primary index into this table identifying a + particular explicit route object." + ::= { mplsTunnelHopEntry 1 } + mplsTunnelHopIndex OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-create + SYNTAX Integer32 (1..2147483647) + MAX-ACCESS not-accessible STATUS current DESCRIPTION - "Secondary index into this table identifying the + "Secondary index into this table identifying a particular hop." - ::= { mplsTunnelHopEntry 1 } + ::= { mplsTunnelHopEntry 2 } mplsTunnelHopAddrType OBJECT-TYPE - SYNTAX INTEGER { ipV4(1), ipV6(2), asNumber(3) + SYNTAX INTEGER { + ipV4(1), + ipV6(2), + asNumber(3), + lspid(4) } MAX-ACCESS read-create STATUS current DESCRIPTION "Denotes the address type of this tunnel hop." DEFVAL { ipV4 } - ::= { mplsTunnelHopEntry 2 } + ::= { mplsTunnelHopEntry 3 } mplsTunnelHopIpv4Addr OBJECT-TYPE - SYNTAX IpAddress + SYNTAX InetAddressIPv4 MAX-ACCESS read-create STATUS current DESCRIPTION "If mplsTunnelHopAddrType is set to ipV4(1), then this value will contain the IPv4 address of this hop. This object is otherwise insignificant and should contain a value of 0." - ::= { mplsTunnelHopEntry 3 } + ::= { mplsTunnelHopEntry 4 } mplsTunnelHopIpv4PrefixLen OBJECT-TYPE SYNTAX INTEGER (1..32) MAX-ACCESS read-create STATUS current DESCRIPTION - "If mplsTunnelHopAddrType is ipV4(1), then the - prefix length for this hop's IPv4 address is - contained herein. This object is otherwise - insignificant and should contain a value of 0." - ::= { mplsTunnelHopEntry 4 } + "If mplsTunnelHopAddrType is ipV4(1), then the prefix + length for this hop's IPv4 address is contained + herein. This object is otherwise insignificant and + should contain a value of 0." + ::= { mplsTunnelHopEntry 5 } mplsTunnelHopIpv6Addr OBJECT-TYPE - SYNTAX Ipv6Address + SYNTAX InetAddressIPv6 MAX-ACCESS read-create STATUS current DESCRIPTION - "If the mplsTunnelHopAddrType is set to ipV6(2), - then this variable contains the IPv6 address of - this hop. This object is otherwise - insignificant and should contain a value of 0." - ::= { mplsTunnelHopEntry 5 } + "If the mplsTunnelHopAddrType is set to ipV6(2), then + this variable contains the IPv6 address of this hop. + This object is otherwise insignificant and should + contain a value of 0." + ::= { mplsTunnelHopEntry 6 } mplsTunnelHopIpv6PrefixLen OBJECT-TYPE SYNTAX INTEGER (1..128) MAX-ACCESS read-create STATUS current DESCRIPTION "If mplsTunnelHopAddrType is set to ipV6(2), this - value will contain the prefix length for this - hop's IPv6 address. This object is otherwise - insignificant and should contain a value of 0." - ::= { mplsTunnelHopEntry 6 } + value will contain the prefix length for this hop's + IPv6 address. This object is otherwise insignificant + and should contain a value of 0." + ::= { mplsTunnelHopEntry 7 } mplsTunnelHopAsNumber OBJECT-TYPE SYNTAX INTEGER (0..65535) MAX-ACCESS read-create STATUS current DESCRIPTION - "If mplsTunnelHopAddrType 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." - ::= { mplsTunnelHopEntry 7 } + "If mplsTunnelHopAddrType 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." + ::= { mplsTunnelHopEntry 8 } + +mplsTunnelHopLspId OBJECT-TYPE + SYNTAX MplsLSPID + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "If mplsTunnelHopAddrType is set to lspid(4), then + this value will contain the LSPID of a tunnel of + this hop. The present tuunel 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 } mplsTunnelHopStrictOrLoose OBJECT-TYPE - SYNTAX INTEGER { strict(1), loose(2) } + SYNTAX INTEGER { + strict(1), + loose(2) + } MAX-ACCESS read-create STATUS current DESCRIPTION - "Denotes whether this is tunnel hop is routed in - a strict or loose fashion." - ::= { mplsTunnelHopEntry 8 } + "Denotes whether this tunnel hop is routed in a + strict or loose fashion." + ::= { mplsTunnelHopEntry 10 } 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." - ::= { mplsTunnelHopEntry 9 } + ::= { mplsTunnelHopEntry 11 } + +mplsTunnelHopStorageType OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This variable indicates the storage type for this + object." + ::= { mplsTunnelHopEntry 12 } -- End of mplsTunnelHopTable +-- Begin of mplsTunnelResourceTable + +mplsTunnelResourceIndexNext OBJECT-TYPE + SYNTAX Integer32 (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 + 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 + through its local policy when this index value will + be made available for reuse." + ::= { mplsTeObjects 6 } + +mplsTunnelResourceTable OBJECT-TYPE + SYNTAX SEQUENCE OF MplsTunnelResourceEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The mplsTunnelResourceTable allows a manager to + specify which resources are desired for an MPLS + tunnel. This table also allows several tunnels to + point to a single entry in this table, implying that + these tunnels should share resources." + ::= { mplsTeObjects 7 } + +mplsTunnelResourceEntry OBJECT-TYPE + SYNTAX MplsTunnelResourceEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in this table represents a set of resources + for an MPLS tunnel. An entry can be created by a + network administrator or by an SNMP agent as + instructed by any MPLS signaling protocol." + INDEX { mplsTunnelResourceIndex } + ::= { mplsTunnelResourceTable 1 } + +MplsTunnelResourceEntry ::= SEQUENCE { + mplsTunnelResourceIndex Integer32, + mplsTunnelResourceMaxRate MplsBitRate, + mplsTunnelResourceMeanRate MplsBitRate, + mplsTunnelResourceMaxBurstSize MplsBurstSize, + mplsTunnelResourceRowStatus RowStatus, + mplsTunnelResourceStorageType StorageType + } + +mplsTunnelResourceIndex OBJECT-TYPE + SYNTAX Integer32 (1..2147483647) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Uniquely identifies this row." + ::= { mplsTunnelResourceEntry 1 } + +mplsTunnelResourceMaxRate OBJECT-TYPE + SYNTAX MplsBitRate + UNITS "bits per second" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The maximum rate in bits/second. Note that setting + mplsTunnelResourceMaxRate, + mplsTunnelResourceMeanRate, and + mplsTunnelResourceMaxBurstSize to 0 indicates best- + effort treatment. + This object is copied to an instance of + mplsTSpecMaxRate in mplsTSpecTable the index of + which is copied into the corresponding + mplsInSegmentTSpecIndex." + REFERENCE + "Srinivasan, C., Viswanathan, A., and T. Nadeau, MPLS + Label Switch Router Management Information Base + Using SMIv2, Internet Draft , April 26, 2000." + ::= { 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 + mplsTSpecMeanRate in the mplsTSpecTable. The index + of this table is then copied into the corresponding + mplsInSegmentTSpecIndex. + + When resource allocation is performed as requested + by this TSpec object, it is copied into an entry in + mplsTSpecTable [LSRMIB]: mplsTunnelInMeanRate to + mplsTSpecMeanRate. The mplsTSpecDirection of this + entry is set to ‘in’(1). The mplsTSpecIndex value + of this entry is copied to mplsInSegmentTSpecIndex + of the corresponding in-segment entry." + + REFERENCE + "Srinivasan, C., Viswanathan, A., and T. Nadeau, MPLS + Label Switch Router Management Information Base + Using SMIv2, Internet Draft , April 26, 2000." + ::= { 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 + corresponding in-segment. + + When resource allocation is performed as requested + by this TSpec object, it is copied into an entry in + mplsTSpecTable [LSRMIB]: mplsTunnelInMaxBurstSize to + mplsTSpecMaxBurstSize. The mplsTSpecDirection of + this entry is set to ‘in’(1). The mplsTSpecIndex + value of this entry is copied to + mplsInSegmentTSpecIndex of the corresponding in- + segment entry." + REFERENCE + "Srinivasan, C., Viswanathan, A., and T. Nadeau, MPLS + Label Switch Router Management Information Base + Using SMIv2, Internet Draft , April 26, 2000." + ::= { mplsTunnelResourceEntry 4 } + +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." + ::= { mplsTunnelResourceEntry 5 } + +mplsTunnelResourceStorageType OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This variable indicates the storage type for this + object." + ::= { mplsTunnelResourceEntry 6 } + +-- End mplsTunnelResourceTable + -- Tunnel Actual Route Hop table. mplsTunnelARHopTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsTunnelARHopEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The mplsTunnelARHopTable is used to indicate the - (A)ctual (R)oute hops, for an MPLS tunnel - defined in mplsTunnelTable, as set up by the - specified MPLS signaling protocol, for the - outgoing direction of the tunnel. Each row in - this table is indexed primarily by the same - indices, mplsTunnelIndex and mplsTunnelInstance, - as the row of the corresponding tunnel in - mplsTunnelTable. Each row also has a third - index mplsTunnelARHopIndex, corresponding to the - next hop that this row corresponds to. The - first row in the table is the first hop after - the origination point of the tunnel. + hops, strict or loose, for an MPLS tunnel defined in + mplsTunnelTable, as reported by the MPLS signaling + protocol, for the outgoing direction of the tunnel. + Each row in this table is indexed primarily by the + same indices, mplsTunnelIndex and + mplsTunnelInstance, as the row of the corresponding + tunnel in mplsTunnelTable. Each row also has a + third index mplsTunnelARHopIndex, corresponding to + the next hop that this row corresponds to. The + first row in the table is the first hop after the + origination point of the tunnel. In case we want to + specify a particular interface on the originating + LSR of an outgoing tunnel by which we want packets + to exit the LSR, we specify this as the first hop + for this tunnel in mplsTunnelARHopTable. - Please note that since the information necessary - to build entries within this table are not - provided by some MPLS signaling protocols; hence - implementation of this table is optional. The - information in this table is available from the - MPLS signaling protocol after the path has been - set-up." - ::= { mplsTeObjects 7 } + Please note that since the information necessary to + build entries within this table are not provided by + some MPLS signaling protocols, implementation of + this table is optional. Furthermore, since the + information in this table is actually provided by + the MPLS signaling protocol after the path has been + set-up, the entries in this table are provided only + for observation, and hence, all variables in this + table are accessible exclusively as read-only." + ::= { mplsTeObjects 8 } mplsTunnelARHopEntry OBJECT-TYPE SYNTAX MplsTunnelARHopEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION - "An entry in this table represents an currently - active tunnel hop. An entry is created in this - table by the MPLS signaling protocol when the - active path for this tunnel is known." - INDEX { mplsTunnelIndex, mplsTunnelInstance, - -mplsTunnelARHopIndex } + "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 signaling + protocol." + INDEX { mplsTunnelARHopListIndex, mplsTunnelARHopIndex } ::= { mplsTunnelARHopTable 1 } MplsTunnelARHopEntry ::= SEQUENCE { + mplsTunnelARHopListIndex Integer32, mplsTunnelARHopIndex Integer32, mplsTunnelARHopAddrType INTEGER, - mplsTunnelARHopIpv4Addr IpAddress, + mplsTunnelARHopIpv4Addr InetAddressIPv4, mplsTunnelARHopIpv4PrefixLen INTEGER, - mplsTunnelARHopIpv6Addr Ipv6Address, + mplsTunnelARHopIpv6Addr InetAddressIPv6, mplsTunnelARHopIpv6PrefixLen INTEGER, - mplsTunnelARHopAsNumber INTEGER + mplsTunnelARHopAsNumber INTEGER, + mplsTunnelARHopStrictOrLoose INTEGER } +mplsTunnelARHopListIndex OBJECT-TYPE + SYNTAX Integer32 (1..2147483647) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Primary index into this table identifying a + particular recorded hop list." + ::= { mplsTunnelARHopEntry 1 } + mplsTunnelARHopIndex OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only + SYNTAX Integer32 (1..2147483647) + MAX-ACCESS not-accessible STATUS current DESCRIPTION "Secondary index into this table identifying the particular hop." - ::= { mplsTunnelARHopEntry 1 } + ::= { mplsTunnelARHopEntry 2 } mplsTunnelARHopAddrType OBJECT-TYPE - SYNTAX INTEGER { ipV4(1), ipV6(2), asNumber(3) + SYNTAX INTEGER { + ipV4(1), + ipV6(2), + asNumber(3) } MAX-ACCESS read-only STATUS current DESCRIPTION "Denotes the address type of this tunnel hop." DEFVAL { ipV4 } - ::= { mplsTunnelARHopEntry 2 } + ::= { mplsTunnelARHopEntry 3 } mplsTunnelARHopIpv4Addr OBJECT-TYPE - SYNTAX IpAddress + SYNTAX InetAddressIPv4 MAX-ACCESS read-only STATUS current DESCRIPTION - "If mplsTunnelARHopAddrType is set to ipV4(1), - then this value will contain the IPv4 address of - this hop. This object is otherwise insignificant - and should contain a value of 0." - ::= { mplsTunnelARHopEntry 3 } + "If mplsTunnelARHopAddrType is set to ipV4(1), then + this value will contain the IPv4 address of this + hop. This object is otherwise insignificant and + should contain a value of 0." + ::= { mplsTunnelARHopEntry 4 } mplsTunnelARHopIpv4PrefixLen OBJECT-TYPE SYNTAX INTEGER (1..32) MAX-ACCESS read-only STATUS current DESCRIPTION "If mplsTunnelARHopAddrType is ipV4(1), then the prefix length for this hop's IPv4 address is contained herein. This object is otherwise insignificant and should contain a value of 0." - ::= { mplsTunnelARHopEntry 4 } + ::= { mplsTunnelARHopEntry 5 } mplsTunnelARHopIpv6Addr OBJECT-TYPE - SYNTAX Ipv6Address + SYNTAX InetAddressIPv6 MAX-ACCESS read-only STATUS current DESCRIPTION - "If the mplsTunnelARHopAddrType is set to - ipV6(2), then this variable contains the IPv6 - address of this hop. This object is otherwise - insignificant and should contain a value of 0." - ::= { mplsTunnelARHopEntry 5 } + "If the mplsTunnelARHopAddrType is set to ipV6(2), + then this variable contains the IPv6 address of this + hop. This object is otherwise insignificant and + should contain a value of 0." + ::= { mplsTunnelARHopEntry 6 } mplsTunnelARHopIpv6PrefixLen OBJECT-TYPE SYNTAX INTEGER (1..128) MAX-ACCESS read-only STATUS current DESCRIPTION - "If mplsTunnelARHopAddrType is set to ipV6(2), - this value will contain the prefix length for - this hop's IPv6 address. This object is - otherwise insignificant and should contain a - value of 0." - ::= { mplsTunnelARHopEntry 6 } + "If mplsTunnelARHopAddrType is set to ipV6(2), this + value will contain the prefix length for this hop's + IPv6 address. This object is otherwise insignificant + and should contain a value of 0." + ::= { mplsTunnelARHopEntry 7 } mplsTunnelARHopAsNumber OBJECT-TYPE SYNTAX INTEGER (0..65535) MAX-ACCESS read-only STATUS current DESCRIPTION - "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." - ::= { mplsTunnelARHopEntry 7 } + "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." + ::= { mplsTunnelARHopEntry 8 } + +mplsTunnelARHopStrictOrLoose OBJECT-TYPE + SYNTAX INTEGER { + strict(1), + loose(2) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Denotes whether this is tunnel hop is routed in a + strict or loose fashion." + ::= { mplsTunnelARHopEntry 9 } -- End of mplsTunnelARHopTable -- Notifications. +mplsTunnelTrapEnable OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "If this object is true, then it enables the + generation of mplsTunnelUp and mplsTunnelDown traps, + otherwise these traps are not emitted." + DEFVAL { false } + ::= { mplsTeObjects 9 } + mplsTunnelUp NOTIFICATION-TYPE - OBJECTS { mplsTunnelIndex, mplsTunnelAdminStatus, - mplsTunnelOperStatus } + OBJECTS { mplsTunnelIndex, + mplsTunnelInstance, + mplsTunnelAdminStatus, + mplsTunnelOperStatus + } STATUS current DESCRIPTION "This notification is generated when a mplsTunnelOperStatus object for one of the - configured tunnels is about to leave the down - state and transition into some other state (but - not into the notPresent state). This other - state is indicated by the included value of + configured tunnels is about to leave the down state + and transition into some other state (but not into + the notPresent state). This other state is + indicated by the included value of mplsTunnelOperStatus." - ::= { mplsTeNotifications 1 } + ::= { mplsTeNotifyPrefix 1 } mplsTunnelDown NOTIFICATION-TYPE - OBJECTS { mplsTunnelIndex, mplsTunnelAdminStatus, - mplsTunnelOperStatus } + OBJECTS { mplsTunnelIndex, + mplsTunnelInstance, + mplsTunnelAdminStatus, + mplsTunnelOperStatus + } STATUS current DESCRIPTION "This notification is generated when a mplsTunnelOperStatus object for one of the - configured tunnels is about to enter the down - state from some other state (but not from the - notPresent state). This other state is - indicated by the included value of - mplsTunnelOperStatus." - ::= { mplsTeNotifications 2 } + configured tunnels is about to enter the down state + from some other state (but not from the notPresent + state). This other state is indicated by the + included value of mplsTunnelOperStatus." + ::= { mplsTeNotifyPrefix 2 } + + mplsTunnelRerouted NOTIFICATION-TYPE + OBJECTS { mplsTunnelIndex, + mplsTunnelInstance, + mplsTunnelAdminStatus, + mplsTunnelOperStatus + } + STATUS current + DESCRIPTION + "This notification is generated when a tunnel is + rerouted or re-optimized. If the Actual Path is + used, then this object MAY contain the new path for + this tunnel some time after this trap is issued by + the agent." + ::= { mplsTeNotifyPrefix 3 } -- End of notifications. -- Module compliance. mplsTeGroups OBJECT IDENTIFIER ::= { mplsTeConformance 1 } mplsTeCompliances OBJECT IDENTIFIER ::= { mplsTeConformance 2 } @@ -1551,178 +1598,159 @@ MPLS TE MIB." 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 } - 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)." + "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)." 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)." + "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)." 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)." + "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)." - - -- mplsTunnelTable + "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)." - OBJECT mplsTunnelIndex - MIN-ACCESS read-only + GROUP mplsTunnelOptionalGroup DESCRIPTION - "Write access is not required." + "Objects in this group are optional." - OBJECT mplsTunnelInstance - MIN-ACCESS read-only - DESCRIPTION - "Write access is not required." + -- 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." OBJECT mplsTunnelIsIf MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT mplsTunnelIfIndex - MIN-ACCESS read-only DESCRIPTION "Write access is not required." - OBJECT mplsTunnelDirection - SYNTAX INTEGER { out(2) } - MIN-ACCESS read-only - DESCRIPTION - "The values in(1) and in-out(3) need not be - supported." - - OBJECT mplsTunnelXCIndex + OBJECT mplsTunnelXCPointer MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT mplsTunnelSignallingProto MIN-ACCESS read-only DESCRIPTION "Write access is not required." - OBJECT mplsTunnelLocalCookie + OBJECT mplsTunnelSetupPrio MIN-ACCESS read-only DESCRIPTION "Write access is not required." - OBJECT mplsTunnelRemoteCookie + OBJECT mplsTunnelHoldingPrio MIN-ACCESS read-only DESCRIPTION "Write access is not required." - OBJECT mplsTunnelSetupPrio + OBJECT mplsTunnelSessionAttributes MIN-ACCESS read-only DESCRIPTION "Write access is not required." - OBJECT mplsTunnelHoldingPrio + OBJECT mplsTunnelOwner MIN-ACCESS read-only DESCRIPTION "Write access is not required." - OBJECT mplsTunnelSessionAttributes + OBJECT mplsTunnelLocalProtectInUse MIN-ACCESS read-only DESCRIPTION "Write access is not required." - OBJECT mplsTunnelOwner + OBJECT mplsTunnelResourcePointer MIN-ACCESS read-only DESCRIPTION "Write access is not required." - OBJECT mplsTunnelLocalProtectInUse + OBJECT mplsTunnelInstancePriority MIN-ACCESS read-only DESCRIPTION "Write access is not required." - OBJECT mplsTunnelResourceEntryIndex + OBJECT mplsTunnelHopTableIndex MIN-ACCESS read-only DESCRIPTION "Write access is not required." - OBJECT mplsTunnelInstancePriority - MIN-ACCESS read-only + OBJECT mplsTunnelARHopTableIndex 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." + "Only up and down states must be supported. Write + access is not required." OBJECT mplsTunnelOperStatus SYNTAX INTEGER { up (1), down (2) } - MIN-ACCESS read-only DESCRIPTION - "Only up and down states must be supported. - Write access is not required." + "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." - - -- mplsTunnelHopTable + "The notReady(3) and createAndWait(5) states need + not be supported. Write access is not required." - OBJECT mplsTunnelHopIndex + OBJECT mplsTunnelStorageType + SYNTAX INTEGER { other(1) } MIN-ACCESS read-only DESCRIPTION - "Write access is not required." + "Only other (1) needs to be supported." + + -- mplsTunnelHopTable OBJECT mplsTunnelHopAddrType MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT mplsTunnelHopIpv4Addr MIN-ACCESS read-only DESCRIPTION "Write access is not required." @@ -1740,122 +1768,137 @@ OBJECT mplsTunnelHopIpv6PrefixLen MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT mplsTunnelHopAsNumber MIN-ACCESS read-only DESCRIPTION "Write access is not required." + OBJECT mplsTunnelHopLspId + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + OBJECT mplsTunnelHopStrictOrLoose SYNTAX INTEGER { strict(1) } MIN-ACCESS read-only DESCRIPTION - "loose(2) need not be supported. Write access - is not required." + "loose(2) need not be supported. Write access is + not required." OBJECT mplsTunnelHopRowStatus 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." - - -- mplsTunnelResourceTable - - OBJECT mplsTunnelResourceInMaxRate - MIN-ACCESS read-only - DESCRIPTION - "Write access is not required." - - OBJECT mplsTunnelResourceInMeanRate + "The notReady(3) and createAndWait(5) states need + not be supported. Write access is not required." + OBJECT mplsTunnelHopStorageType + SYNTAX INTEGER { other(1) } MIN-ACCESS read-only DESCRIPTION - "Write access is not required." + "Only other (1) needs to be supported." - OBJECT mplsTunnelResourceInMaxBurstSize - MIN-ACCESS read-only - DESCRIPTION - "Write access is not required." + -- mplsTunnelResourceTable - OBJECT mplsTunnelResourceOutMaxRate + OBJECT mplsTunnelResourceMaxRate MIN-ACCESS read-only DESCRIPTION "Write access is not required." - OBJECT mplsTunnelResourceOutMeanRate + OBJECT mplsTunnelResourceMeanRate MIN-ACCESS read-only DESCRIPTION "Write access is not required." - OBJECT mplsTunnelResourceOutMaxBurstSize + OBJECT mplsTunnelResourceMaxBurstSize MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT mplsTunnelResourceRowStatus 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." + "The notReady(3) and createAndWait(5) states need + not be supported. Write access is not required." + + OBJECT mplsTunnelResourceStorageType + SYNTAX INTEGER { other(1) } + MIN-ACCESS read-only + DESCRIPTION + "Only other (1) needs to be supported." ::= { mplsTeCompliances 1 } -- Units of conformance. mplsTunnelGroup OBJECT-GROUP - OBJECTS { mplsTunnelIndexNext, mplsTunnelIndex, - mplsTunnelInstance, - mplsTunnelName, mplsTunnelDirection, - mplsTunnelXCIndex, - mplsTunnelIfIndex, mplsTunnelAdminStatus, - mplsTunnelOperStatus, mplsTunnelRowStatus } + OBJECTS { mplsTunnelIndexNext, + mplsTunnelName, + mplsTunnelDescr, + mplsTunnelOwner, + mplsTunnelXCPointer, + mplsTunnelIfIndex, + mplsTunnelHopTableIndex, + mplsTunnelARHopTableIndex, + mplsTunnelAdminStatus, + mplsTunnelOperStatus, + mplsTunnelRowStatus, + mplsTunnelTrapEnable, + mplsTunnelStorageType, + mplsTunnelMaxHops, + mplsTunnelResourcePointer, + mplsTunnelInstancePriority + } 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, + 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, mplsTunnelIsNotIntfcGroup and/or mplsTunnelIsIntfcGroup." ::= { mplsTeGroups 1 } mplsTunnelManualGroup OBJECT-GROUP OBJECTS { mplsTunnelSignallingProto } STATUS current DESCRIPTION - "Object(s) needed to implement manually - configured tunnels." + "Object(s) needed to implement manually configured + tunnels." ::= { mplsTeGroups 2 } mplsTunnelSignaledGroup OBJECT-GROUP - OBJECTS { mplsTunnelSignallingProto, - mplsTunnelLocalCookie, - mplsTunnelRemoteCookie, - mplsTunnelHopIndex, mplsTunnelHopAddrType, + OBJECTS { mplsTunnelSetupPrio, + mplsTunnelHoldingPrio, + mplsTunnelSignallingProto, + mplsTunnelLocalProtectInUse, + mplsTunnelSessionAttributes, + mplsTunnelHopIndexNext, + mplsTunnelHopAddrType, mplsTunnelHopIpv4Addr, mplsTunnelHopIpv4PrefixLen, mplsTunnelHopIpv6Addr, mplsTunnelHopIpv6PrefixLen, + mplsTunnelHopAsNumber, + mplsTunnelHopLspId, mplsTunnelHopStrictOrLoose, mplsTunnelHopRowStatus, - mplsTunnelResourceEntryIndex } + mplsTunnelHopStorageType + } STATUS current DESCRIPTION "Object needed to implement signaled tunnels." ::= { mplsTeGroups 3 } mplsTunnelIsIntfcGroup OBJECT-GROUP OBJECTS { mplsTunnelIsIf } STATUS current DESCRIPTION "Objects needed to implement tunnels that are @@ -1863,250 +1906,253 @@ ::= { mplsTeGroups 4 } mplsTunnelIsNotIntfcGroup OBJECT-GROUP OBJECTS { mplsTunnelIsIf } STATUS current DESCRIPTION "Objects needed to implement tunnels that are not interfaces." ::= { mplsTeGroups 5 } +mplsTunnelOptionalGroup OBJECT-GROUP + OBJECTS { mplsTunnelResourceIndexNext, + mplsTunnelResourceMaxRate, + mplsTunnelResourceMeanRate, + mplsTunnelResourceMaxBurstSize, + mplsTunnelResourceRowStatus, + mplsTunnelResourceStorageType, + mplsTunnelARHopAddrType, + mplsTunnelARHopIpv4Addr, + mplsTunnelARHopIpv4PrefixLen, + mplsTunnelARHopIpv6Addr, + mplsTunnelARHopIpv6PrefixLen, + mplsTunnelARHopAsNumber, + mplsTunnelARHopStrictOrLoose + } + STATUS current + DESCRIPTION + "The objects in this group are optional." + ::= { mplsTeGroups 6 } + mplsTeNotificationGroup NOTIFICATION-GROUP - NOTIFICATIONS { mplsTunnelUp, mplsTunnelDown } + NOTIFICATIONS { mplsTunnelUp, + mplsTunnelDown, + mplsTunnelRerouted + } STATUS current DESCRIPTION "Set of notifications implemented in this module. None is mandatory." - ::= { mplsTeGroups 6 } + ::= { mplsTeGroups 7 } -- End of MPLS-TE-MIB END -9. Security Considerations +11. Security Considerations - There are a number of management objects defined in - this MIB that have 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. + There are a number of management objects defined in this + MIB that have 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. - 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. + 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. - SNMPv1 by itself is not a secure environment. Even if - the network itself is secure (for example by using - IPSec [IPSEC]), 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 [SNMPv3USM] and the View- based Access - Control [SNMPv3VACM] 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. + SNMPv1 by itself is not a secure environment. Even if the + network itself is secure (for example by using IPSec + [IPSEC]), 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 + [SNMPv3USM] and the View- based Access Control + [SNMPv3VACM] 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. -10. Acknowledgments - We wish to thank Eric Gray, Patrick Kerharo, and - Pramod Koppol for their comments on this draft. +12. Acknowledgments -11. References + We wish to thank Adrian Farrel, Eric Gray, Patrick + Kerharo, and Pramod Koppol for their comments on this + draft. - [MPLSArch] Rosen, E., Viswanathan, A., and R. - Callon, "Multiprotocol Label Switching - Architecture", Internet Draft , August 1999. +13. References + + [MPLSArch] Rosen, E., Viswanathan, A., and R. Callon, + "Multiprotocol Label Switching + Architecture", Internet Draft , August 1999. [MPLSFW] Callon, R., Doolan, P., Feldman, N., Fredette, A., Swallow, G., and A. - Viswanathan, "A Framework for - Multiprotocol Label Switching", - Internet Draft , September 1999. + Viswanathan, "A Framework for Multiprotocol + Label Switching", Internet Draft , September 1999. [LSRMIB] Srinivasan, C., Viswanathan, A. and T. - Nadeau, "MPLS Label Switch Router - Management Information Base Using - SMIv2", Internet Draft , February 2000. - - [LDPMIB] Cucchiara, J., Sjostrand, H., and J. - Luciani, "Definitions of Managed - Objects for the Multiprotocol Label - Switching, Label Distribution Protocol - (LDP)", Internet Draft , February 2000. + Nadeau, "MPLS Label Switch Router Management + Information Base Using SMIv2", Internet + Draft , + April 26, 2000. [LblStk] Rosen, E., Rekhter, Y., Tappan, D., - Farinacci, D., Federokow, G., Li, T., - and A. Conta, "MPLS Label Stack - Encoding", Internet Draft , September - 1999. + Farinacci, D., Federokow, G., Li, T., and A. + Conta, "MPLS Label Stack Encoding", Internet + Draft , + September 1999. - [RSVPTun] Awaduche, D., Berger, L., Der-Haw, G., - Li, T., Swallow, G., and V. Srinivasan, + [RSVPTun] Awaduche, D., Berger, L., Der-Haw, G., Li, + T., Swallow, G., and V. Srinivasan, "Extensions to RSVP for LSP Tunnels", - Internet Draft , September 1999. + Internet Draft , February 2000. - [CR-LDP] B. Jamoussi (Editor), "Constraint-Based - LSP Setup using LDP", Internet Draft - , - September 1999. + [CR-LDP] B. Jamoussi (Editor), "Constraint-Based LSP + Setup using LDP", Internet Draft , September 1999. [Assigned] Reynolds, J., and J. Postel, "Assigned - Numbers", RFC 1700, October 1994. See - also: http://www.isi.edu/in- + Numbers", RFC 1700, October 1994. See also: + http://www.isi.edu/in- notes/iana/assignments/smi-numbers - [SNMPArch] Harrington, D., Presuhn, R., and B. - Wijnen, "An Architecture for Describing - SNMP Management Frameworks", RFC 2271, - January 1998. + [SNMPArch] Harrington, D., Presuhn, R., and B. Wijnen, + "An Architecture for Describing SNMP + Management Frameworks", RFC 2271, January + 1998. - [SMIv1] Rose, M., and K. McCloghrie, "Structure - and Identification of Management - Information for TCP/IP-based - Internets", RFC 1155, May 1990. + [SMIv1] Rose, M., and K. McCloghrie, "Structure and + Identification of Management Information for + TCP/IP-based Internets", RFC 1155, May 1990. - [SNMPv1MIBDef]Rose, M., and K. McCloghrie, "Concise - MIB Definitions", RFC 1212, March 1991. + [SNMPv1MIBDef]Rose, M., and K. McCloghrie, "Concise MIB + Definitions", RFC 1212, March 1991. - [SNMPv1Traps] M. Rose, "A Convention for Defining - Traps for use with the SNMP", RFC 1215, - March 1991. + [SNMPv1Traps] M. Rose, "A Convention for Defining Traps + for use with the SNMP", RFC 1215, March + 1991. - [SMIv2] Case, J., McCloghrie, K., Rose, M., and - S. Waldbusser, "Structure of Management + [SMIv2] Case, J., McCloghrie, K., Rose, M., and S. + Waldbusser, "Structure of Management Information for Version 2 of the Simple - Network Management Protocol (SNMPv2)", - RFC 1902, January 1996. + Network Management Protocol (SNMPv2)", RFC + 1902, January 1996. - [SNMPv2TC] Case, J., McCloghrie, K., Rose, M., and - S. Waldbusser, "Textual Conventions for - Version 2 of the Simple Network - Management Protocol (SNMPv2)", RFC - 1903, SNMP Research, Inc., Cisco - Systems, Inc., January 1996. + [SNMPv2TC] Case, J., McCloghrie, K., Rose, M., and S. + Waldbusser, "Textual Conventions for Version + 2 of the Simple Network Management Protocol + (SNMPv2)", RFC 1903, SNMP Research, Inc., + Cisco Systems, Inc., January 1996. - [SNMPv2Conf] Case, J., McCloghrie, K., Rose, M., and - S. Waldbusser, "Conformance Statements - for Version 2 of the Simple Network - Management Protocol (SNMPv2)", RFC - 1904, January 1996. + [SNMPv2Conf] Case, J., McCloghrie, K., Rose, M., and S. + Waldbusser, "Conformance Statements for + Version 2 of the Simple Network Management + Protocol (SNMPv2)", RFC 1904, January 1996. - [SNMPv1] Case, J., Fedor, M., Schoffstall, M., - and J. Davin, "Simple Network - Management Protocol", RFC 1157, May - 1990. + [SNMPv1] Case, J., Fedor, M., Schoffstall, M., and J. + Davin, "Simple Network Management Protocol", + RFC 1157, May 1990. - [SNMPv2c] Case, J., McCloghrie, K., Rose, M., and - S. Waldbusser, "Introduction to - Community-based SNMPv2", RFC 1901, - January 1996. + [SNMPv2c] Case, J., McCloghrie, K., Rose, M., and S. + Waldbusser, "Introduction to Community-based + SNMPv2", RFC 1901, January 1996. - [SNMPv2TM] 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. + [SNMPv2TM] 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. - [SNMPv3MP] Case, J., Harrington D., Presuhn R., - and B. Wijnen, "Message Processing and - Dispatching for the Simple Network - Management Protocol (SNMP)", RFC 2272, - January 1998. + [SNMPv3MP] Case, J., Harrington D., Presuhn R., and B. + Wijnen, "Message Processing and Dispatching + for the Simple Network Management Protocol + (SNMP)", RFC 2272, January 1998. - [SNMPv3USM] Blumenthal, U., and B. Wijnen, "User- - based Security Model (USM) for version - 3 of the Simple Network Management - Protocol (SNMPv3)", RFC 2574, April - 1999. + [SNMPv3USM] Blumenthal, U., and B. Wijnen, "User-based + Security Model (USM) for version 3 of the + Simple Network Management Protocol + (SNMPv3)", RFC 2574, April 1999. - [SNMPv2PO] Case, J., McCloghrie, K., Rose, M., and - S. Waldbusser, "Protocol Operations for - Version 2 of the Simple Network - Management Protocol (SNMPv2)", RFC - 1905, January 1996. + [SNMPv2PO] Case, J., McCloghrie, K., Rose, M., and S. + Waldbusser, "Protocol Operations for Version + 2 of the Simple Network Management Protocol + (SNMPv2)", RFC 1905, January 1996. - [SNMPv3App] Levi, D., Meyer, P., and B. Stewart, - "SNMPv3 Applications", RFC 2273, - January 1998. + [SNMPv3App] Levi, D., Meyer, P., and B. Stewart, "SNMPv3 + Applications", RFC 2273, January 1998. - [SNMPv3VACM] Wijnen, B., Presuhn, R., and K. - McCloghrie, "View-based Access Control - Model (VACM) for the Simple Network - Management Protocol (SNMP)", RFC 2575, - April 1999. + [SNMPv3VACM] Wijnen, B., Presuhn, R., and K. McCloghrie, + "View-based Access Control Model (VACM) for + the Simple Network Management Protocol + (SNMP)", RFC 2575, April 1999. [IPSEC] Kent, S., and Atkinson, R., "Security - Architecture for the Internet - Protocol", RFC 2401, November 1998. + Architecture for the Internet Protocol", RFC + 2401, November 1998. - [IFMIB] McCloghrie, K., and F. Kastenholtz, - "The Interfaces Group MIB using SMIv2", - RFC 2233, Nov. 1997 + [IFMIB] McCloghrie, K., and F. Kastenholtz, "The + Interfaces Group MIB using SMIv2", RFC 2233, + Nov. 1997. -12. Authors' Addresses +14. Authors' Addresses Cheenu Srinivasan Tachion Networks, Inc. - 2 Meridian Road - Eatontown, NJ 07724 - Phone: +1-732-542-7750 x234 + Monmouth Park Corporate Center I + Building C, 185 Monmouth Park Highway + West Long Branch, NJ 07764 + Phone: +1-732-542-7750 x1234 Email: cheenu@tachion.com Arun Viswanathan - Force10 Networks + Force10 Networks, Inc. 1440 McCarthy Blvd Milpitas, CA 95035 Phone: +1-408-571-3516 Email: arun@force10networks.com + Thomas D. Nadeau Cisco Systems, Inc. 300 Apollo Drive Chelmsford, MA 01824 Phone: +1-978-244-3051 Email: tnadeau@cisco.com -13. Full Copyright Statement +15. Full Copyright Statement Copyright (C) The Internet Society (2000). All Rights Reserved. This document and translations of it may be copied and - furnished to others, and derivative works that comment - on or otherwise explain it or assist in its - implementation may be prepared, copied, published and - distributed, in whole or in part, without restriction - of any kind, provided that the above copyright notice - and this paragraph are included on all such copies and - derivative works. However, this document itself may - not be modified in any way, such as by removing the - copyright notice or references to the Internet Society - or other Internet organizations, except as needed for - the purpose of developing Internet standards in which - case the procedures for copyrights defined in the - Internet Standards process must be followed, or as - required to translate it into languages other than - English. + furnished to others, and derivative works that comment on + or otherwise explain it or assist in its implementation may + be prepared, copied, published and distributed, in whole or + in part, without restriction of any kind, provided that the + above copyright notice and this paragraph are included on + all such copies and derivative works. However, this + document itself may not be modified in any way, such as by + removing the copyright notice or references to the Internet + Society or other Internet organizations, except as needed + for the purpose of developing Internet standards in which + case the procedures for copyrights defined in the Internet + Standards process must be followed, or as required to + translate it into languages other than English. - The limited permissions granted above are perpetual - and will not be revoked by the Internet Society or its - successors or assigns. This document and the - information contained herein is provided on an "AS IS" - basis and THE INTERNET SOCIETY AND THE INTERNET - ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY - WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL - NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF - MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + 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.