Network Working Group Cheenu Srinivasan Internet Draft Tachion Networks, Inc. Expires:September 2000January 2001 Arun Viswanathan Force10NetworksNetworks, Inc. Thomas D. Nadeau Cisco Systems, Inc. July 14, 2000 MPLS Traffic Engineering Management Information Base Using SMIv2draft-ietf-mpls-te-mib-03.txtdraft-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. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. 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. 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. 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. 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. An explicitly routed LSP (ERLSP) is referred to as an MPLS tunnel. It consists of one in-segment and/or oneout-segmentout- 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 andout-segmentsout- 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: - 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]. - 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]. - 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]. - 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). Somemachine-readablemachine- 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. FeatureChecklistList The MPLS traffic engineering MIB is designed to satisfy the following requirements and constraints. - The MIBmust support the configuration of point-to- point unidirectional tunnels. - The MIB should be able to support thesupports configuration of point-to-pointbi-directional tunnels. - The MIB should be able to support the configuration of multi-point-to-pointunidirectional tunnels. - MPLS tunnels need not be interfaces, but itshould beis possible to configure a tunnel as an interface. - The MIBshould be able to support bothsupports manually configured MPLS tunnels as well as those set up via any MPLS signaling protocol. -It should be possible to supportThe MIB supports persistent as well as non-persistent tunnels. 5. Outline Traffic engineering support for MPLS tunnels requires the following configuration. - Setting up MPLS tunnels along with appropriate configuration parameters. - Configuring tunnel loose and strict source routed hops. These actions may need to be accompanied with corresponding actions using [LSRMIB] to establish and configure tunnel segments, if this is done manually. Also, the in-segment and out-segment performance tables, mplsInSegmentPerfTable and mplsOutSegmentPerfTable [LSRMIB], should be used to determine performance of the tunnels and tunnel segments. 5.1. Summary of Traffic Engineering MIB 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 theWhen a tunnelresources. - Tunnel Actual Route Table (mplsTunnelARHopTable) for viewingis signaled via a MPLS signaling protocol, the mplsTunnelARHopTable gives the actualroute usedlist of hops traversed by thetunnel.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].[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.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, althoughmulti-point-to-pointmulti- point-to-point and point-to-multi-point connections are supported by an LSR acting as across- connect.cross-connect. Each MPLS tunnel can thus have oneout- segmentout-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 andout- segmentout-segment tables, defining relationships in thecross- connectcross-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. mplsTunnelResourceTable 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. mplsTunnelHopTable 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 byMultiple tunnels may share the sameindex mplsTunnelIndex as the row ofhops by pointing to thecorresponding tunnelsame entry inmplsTunnelTable.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.3. mplsTunnelResourceTable 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.6.4. mplsTunnelARHopTable mplsTunnelARHopTable is used to indicate the actualroute takenhops traversed by atunnel. This table is particularly useful in cases wheretunnelhops are loosely routed. This table will allowas reported by the MPLS signaling protocol after theusertunnel is setup. The support of this table is optional since not all MPLS signaling protocol may support this feature. 7. Application of the Interface Group toseeMPLS Tunnels The Interfaces Group of MIB II defines generic managed objects for managing interfaces. This memo contains theactual path takenmedia-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, thetunnel throughinterface stack table might appear as follows: +------------------------------------------+ | MPLS-Tunnel-interface ifType = mpls(150) | +------------------------------------------+ | MPLS-interface ifType = mpls(166) | +------------------------------------------+ | Underlying Layer | +------------------------------------------+ In thenetwork.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 ofthisthe 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 isdependent uponrepresented by an ifEntry. ifDescr Description of the MPLSsignaling protocols providingtunnel. 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 thisinformation. 7.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 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 firsttunnel ",tunnel", mplsTunnelDescr = "Here to there", mplsTunnelIsIf = true (1), mplsTunnelIfIndex = 12,mplsTunnelDirectionmplsTunnelXCPointer =in (1), mplsTunnelXCIndex = 15,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, mplsTunnelInMaxBurstSizemplsTunnelResourceMaxRate =100, mplsTunnelOutMaxRate = 100, mplsTunnelOutMeanRate0, mplsTunnelResourceMeanRate =100, mplsTunnelOutMaxBurstSize0, mplsTunnelResourceMaxBurstSize =100,0, mplsTunnelResourceRowStatus = createAndGo (4) } The next two instancesof mplsTunnelHopEntry are used to denote the hops this tunnel will take across the network. Note that mplsTunnelIndex, mplsTunnelInstance, and mplsTunnelHopIndexof mplsTunnelHopEntry are used toindex these objects. Fordenote thepurposes ofhops thisexample, all entries in the MplsTunnelHopTabletunnel willuse the index of 1, which was defined fortake across thempslTunnelEntry above.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. 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. 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. Object9. The Usefor the MPLS layer. ifIndex Each MPLS interface is represented by an ifEntry. ifDescr Descriptionofthe MPLS interface. ifType The value that is allocated for MPLSRowPointer RowPointer is<TBD>. ifSpeed The total bandwidtha textual convention used to identify a conceptual row inbits per second for usean SNMP Table bythe 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 duepointing touncorrectable errors. ifInUnknownProtos The numberone ofreceived packets discarded during packet header validation, including packets with unrecognized label values. ifOutErrors See [IFMIB]. ifName Textual name (unique onits objects. In thissystem) ofMIB, in mplsTunnelTable, theinterface or an octet stringobjects mplsTunnelXCPointer and mplsTunnelResourcePointer are ofzero length. ifLinkUpDownTrapEnable Default is disabled (2). ifConnectorPresent Set to false (2). ifHighSpeed See [IFMIB]. ifHCInOctetstype RowPointer. The64-bit version of ifInOctets; supported if required by the compliance statementsobject mplsTunnelXCPointer points to a specific entry in[IFMIB]. ifHCOutOctets The 64-bit version of ifOutOctets; supported if required bythecompliance statements in [IFMIB]. ifAlias The non-volatile 'alias' namemplsXCTable [LSRMIB]. This entry in the mplsXCTable is the associated LSP for theinterface as specified bygiven MPLS tunnel entry. The object mplsTunnelResourcePointer points to anetwork manager. 8.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. 10. MPLS Traffic Engineering MIB Definitions MPLS-TE-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, experimental,Integer32, Counter32, Counter64, Gauge32, IpAddressInteger32 FROM SNMPv2-SMI MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF TEXTUAL-CONVENTION, TruthValue,RowStatusRowStatus, RowPointer, StorageType, DisplayString, Unsigned32 FROM SNMPv2-TCifIndex, InterfaceIndex,InterfaceIndexOrZero FROM IF-MIB MplsBitRate,MplsBurstSizeMplsBurstSize, MplsLSPID FROM MPLS-LSR-MIB InetAddressIPv4, InetAddressIPv6 FROMMPLS-LSR-MIB;INET-ADDRESS-MIB; mplsTeMIB MODULE-IDENTITY LAST-UPDATED"200003031200Z""200007141200Z" --3 Mar14 July 2000 12:00:00 EST ORGANIZATION "Multiprotocol Label Switching (MPLS) Working Group" CONTACT-INFO " Cheenu Srinivasan Postal: Tachion Networks, Inc.2 Meridian Road Eatontown,Monmouth Park Corporate Center I Building C, 185 Monmouth Park Highway West Long Branch, NJ077207764 Tel:+1 732 542 7750 x234+1-732-542-7750 x1234 Email: cheenu@tachion.com Arun Viswanathan Postal: Force10NetworksNetworks, 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<draft-mpls-rsvp- lsp-tunnel-02.txt>,<draft-mpls-rsvp-lsp-tunnel-02.txt>, March 1999; Constraint-Based LSP Setup using LDP, B. Jamoussi, Internet Draft<draft-ietf-mpls-cr-ldp-01.txt>,<draft-ietf-mpls-cr-ldp- 01.txt>, Feb. 1999; Requirements for Traffic Engineering Over MPLS, Awduche, D., J. Malcolm, J., Agogbua, J., O'Dell, M., J. McManus, <rfc2702.txt>, September 1999." -- Revision history. REVISION"199907161200Z""200007141200Z" --1614 July19992000 12:00:00 EST DESCRIPTION"Initial draft version.""Updates based on MPLS WG feedback" REVISION"200003101700Z""200005261200Z" --10 March26 May 200017:00:0012:00:00 EST DESCRIPTION"Initial version, published as RFC xxxx." ::= { experimental 95 } -- Textual Conventions. -- An"Updates based on MPLSlabel. MplsLabel ::= TEXTUAL-CONVENTION STATUS currentWG feedback" REVISION "200003031200Z" -- 3 March 2000 12:00:00 EST 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"Updates based onthe 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.MPLSLabel 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 currentWG feedback" REVISION "199907161200Z" -- 16 July 1999 12:00:00 EST DESCRIPTION"Primary index into mplsTunnelTable." SYNTAX INTEGER (0..65535) MplsTunnelInstance"Initial draft version." ::= { experimental 95 } -- Textual Conventions. MplsTunnelIndex ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION"Instance of the tunnel; secondary index"Index into mplsTunnelTable." SYNTAXINTEGERInteger32 (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))-- 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 (0..65535) MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the next appropriate value to be used for mplsTunnelIndex when creating entries inthemplsTunnelTable. If the number of unassigned entries is exhausted,this objecta retrival operation willtake on thereturn 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 themplsTunnelIndexvalue 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, althoughmulti-point-to- pointmulti-point-to-point andpoint-to-multi-pointpoint- 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)." 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,mplsTunnelInstancemplsTunnelInstance, mplsTunnelIngressLSRId } ::= { mplsTunnelTable 1 } MplsTunnelEntry ::= SEQUENCE { mplsTunnelIndex MplsTunnelIndex, mplsTunnelInstanceMplsTunnelInstance,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, mplsTunnelSessionAttributesINTEGER,BITS, mplsTunnelOwner INTEGER,mplsTunnelResourceEntryIndex INTEGER,mplsTunnelLocalProtectInUse TruthValue, mplsTunnelResourcePointer RowPointer, mplsTunnelInstancePriority Integer32, mplsTunnelHopTableIndex Integer32, mplsTunnelARHopTableIndex Integer32, mplsTunnelAdminStatus INTEGER, mplsTunnelOperStatus INTEGER, mplsTunnelRowStatusRowStatusRowStatus, mplsTunnelStorageType StorageType } mplsTunnelIndex OBJECT-TYPE SYNTAX MplsTunnelIndex MAX-ACCESSread-createnot-accessible STATUS current DESCRIPTION "Uniquely identifies this row." ::= { mplsTunnelEntry 1 } mplsTunnelInstance OBJECT-TYPE SYNTAX MplsTunnelIndex MAX-ACCESSread-createnot-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." ::= { mplsTunnelEntry22 } 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 <draft-mpls-rsvp-lsp- tunnel-05.txt>, February 2000., 2. Constraint-Based LSP Setup using LDP, Jamoussi, Internet Draft <draft-ietf-mpls-cr-ldp-03.txt>, 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." REFERENCE "RFC 2233 - The Interfaces Group MIB using SMIv2, McCloghrie, K., and F. Kastenholtz, Nov. 1997" ::= { mplsTunnelEntry34 } 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." ::= { mplsTunnelEntry45 } 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." REFERENCE "RFC 2233 - The Interfaces Group MIB using SMIv2, McCloghrie, K., and F. Kastenholtz, Nov. 1997" DEFVAL { false } ::= { mplsTunnelEntry56 } 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." REFERENCE "RFC 2233 - The Interfaces Group MIB using SMIv2, McCloghrie, K., and F. Kastenholtz, Nov. 1997" ::= { mplsTunnelEntry6 } 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." ::= { mplsTunnelEntry7 }mplsTunnelXCIndexmplsTunnelXCPointer OBJECT-TYPE SYNTAXInteger32RowPointer MAX-ACCESS read-create STATUS current DESCRIPTION "This variablerepresents an index intopoints to a row in the mplsXCTable. This table identifies the segments that compose this tunnel, their characteristics, and relationships to eachother."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<draft-ietf- mpls-lsr-mib-01.txt>, March<draft-ietf-mpls-lsr-mib- 04.txt>, April 26, 2000."DEFVAL { 0 }::= { mplsTunnelEntry 8 } mplsTunnelSignallingProto OBJECT-TYPE SYNTAX INTEGER { none(1),ldp(2), rsvp(3),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." 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. RSVP-TE: Extensions to RSVP for LSP Tunnels, Awduche et al, Internet Draft <draft-mpls-rsvp-lsp-tunnel-02.txt>, March 1999.,tunnel-05.txt>, February 2000., 2. Constraint-Based LSP Setup using LDP, Jamoussi, Internet Draft<draft-ietf-mpls-cr-ldp- 01.txt>, Feb.<draft-ietf-mpls-cr-ldp-03.txt>, September 1999." ::= { mplsTunnelEntry1210 } mplsTunnelHoldingPrio OBJECT-TYPE SYNTAX INTEGER (0..7) MAX-ACCESS read-create STATUS current DESCRIPTION "Indicates the holding priority for this tunnel." REFERENCE "1. RSVP-TE: Extensions to RSVP for LSP Tunnels, Awduche et al, Internet Draft <draft-mpls-rsvp-lsp-tunnel-02.txt>, March 1999.tunnel-05.txt>, February 2000., 2. Constraint-Based LSP Setup using LDP,B.Jamoussi, Internet Draft<draft-ietf-mpls-cr-ldp- 01.txt>, Feb.<draft-ietf-mpls-cr-ldp-03.txt>, September 1999." ::= { mplsTunnelEntry1311 } mplsTunnelSessionAttributes OBJECT-TYPE SYNTAX BITS {ingressMayReroutefastReroute (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 bitfields:fastReroute:fastReroute This flag indicates that the any tunnelingress nodehop may choose to reroute this tunnel without tearing it down.mergingPermitted: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:isPersistant Indicates whether this tunnel should be restored automatically after a failure occurs.localProtectionAvailable: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 isdet4ecteddetected on an adjacent downstream link or node, a transit router can reroute traffic for fast service restoration.isPinned:isPinned This flagIndicatesindicates whether theloose- routedloose-routed hops of this tunnel are to be pinned." REFERENCE"Extensions"1. RSVP-TE: Extensions to RSVP for LSP Tunnels, Awduche et al, Internet Draft<draft-mpls-rsvp-lsp-tunnel- 02.txt>, March 1999."<draft-mpls-rsvp-lsp- tunnel-05.txt>, February 2000." DEFVAL { 0 } ::= { mplsTunnelEntry1412 } mplsTunnelOwner OBJECT-TYPE SYNTAX INTEGER {snmp (1), ldp (2), rsvp (3), policyAgent (4), other (5)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. Values rsvp(2) and crldp(3) should not be used at the head-end of a MPLS tunnel." ::= { mplsTunnelEntry1513 }mplsTunnelResourceEntryIndexmplsTunnelLocalProtectInUse OBJECT-TYPE SYNTAXUnsigned32TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "Indicateswhichthat 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 entryfromin 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 themplsTunnelResourceTable is currently in use bysame value of thistunnel."object, two or more segments can indicate resource sharing." ::= { mplsTunnelEntry1615 } mplsTunnelInstancePriority OBJECT-TYPE SYNTAXUnsigned32Integer32 (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 whichparticulara particular tunnel instance will supercede another. Instances of tunnels containing the same mplsTunnelInstancePriority will be used for load sharing." DEFVAL { 0 } ::= { mplsTunnelEntry 16 } mplsTunnelHopTableIndex OBJECT-TYPE SYNTAX Integer32 (0..2147483647) MAX-ACCESS read-create STATUS current DESCRIPTION "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." ::= { mplsTunnelEntry1819 } 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." ::= { mplsTunnelEntry1920 } 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." ::= { mplsTunnelEntry2021 } mplsTunnelStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "This variable indicates the storage type for this object." ::= { mplsTunnelEntry 22 } -- End of mplsTunnelTable --BeginMaximum number ofmplsTunnelResourceTable mplsTunnelResourceIndexNexttunnel hops supported. mplsTunnelMaxHops OBJECT-TYPE 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 3 } -- Tunnel hop table. mplsTunnelHopIndexNext OBJECT-TYPE SYNTAX Integer32 (0..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "This object containsthe nextan appropriate value to be used formplsTunnelResourceIndexmplsTunnelHopListIndex when creating entries in themplsTunnelResourceTable.mplsTunnelHopTable. If the number of unassigned entries is exhausted,this objecta retrival operation willtake on thereturn 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 themplsTunnelResourceIndexvalue of mplsTunnelHopListIndex for a newentry,entry in the mplsTunnelHopTable, the managermust first issueissues a management protocol retrieval operation to obtain the current value ofthis object. ThemplsTunnelHopIndex. After each retrieval operation, the agent should modify the value to reflect the next unassignedindex after each retrieval operation.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." ::= { mplsTeObjects34 }mplsTunnelResourceTablemplsTunnelHopTable OBJECT-TYPE SYNTAX SEQUENCE OFMplsTunnelResourceEntryMplsTunnelHopEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "ThemplsTunnelResourceTable allows a managermplsTunnelHopTable is used tospecify which resources are desiredindicate 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.ThisEach row in this table is indexed primarily by the same index, mplsTunnelIndex, as the row of the corresponding tunnel in mplsTunnelTable. Each row alsoallows several tunnelshas 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 asingle entry inparticular interface on the originating LSR of an outgoing tunnel by which we want packets to exit the LSR, we specify thistable, implying that these tunnels should share resources."as the first hop for this tunnel in mplsTunnelHopTable." ::= { mplsTeObjects45 }mplsTunnelResourceEntrymplsTunnelHopEntry OBJECT-TYPE SYNTAXMplsTunnelResourceEntryMplsTunnelHopEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table represents aset of resources for an MPLS tunnel.tunnel hop. An entrycan beis created by a network administratororfor signaled ERLSP set up by anSNMP agent as instructed by anyMPLS signaling protocol." INDEX {mplsTunnelResourceIndexmplsTunnelHopListIndex, mplsTunnelHopIndex } ::= {mplsTunnelResourceTablemplsTunnelHopTable 1 }MplsTunnelResourceEntryMplsTunnelHopEntry ::= 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 1mplsTunnelHopListIndex Integer32, mplsTunnelHopIndex Integer32, mplsTunnelHopAddrType INTEGER, mplsTunnelHopIpv4Addr InetAddressIPv4, mplsTunnelHopIpv4PrefixLen INTEGER, mplsTunnelHopIpv6Addr InetAddressIPv6, mplsTunnelHopIpv6PrefixLen INTEGER, mplsTunnelHopAsNumber INTEGER, mplsTunnelHopLspId MplsLSPID, mplsTunnelHopStrictOrLoose INTEGER, mplsTunnelHopRowStatus RowStatus, mplsTunnelHopStorageType StorageType }mplsTunnelResourceInMaxRatemplsTunnelHopListIndex OBJECT-TYPE SYNTAXMplsBitRate 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 <draft-ietf- mpls-lsr-mib-01.txt>, March 2000." DEFVALInteger32 (1..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Primary index into this table identifying a particular explicit route object." ::= {0mplsTunnelHopEntry 1 } mplsTunnelHopIndex OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Secondary index into this table identifying a particular hop." ::= {mplsTunnelResourceEntrymplsTunnelHopEntry 2 }mplsTunnelResourceInMeanRatemplsTunnelHopAddrType OBJECT-TYPE SYNTAXMplsBitRate UNITS "bits per second"INTEGER { ipV4(1), ipV6(2), asNumber(3), lspid(4) } 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"Denotes thecorresponding 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 valueaddress type of thisentry 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 <draft-ietf- mpls-lsr-mib-01.txt>, Feb. 2000."tunnel hop." DEFVAL {0ipV4 } ::= {mplsTunnelResourceEntrymplsTunnelHopEntry 3 }mplsTunnelResourceInMaxBurstSizemplsTunnelHopIpv4Addr OBJECT-TYPE SYNTAXMplsBurstSize UNITS "bytes"InetAddressIPv4 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"If mplsTunnelHopAddrType is set to‘in’ (1). The mplsTSpecIndexipV4(1), then this value will contain the IPv4 address of thisentryhop. This object iscopied to mplsInSegmentTSpecIndex of the corresponding in- segment entry." REFERENCE "Srinivasan, C., Viswanathan, A.,otherwise insignificant andT. Nadeau, MPLS Label Switch Router Management Information Base Using SMIv2, Internet Draft <draft-ietf- mpls-lsr-mib-01.txt>, March 2000." DEFVAL { 0 }should contain a value of 0." ::= {mplsTunnelResourceEntrymplsTunnelHopEntry 4 }mplsTunnelResourceOutMaxRatemplsTunnelHopIpv4PrefixLen OBJECT-TYPE SYNTAXMplsBitRate UNITS "bits per second"INTEGER (1..32) MAX-ACCESS read-create STATUS current DESCRIPTION"The maximum outgoing rate in bits/second. Note that setting mplsTunnelOutMaxRate to 0 indicates best-effort treatment."If mplsTunnelHopAddrType is ipV4(1), then the prefix length for this hop's IPv4 address is contained herein. This object iscopied to mplsOutSegmentMaxRateotherwise insignificant and should contain a value of 0." ::= { mplsTunnelHopEntry 5 } mplsTunnelHopIpv6Addr OBJECT-TYPE SYNTAX InetAddressIPv6 MAX-ACCESS read-create STATUS current DESCRIPTION "If thecorresponding out- segment. When resource allocation is performed as requested by the following outgoing TSpec object, itmplsTunnelHopAddrType iscopied into an entry in mplsTSpecTable [LSRMIB] as follows: mplsTunnelOutMaxRateset tomplsTSpecMaxRate. Also note thatipV6(2), then this variable contains themplsTSpecDirectionIPv6 address of thisentryhop. This object isset to out (2). The mplsTSpecIndexotherwise insignificant and should contain a value ofthis 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 <draft-ietf- mpls-lsr-mib-01.txt>, March 2000." DEFVAL { 0 }0." ::= {mplsTunnelResourceEntry 5mplsTunnelHopEntry 6 }mplsTunnelResourceOutMeanRatemplsTunnelHopIpv6PrefixLen OBJECT-TYPE SYNTAXMplsBitRate UNITS "bits per second"INTEGER (1..128) 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"If mplsTunnelHopAddrType iscopiedset tomplsOutSegmentMeanRate of the corresponding out- segment. When resource allocation is performed as requested byipV6(2), this value will contain thefollowing outgoing TSpec object, itprefix length for this hop's IPv6 address. This object iscopied into an entry in mplsTSpecTable [LSRMIB] as follows: mplsTunnelOutMeanRate to mplsTSpecMeanRate. Also note that the mplsTSpecDirectionotherwise insignificant and should contain a value ofthis entry0." ::= { mplsTunnelHopEntry 7 } mplsTunnelHopAsNumber OBJECT-TYPE SYNTAX INTEGER (0..65535) MAX-ACCESS read-create STATUS current DESCRIPTION "If mplsTunnelHopAddrType is set toout (2). The mplsTSpecIndexasNumber(3), then this value will contain the AS number of thisentryhop. This object iscopied to mplsOutSegmentTSpecIndex of the corresponding out-segment entry." REFERENCE "Srinivasan, C., Viswanathan, A.,otherwise insignificant andT. Nadeau, MPLS Label Switch Router Management Information Base Using SMIv2, Internet Draft <draft-ietf- mpls-lsr-mib-01.txt>, March 2000." DEFVAL {should contain a value of 0}to indicate this fact." ::= {mplsTunnelResourceEntry 6mplsTunnelHopEntry 8 }mplsTunnelResourceOutMaxBurstSizemplsTunnelHopLspId OBJECT-TYPE SYNTAXMplsBurstSize UNITS "bytes"MplsLSPID 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"If mplsTunnelHopAddrType iscopied into an entry in mplsTSpecTable [LSRMIB] as follows: mplsTunnelOutMaxBurstSizeset tomplsTSpecMaxBurstSize. Also note thatlspid(4), then this value will contain themplsTSpecDirectionLSPID of a tunnel of thisentry is set to out (2).hop. ThemplsTSpecIndex value ofpresent tuunel being configured is ‘tunneled’ through thisentryhop (using label stacking). This object iscopied to mplsOutSegmentTSpecIndex of the corresponding out-segment entry." REFERENCE "Srinivasan, C., Viswanathan, A.,otherwise insignificant andT. Nadeau, MPLS Label Switch Router Management Information Base Using SMIv2, Internet Draft <draft-ietf- mpls-lsr-mib-01.txt>, March 2000." DEFVAL {should contain a value of 0 to indicate this fact." ::= { mplsTunnelHopEntry 9 } mplsTunnelHopStrictOrLoose OBJECT-TYPE SYNTAX INTEGER { strict(1), loose(2) } MAX-ACCESS read-create STATUS current DESCRIPTION "Denotes whether this tunnel hop is routed in a strict or loose fashion." ::= {mplsTunnelResourceEntry 7mplsTunnelHopEntry 10 }mplsTunnelResourceRowStatusmplsTunnelHopRowStatus 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 8mplsTunnelHopEntry 11 }-- End mplsTunnelResourceTable -- Maximum number of tunnel hops supported. mplsTunnelMaxHopsmplsTunnelHopStorageType OBJECT-TYPE SYNTAXUnsigned32StorageType MAX-ACCESSread-onlyread-create STATUS current DESCRIPTION"The maximum number of hops that can be specified"This variable indicates the storage type fora tunnel onthisdevice."object." ::= {mplsTeObjects 5mplsTunnelHopEntry 12 } --Tunnel hop table.End of mplsTunnelHopTable -- Begin of mplsTunnelResourceTable mplsTunnelResourceIndexNext OBJECT-TYPE SYNTAXSEQUENCE OF MplsTunnelHopEntryInteger32 (0..2147483647) MAX-ACCESSnot-accessibleread-only STATUS current DESCRIPTION"The mplsTunnelHopTable is used to indicate"This object contains thehops, strict or loose,next appropriate value to be used foran MPLS tunnel defined in mplsTunnelTable,mplsTunnelResourceIndex whenit is established via signaling, for the outgoing direction of the tunnel. Each rowcreating entries inthis table is indexed primarily bythesame index, mplsTunnelIndex, asmplsTunnelResourceTable. If therownumber ofthe corresponding tunnel in mplsTunnelTable. Each rowunassigned entries is exhausted, a retrival operation will return a value of 0. This object may alsohasreturn asecondary index mplsTunnelHopIndex corresponding tovalue of 0 when thenext hop that this row corresponds to. The firstLSR is unable to accept conceptual rowincreation, for example, if thetablemplsTunnelTable is implemented as read-only. To obtain the mplsTunnelResourceIndex value for a new entry, the manager must firsthop afterissue a management protocol retrieval operation to obtain theorigination pointcurrent value of this object. The agent should modify thetunnel. In case we wantvalue tospecifyreflect the next unassigned index after each retrieval operation. After aparticular interface onmanager retrieves a value theoriginating LSR of an outgoing tunnel by which we want packetsagent 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 toexit the LSR, wespecifythis as the first hopwhich resources are desired forthis tunnelan MPLS tunnel. This table also allows several tunnels to point to a single entry inmplsTunnelHopTable."this table, implying that these tunnels should share resources." ::= { mplsTeObjects67 }mplsTunnelHopEntrymplsTunnelResourceEntry OBJECT-TYPE SYNTAXMplsTunnelHopEntryMplsTunnelResourceEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table represents atunnel hop.set of resources for an MPLS tunnel. An entryiscan be created by a network administratorfor signaled ERLSP set upor by an SNMP agent as instructed by any MPLS signaling protocol." INDEX {mplsTunnelIndex, mplsTunnelInstance, mplsTunnelHopIndexmplsTunnelResourceIndex } ::= {mplsTunnelHopTablemplsTunnelResourceTable 1 }MplsTunnelHopEntryMplsTunnelResourceEntry ::= SEQUENCE {mplsTunnelHopIndexmplsTunnelResourceIndex Integer32,mplsTunnelHopAddrType INTEGER, mplsTunnelHopIpv4Addr IpAddress, mplsTunnelHopIpv4PrefixLen INTEGER, mplsTunnelHopIpv6Addr Ipv6Address, mplsTunnelHopIpv6PrefixLen INTEGER, mplsTunnelHopAsNumber INTEGER, mplsTunnelHopStrictOrLoose INTEGER, mplsTunnelHopRowStatus RowStatusmplsTunnelResourceMaxRate MplsBitRate, mplsTunnelResourceMeanRate MplsBitRate, mplsTunnelResourceMaxBurstSize MplsBurstSize, mplsTunnelResourceRowStatus RowStatus, mplsTunnelResourceStorageType StorageType }mplsTunnelHopIndexmplsTunnelResourceIndex OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESSread-createnot-accessible STATUS current DESCRIPTION"Secondary index into"Uniquely identifies thistable identifying the particular hop."row." ::= {mplsTunnelHopEntrymplsTunnelResourceEntry 1 }mplsTunnelHopAddrType OBJECT-TYPE SYNTAX INTEGER { ipV4(1), ipV6(2), asNumber(3) } MAX-ACCESS read-create STATUS current DESCRIPTION "Denotes the address type of this tunnel hop." DEFVAL { ipV4 } ::= { mplsTunnelHopEntry 2 } mplsTunnelHopIpv4AddrmplsTunnelResourceMaxRate OBJECT-TYPE SYNTAXIpAddressMplsBitRate UNITS "bits per second" MAX-ACCESS read-create STATUS current DESCRIPTION"If mplsTunnelHopAddrType is set"The maximum rate in bits/second. Note that setting mplsTunnelResourceMaxRate, mplsTunnelResourceMeanRate, and mplsTunnelResourceMaxBurstSize toipV4(1), then this value will contain the IPv4 address of this hop.0 indicates best- effort treatment. This object isotherwise insignificant and should contain a valuecopied to an instance of0." ::= { mplsTunnelHopEntry 3 } mplsTunnelHopIpv4PrefixLen OBJECT-TYPE SYNTAX INTEGER (1..32) MAX-ACCESS read-create STATUS current DESCRIPTION "If mplsTunnelHopAddrType is ipV4(1), thenmplsTSpecMaxRate in mplsTSpecTable theprefix length for this hop's IPv4 address is contained herein. This objectindex of which isotherwise insignificantcopied into the corresponding mplsInSegmentTSpecIndex." REFERENCE "Srinivasan, C., Viswanathan, A., andshould contain a value of 0."T. Nadeau, MPLS Label Switch Router Management Information Base Using SMIv2, Internet Draft <draft-ietf-mpls-lsr-mib- 04.txt>, April 26, 2000." ::= {mplsTunnelHopEntry 4mplsTunnelResourceEntry 2 }mplsTunnelHopIpv6AddrmplsTunnelResourceMeanRate OBJECT-TYPE SYNTAXIpv6AddressMplsBitRate UNITS "bits per second" MAX-ACCESS read-create STATUS current DESCRIPTION"If"This object is copied into an instance of mplsTSpecMeanRate in themplsTunnelHopAddrTypemplsTSpecTable. The index of this table isset to ipV6(2),thenthis variable containscopied into theIPv6 address ofcorresponding mplsInSegmentTSpecIndex. When resource allocation is performed as requested by thishop. This objectTSpec object, it isotherwise insignificant and should contain a valuecopied into an entry in mplsTSpecTable [LSRMIB]: mplsTunnelInMeanRate to mplsTSpecMeanRate. The mplsTSpecDirection of0." ::= { mplsTunnelHopEntry 5 } mplsTunnelHopIpv6PrefixLen OBJECT-TYPE SYNTAX INTEGER (1..128) MAX-ACCESS read-create STATUS current DESCRIPTION "If mplsTunnelHopAddrTypethis entry is set toipV6(2), this‘in’(1). The mplsTSpecIndex valuewill contain the prefix length forof thishop's IPv6 address. This objectentry isotherwise insignificant and should contain a valuecopied to mplsInSegmentTSpecIndex of0."the corresponding in-segment entry." REFERENCE "Srinivasan, C., Viswanathan, A., and T. Nadeau, MPLS Label Switch Router Management Information Base Using SMIv2, Internet Draft <draft-ietf-mpls-lsr-mib- 04.txt>, April 26, 2000." ::= {mplsTunnelHopEntry 6mplsTunnelResourceEntry 3 }mplsTunnelHopAsNumbermplsTunnelResourceMaxBurstSize OBJECT-TYPE SYNTAXINTEGER (0..65535)MplsBurstSize UNITS "bytes" MAX-ACCESS read-create STATUS current DESCRIPTION"If mplsTunnelHopAddrType"The maximum burst size in bytes. This object issetcopied toasNumber(3), then this value will containmplsInSegmentMaxBurstSize of theAS numbercorresponding 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 thishop. This objectentry isotherwise insignificant and should contain aset to ‘in’(1). The mplsTSpecIndex value of0 to indicate this fact." ::= { mplsTunnelHopEntry 7 } mplsTunnelHopStrictOrLoose OBJECT-TYPE SYNTAX INTEGER { strict(1), loose(2) } MAX-ACCESS read-create STATUS current DESCRIPTION "Denotes whetherthis entry istunnel hop is routed in a strict or loose fashion."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 <draft-ietf-mpls-lsr-mib- 04.txt>, April 26, 2000." ::= {mplsTunnelHopEntry 8mplsTunnelResourceEntry 4 }mplsTunnelHopRowStatusmplsTunnelResourceRowStatus 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 9mplsTunnelResourceEntry 5 } mplsTunnelResourceStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "This variable indicates the storage type for this object." ::= { mplsTunnelResourceEntry 6 } -- Endof mplsTunnelHopTablemplsTunnelResourceTable -- 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)outehops, strict or loose, for an MPLS tunnel defined in mplsTunnelTable, asset upreported by thespecifiedMPLS 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 signalingprotocols; henceprotocols, implementation of this table is optional.TheFurthermore, since the information in this table isavailable fromactually provided by the MPLS signaling protocol after the path has beenset-up."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." ::= { mplsTeObjects78 } mplsTunnelARHopEntry OBJECT-TYPE SYNTAX MplsTunnelARHopEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table representsan currently activea tunnel hop. An entry is createdin this tablebythea network administrator for signaled ERLSP set up by an MPLS signalingprotocol when the active path for this tunnel is known."protocol." INDEX {mplsTunnelIndex, mplsTunnelInstance,mplsTunnelARHopListIndex, mplsTunnelARHopIndex } ::= { mplsTunnelARHopTable 1 } MplsTunnelARHopEntry ::= SEQUENCE { mplsTunnelARHopListIndex Integer32, mplsTunnelARHopIndex Integer32, mplsTunnelARHopAddrType INTEGER, mplsTunnelARHopIpv4AddrIpAddress,InetAddressIPv4, mplsTunnelARHopIpv4PrefixLen INTEGER, mplsTunnelARHopIpv6AddrIpv6Address,InetAddressIPv6, mplsTunnelARHopIpv6PrefixLen 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 (1..2147483647) MAX-ACCESSread-onlynot-accessible STATUS current DESCRIPTION "Secondary index into this table identifying the particular hop." ::= { mplsTunnelARHopEntry12 } mplsTunnelARHopAddrType OBJECT-TYPE 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 } ::= { mplsTunnelARHopEntry23 } mplsTunnelARHopIpv4Addr OBJECT-TYPE SYNTAXIpAddressInetAddressIPv4 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." ::= { mplsTunnelARHopEntry34 } 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." ::= { mplsTunnelARHopEntry45 } mplsTunnelARHopIpv6Addr OBJECT-TYPE SYNTAXIpv6AddressInetAddressIPv6 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." ::= { mplsTunnelARHopEntry56 } 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." ::= { mplsTunnelARHopEntry67 } 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." ::= { mplsTunnelARHopEntry78 } 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, 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 mplsTunnelOperStatus." ::= {mplsTeNotificationsmplsTeNotifyPrefix 1 } mplsTunnelDown NOTIFICATION-TYPE 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." ::= {mplsTeNotificationsmplsTeNotifyPrefix 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 } mplsTeModuleCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "Compliance statement for agents that support the 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 leastread-onlyread- 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 leastread-onlyread- only returning a value of ldp(2), or rsvp(3)." GROUP mplsTunnelIsNotIntfcGroup DESCRIPTION "This group is mandatory for devices which support tunnels that are not interfaces, in addition to mplsTunnelGroup. The following constraints apply: mplsTunnelIsIf must at least be read-only returning false(1)." GROUP mplsTunnelIsIntfcGroup DESCRIPTION "This group is mandatory for devices which support tunnels that are interfaces, in addition to mplsTunnelGroup. The following constraints apply: mplsTunnelIsIf must at least be read-only returning true(2)." GROUP mplsTunnelOptionalGroup DESCRIPTION "Objects in this group are optional." -- mplsTunnelTable OBJECTmplsTunnelIndex MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT mplsTunnelInstance MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECTmplsTunnelName 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 mplsTunnelIfIndexMIN-ACCESS read-onlyDESCRIPTION "Write access is not required." OBJECTmplsTunnelDirection SYNTAX INTEGER { out(2) } MIN-ACCESS read-only DESCRIPTION "The values in(1) and in-out(3) need not be supported." OBJECT mplsTunnelXCIndexmplsTunnelXCPointer MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT mplsTunnelSignallingProto MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECTmplsTunnelLocalCookiemplsTunnelSetupPrio MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECTmplsTunnelRemoteCookiemplsTunnelHoldingPrio MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECTmplsTunnelSetupPriomplsTunnelSessionAttributes MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECTmplsTunnelHoldingPriomplsTunnelOwner MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECTmplsTunnelSessionAttributesmplsTunnelLocalProtectInUse MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECTmplsTunnelOwnermplsTunnelResourcePointer MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECTmplsTunnelLocalProtectInUsemplsTunnelInstancePriority MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECTmplsTunnelResourceEntryIndexmplsTunnelHopTableIndex MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECTmplsTunnelInstancePriority MIN-ACCESS read-onlymplsTunnelARHopTableIndex DESCRIPTION "Write access is not required." OBJECT mplsTunnelAdminStatus SYNTAX INTEGER { up (1), down (2) } MIN-ACCESS read-only DESCRIPTION "Only up and down states must be supported. Write access is not required." OBJECT mplsTunnelOperStatus SYNTAX INTEGER { up (1), down (2) }MIN-ACCESS read-onlyDESCRIPTION "Only up and down states must be supported. Write access is not required." OBJECT mplsTunnelRowStatus SYNTAX INTEGER { active(1), notInService(2), createAndGo(4), destroy(6) } MIN-ACCESS read-only DESCRIPTION "The notReady(3) and createAndWait(5) states need not be supported. Write access is not required." OBJECT mplsTunnelStorageType SYNTAX INTEGER { other(1) } MIN-ACCESS read-only DESCRIPTION "Only other (1) needs to be supported." -- mplsTunnelHopTable OBJECTmplsTunnelHopIndexmplsTunnelHopAddrType MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECTmplsTunnelHopAddrTypemplsTunnelHopIpv4Addr MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECTmplsTunnelHopIpv4AddrmplsTunnelHopIpv4PrefixLen MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECTmplsTunnelHopIpv4PrefixLenmplsTunnelHopIpv6Addr MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECTmplsTunnelHopIpv6AddrmplsTunnelHopIpv6PrefixLen MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECTmplsTunnelHopIpv6PrefixLenmplsTunnelHopAsNumber MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECTmplsTunnelHopAsNumbermplsTunnelHopLspId 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." 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 MIN-ACCESS read-only DESCRIPTION "Write access is not required."OBJECTmplsTunnelResourceInMaxBurstSizemplsTunnelHopStorageType SYNTAX INTEGER { other(1) } MIN-ACCESS read-only DESCRIPTION"Write access is not required.""Only other (1) needs to be supported." -- mplsTunnelResourceTable OBJECTmplsTunnelResourceOutMaxRatemplsTunnelResourceMaxRate MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECTmplsTunnelResourceOutMeanRatemplsTunnelResourceMeanRate MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECTmplsTunnelResourceOutMaxBurstSizemplsTunnelResourceMaxBurstSize 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." 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,mplsTunnelDescr, mplsTunnelOwner, mplsTunnelXCPointer, mplsTunnelIfIndex, mplsTunnelHopTableIndex, mplsTunnelARHopTableIndex, mplsTunnelAdminStatus, mplsTunnelOperStatus,mplsTunnelRowStatusmplsTunnelRowStatus, 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 ornon-persistent,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." ::= { mplsTeGroups 2 } mplsTunnelSignaledGroup OBJECT-GROUP OBJECTS { mplsTunnelSetupPrio, mplsTunnelHoldingPrio, mplsTunnelSignallingProto,mplsTunnelLocalCookie, mplsTunnelRemoteCookie, mplsTunnelHopIndex,mplsTunnelLocalProtectInUse, mplsTunnelSessionAttributes, mplsTunnelHopIndexNext, mplsTunnelHopAddrType, mplsTunnelHopIpv4Addr, mplsTunnelHopIpv4PrefixLen, mplsTunnelHopIpv6Addr, mplsTunnelHopIpv6PrefixLen, mplsTunnelHopAsNumber, mplsTunnelHopLspId, mplsTunnelHopStrictOrLoose, mplsTunnelHopRowStatus,mplsTunnelResourceEntryIndexmplsTunnelHopStorageType } 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 interfaces." ::= { 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,mplsTunnelDownmplsTunnelDown, mplsTunnelRerouted } STATUS current DESCRIPTION "Set of notifications implemented in this module. None is mandatory." ::= { mplsTeGroups67 } -- End of MPLS-TE-MIB END9.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. 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.10.12. Acknowledgments We wish to thank Adrian Farrel, Eric Gray, Patrick Kerharo, and Pramod Koppol for their comments on this draft.11.13. References [MPLSArch] Rosen, E., Viswanathan, A., and R. Callon, "Multiprotocol Label Switching Architecture", Internet Draft<draft- ietf-mpls-arch-05.txt>,<draft-ietf- mpls-arch-06.txt>, August 1999. [MPLSFW] Callon, R., Doolan, P., Feldman, N., Fredette, A., Swallow, G., and A. Viswanathan, "A Framework for Multiprotocol Label Switching", Internet Draft<draft-ietf-mpls- framework-05.txt>,<draft-ietf- mpls-framework-05.txt>, September 1999. [LSRMIB] Srinivasan, C., Viswanathan, A. and T. Nadeau, "MPLS Label Switch Router Management Information Base Using SMIv2", Internet Draft<draft-ietf-mpls- lsr-mib-01.txt>, 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 <draft-ietf-mpls- ldp-mib-04.txt>, February<draft-ietf-mpls-lsr-mib-04.txt>, 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<draft-ietf- mpls-label-encaps-07.txt>,<draft-ietf-mpls-label-encaps-07.txt>, September 1999. [RSVPTun] Awaduche, D., Berger, L., Der-Haw, G., Li, T., Swallow, G., and V. Srinivasan, "Extensions to RSVP for LSP Tunnels", Internet Draft<draft-mpls-rsvp-lsp- tunnel-04.txt>, September 1999.<draft-mpls-rsvp-lsp-tunnel- 05.txt>, February 2000. [CR-LDP] B. Jamoussi (Editor), "Constraint-Based LSP Setup using LDP", Internet Draft<draft-ietf-mpls-cr-ldp-03.txt>,<draft-ietf- mpls-cr-ldp-03.txt>, September 1999. [Assigned] Reynolds, J., and J. Postel, "Assigned 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. [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. [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 Information for Version 2 of the Simple 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. [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. [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. [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"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. [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. [IPSEC] Kent, S., and Atkinson, R., "Security 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 12.1997. 14. Authors' Addresses Cheenu Srinivasan Tachion Networks, Inc.2 Meridian Road Eatontown,Monmouth Park Corporate Center I Building C, 185 Monmouth Park Highway West Long Branch, NJ0772407764 Phone: +1-732-542-7750x234x1234 Email: cheenu@tachion.com Arun Viswanathan Force10NetworksNetworks, 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.com13.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. 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.