Internet Draft Internet Draft MPLS Traffic Engineering MIB 18 Nov 1998 MPLS Traffic Engineering Management Information Base draft-srinivasan-mpls-te-mib-00.txt November 18, 1998 Cheenu Srinivasan Lucent Technologies cheenu@lucent.com Arun Viswanathan Lucent Technologies arunv@lucent.com Status of this Memo This document is an Internet Draft. 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. Internet Drafts may be updated, replaced, or obsoleted by other documents at any time. It is not appropriate to use Internet Drafts as reference material or to cite them other than as a "working draft" or "work in progress." Please check the I-D abstract listing contained in each Internet Draft directory to learn the current status of this or any other Internet Draft. 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) [1, 2] based traffic engineering. Srinivasan & Viswanathan Expires 18 May 1999 [Page 1] Internet Draft MPLS Traffic Engineering MIB 18 Nov 1998 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 Multi-Protocol Label Switching (MPLS) [1, 2] based traffic engineering, including tunnels and cross-connects. Comments should be made directly to the MPLS mailing list at mpls@external.cisco.com. 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 [1]. An explicitly routed LSP is referred to as an MPLS tunnel. It consists of one in-segment and/or one out-segment at the ingress/egress LSRs. 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. 3. The SNMP Management Framework The SNMP Management Framework presently consists of five major components: - An overall architecture, described in RFC 2271 [7]. - 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 [8], RFC 1212 [9] and RFC 1215 [10]. The second version, called SMIv2, is described in RFC 1902 [11], RFC 1903 [12] and RFC 1904 [13]. - Message protocols for transferring management information. The first version of the SNMP message protocol is called SNMPv1 and described in RFC 1157 [14]. A second version of the SNMP message protocol, which is not an Internet standards track protocol, is called SNMPv2c and described in RFC 1901 [15] and RFC 1906 [16]. The third version of the message protocol is called SNMPv3 and described in RFC 1906 [16], RFC 2272 [17] and RFC 2274 [18]. Srinivasan & Viswanathan Expires 18 May 1999 [Page 2] Internet Draft MPLS Traffic Engineering MIB 18 Nov 1998 - Protocol operations for accessing management information. The first set of protocol operations and associated PDU formats is described in RFC 1157 [14]. A second set of protocol operations and associated PDU formats is described in RFC 1905 [19]. - A set of fundamental applications described in RFC 2273 [20] and the view-based access control mechanism described in RFC 2275 [21]. 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. 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. - The MIB must support the configuration of point-to-point uni- directional tunnels. - The MIB should be able to support the configuration of point-to- point bi-directional tunnels. - The MIB should be able to support the configuration of multipoint-to-point unidirectional tunnels. Srinivasan & Viswanathan Expires 18 May 1999 [Page 3] Internet Draft MPLS Traffic Engineering MIB 18 Nov 1998 - MPLS tunnels need not be interfaces, but it should be possible to configure a tunnel as an interface. - The MIB should be able to support both manually configured MPLS tunnels and cross-connects as well as via LDP and/or RSVP signalling. - MPLS packets must be forwarded solely based on an incoming top label [1, 3]. - Support must be provided for next-hop resolution when the outgoing interface is a shared media interface. In the multicast case, each outgoing segment can be on a different shared media interface. - The MIB must support point-to-point, point-to-multipoint (multicast) and multipoint-to-point connections at a cross- connect LSR. - For multipoint-to-point connections all the outgoing packets must have the same top label. - For multipoint-to-point connections the outgoing resources of the merged connections must be shared. - For multipoint-to-point connections, packets from different incoming connections may have distinct outgoing label stacks, beneath the (identical) top label. - In the multicast case each outgoing connection can have a distinct label stack including the top label. - In a multicast connection the ingress resources are shared by all the members of the connection. - The MIB must provide cross-connect capability to "pop" an incoming label and forward the packet with the rest of the label stack unchanged and without pushing any labels ("pop-and- go") [3]. - It must be possible to assign or remap COS bits [3] on the outgoing label. In the multipoint-to-point case, each in- segment can have a different outgoing COS value. In the multicast case, each out-segment can have a different outgoing COS value. - Performance counters must be provided for in-segments and out- segments. Srinivasan & Viswanathan Expires 18 May 1999 [Page 4] Internet Draft MPLS Traffic Engineering MIB 18 Nov 1998 5. Outline Traffic engineering support for MPLS tunnels and cross-connects requires the following configuration. - Setting up MPLS tunnels with the appropriate configuration parameters. - Setting up tunnel segments with appropriate traffic parameters. - Setting up the cross-connect table to switch between segments. - Specifying label stack actions. 5.1. Summary of MPLS MIB The MIB objects for performing these actions consist of the following tables. - Tunnel Table (mplsTunnelTable) and Tunnel Hop Table (mplsTunnelHopTable) to configure MPLS tunnels. - In-Segment (mplsInSegmentTable) and Out-Segment (mplsOutSegmentTable) Tables for configuring in and out segment of a tunnel at the ingress and egress LSRs of the tunnel. These tables are also used for defining the segments comprising a cross-connect entry at intermediate LSRs of a tunnel. - Cross-Connect Table (mplsXCTable) for configuring MPLS cross- connects and creating relationships between in and out tunnel segments constituing a cross-connect. - Label Stack Table (mplsLabelStackTable) for specifying label stack operations. Further, the MPLS In-Segment and Out-Segment Performance Tables contain the objects necessary to measure the performance of both tunnels and cross-connects. These tables are described in the subsequent sections. 6. MPLS Tunnels The tables described in this section support the functionality described in documents [4, 5]. The tables support both manually configured and signalled tunnels. Moreover, it provides the capability to associate two uni-directional tunnels to form a Srinivasan & Viswanathan Expires 18 May 1999 [Page 5] Internet Draft MPLS Traffic Engineering MIB 18 Nov 1998 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, although multipoint-to-point and point-to- multipoint 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. 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 (Section 5) and referring to these rows in the mplsTunnelTable using a cross-connect index, mplsTunnelXCID. Section 5.7 provides a detailed explanation. 6.2. mplsTunnelHopTable mplsTunnelHopTable is used to indicate the hops, strict or loose, for an MPLS tunnel defined in mplsTunnelTable, when it is established via signalling. 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 mplsTunnelNextHopIndex corresponding to the next hop of this tunnel. The scalar mplsTunnelMaxHops, indicates the maximum number of hops that can be specified per tunnel on this LSR. 7. MPLS Cross-Connect The tables described in this section, when considered together, is equivalent to the tables described in the MPLS architecture document [1], that is, the Next Hop Label Forwarding Entry (NHLFE) and the Incoming Label Map (ILM) tables. 7.1. mplsInSegmentTable This table contains a description of the the incoming MPLS segments to an LSR and their traffic parameters. 7.2. mplsInSegmentPerfTable Srinivasan & Viswanathan Expires 18 May 1999 [Page 6] Internet Draft MPLS Traffic Engineering MIB 18 Nov 1998 The MPLS In-Segment Performance Table has objects to measure the performance of an incoming segment configured on an LSR. It is an AUGMENT to mplsInSegmentTable. 7.3. mplsOutSegmentTable The Out-Segment Table contains a description of the the outgoing MPLS segments at an LSR and their traffic parameters. 7.4. mplsOutSegmentPerfTable The MPLS Out-Segment Table contains objects to measure the performance of an outgoing segment configured on an LSR. It is an AUGMENT to mplsOutSegmentTable. 7.5. mplsXCTable mplsXCTable specifies information for switching between segments. It supports point-to-point, point-to-multipoint (multicasting), and multipoint-to-point (multiplexing) connections. 7.6. mplsLabelStackTable mplsLabelStackTable specifies the label stack to be pushed onto a packet, beneath the top label. Entries to this table are referred to from mplsXCTable. 7.7. Specifying the Segments of a Tunnel Suppose that we want to manually create a bi-directional tunnel, consiting of in-segment and an out-segment on an LSR (with no label stack beneath the top label on the outgoing labeled packets). The following rows and corresponding objects need to be created to do this. First, the in-segment and the out-segment are created with the appropriate traffic parameters. In mplsInSegmentTable: { mplsInSegmentIfIndex = i1, mplsInSegmentLabel = l1, mplsInSegmentNPop = 1, mplsInSegmentMaxRate, Srinivasan & Viswanathan Expires 18 May 1999 [Page 7] Internet Draft MPLS Traffic Engineering MIB 18 Nov 1998 mplsInSegmentMeanRate, mplsInSegmentMaxBurstSize, mplsInSegmentRowStatus = createAndGo(3) } In mplsOutSegmentTable: { mplsOutSegmentIndex = o, mplsOutSegmentIfIndex = i2, mplsOutSegmentPushTopLabel = true(1), mplsOutSegmentTopLabel = l2, mplsOutSegmentMaxRate, mplsOutSegmentMeanRate, mplsOutSegmentMaxBurstSize, mplsOutSegmentRowStatus = createAndGo(3) } Next, two cross-connect entries associating these two segments by sharing the same mplsXCIndex are created. In mplsXCTable, for the in-segment: { mplsXCIndex = x, mplsInSegmentIfIndex = i1, mplsInSegmentLabel = l1, mplsOutSegmentIndex = 0, mplsLabelStackIndex = 0, mplsXCRowStatus = createAndGo(3) } In mplsXCTable, for the out-segment: { mplsXCIndex = x, mplsInSegmentIfIndex = 0, mplsInSegmentLabel = 0, mplsOutSegmentIndex = o, mplsXCLabelStackIndex = 0, mplsXCRowStatus = createAndGo(3) } Note that the objects mplsInSegmentXCIndex and mplsOutSegmentXCIndex will automatically get populated with the value "x" when these segments are referred to from the corresponding cross-connect entries. Finally, the tunnel entry is created, which points to the appropriate cross-connect entries. In mplsTunnelTable: { Srinivasan & Viswanathan Expires 18 May 1999 [Page 8] Internet Draft MPLS Traffic Engineering MIB 18 Nov 1998 mplsTunnelIndex, mplsTunnelXCIndex = mplsXCIndex = x, mplsTunnelDirection = in-out(3), mplsXCRowStatus = createAndGo(3) } 8. MPLS Traffic Engineering MIB Definitions MPLS-TE-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, experimental, Integer32, Counter32, IpAddress FROM SNMPv2-SMI MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF TEXTUAL-CONVENTION, TruthValue, RowStatus FROM SNMPv2-TC InterfaceIndex, InterfaceIndexOrZero FROM IF-MIB BitRate, BurstSize FROM INTEGRATED-SERVICES-MIB; mplsTeMIB MODULE-IDENTITY LAST-UPDATED "9811181300Z" -- 18 November 1998 13:00:00 EST ORGANIZATION "Lucent Technologies" CONTACT-INFO " Cheenu Srinivasan Postal: Lucent Technologies 4F535, 101 Crawfords Corner Road Holmdel, NJ 07733 Tel: +1 732 949 0709 Email: cheenu@lucent.com Arun Viswanathan Postal: Lucent Technologies 4D537, 101 Crawfords Corner Road Holmdel, NJ 07733 Tel: +1 732 332 5163 Email: arunv@lucent.com" DESCRIPTION "Proposed MIB module for MPLS Traffic Engineering (TE) as defined in: Extensions to RSVP for LSP Tunnels, Awduche et al, Internet Draft, Nov. 1998." ::= { TBD } -- to be assigned Srinivasan & Viswanathan Expires 18 May 1999 [Page 9] Internet Draft MPLS Traffic Engineering MIB 18 Nov 1998 -- Textual Conventions. MplsTeIANAAddrFamily ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "An address family. Values are defined in RFC 1700 - Assigned Numbers. All values may not be relevant in all contexts when used in this MIB, but are included for completeness." REFERENCE "RFC 1700 - Assigned Numbers, Reynolds and Postel, Oct. 1994" SYNTAX INTEGER { other(0), ipv4(1), ipv6(2), nsap(3), hdlc(4), bbn1822(5), ieee802(6), e163(7), e164(8), f69(9), x121(10), ipx(11), appleTalk(12), decnetIV(13), banyanVines(14), e164WithNsap(15) } -- 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 inter- face 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 datapath." REFERENCE "1. MPLS Label Stack Encoding, Rosen et al, draft-ietf-mpls-label-encaps-03.txt, Oct. 1998 Srinivasan & Viswanathan Expires 18 May 1999 [Page 10] Internet Draft MPLS Traffic Engineering MIB 18 Nov 1998 2. Use of Label Switching on Frame Relay Networks, Conta et al, draft-ietf-mpls-fr-00.txt, Dec. 1997." SYNTAX Integer32 MplsTunnelIndex ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "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 signalled tunnels this cookie is piggybacked by the signalling 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 uni- directional 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(6)) -- Top level components of this MIB. mplsTeObjects OBJECT IDENTIFIER ::= { mplsTeMIB 1 } -- tables, scalars mplsTeNotifications OBJECT IDENTIFIER ::= { mplsTeMIB 2 } -- traps mplsTeConformance OBJECT IDENTIFIER ::= { mplsTeMIB 3 } -- conformance -- MPLS tunnel table. 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 Srinivasan & Viswanathan Expires 18 May 1999 [Page 11] Internet Draft MPLS Traffic Engineering MIB 18 Nov 1998 point-to-point tunnel segments are supported, although multipoint-to-point and point-to-multipoint 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 1 } 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 LDP or RSVP." INDEX { mplsTunnelIndex } ::= { mplsTunnelTable 1 } MplsTunnelEntry ::= SEQUENCE { mplsTunnelIndex MplsTunnelIndex, mplsTunnelName DisplayString, mplsTunnelDescr DisplayString, mplsTunnelIsIf TruthValue, mplsTunnelIfIndex InterfaceIndexOrZero, mplsTunnelDirection INTEGER, mplsTunnelXCIndex Integer32, mplsTunnelRemoteIpAddr IpAddress, mplsTunnelSignallingProto INTEGER, mplsTunnelLocalCookie MplsTunnelCookie, mplsTunnelRemoteCookie MplsTunnelCookie, mplsTunnelIsMergeable TruthValue, mplsTunnelSetupPrio INTEGER, mplsTunnelHoldingPrio INTEGER, mplsTunnelAdminStatus INTEGER, mplsTunnelOperStatus INTEGER, mplsTunnelRowStatus RowStatus } mplsTunnelIndex OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-create STATUS current DESCRIPTION "Uniquely identifies this row." ::= { mplsTunnelEntry 1 } mplsTunnelName OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-create STATUS current Srinivasan & Viswanathan Expires 18 May 1999 [Page 12] Internet Draft MPLS Traffic Engineering MIB 18 Nov 1998 DESCRIPTION "The `canonical' name assigned to the tunnel that can be used to refer to it on the `console' port. If mplsTunnelIsIf is set to true 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 and Kastenholtz, Nov. 1997" ::= { mplsTunnelEntry 2 } 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 3 } mplsTunnelIsIf OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "Is this tunnel also an interface?" DEFVAL { false } ::= { mplsTunnelEntry 4 } mplsTunnelIfIndex OBJECT-TYPE SYNTAX InterfaceIndexOrZero MAX-ACCESS read-only STATUS current DESCRIPTION "If this tunnel is an interface then the LSR assigned ifIndex. Otherwise this is set to zero." DEFVAL { 0 } ::= { mplsTunnelEntry 5 } mplsTunnelDirection OBJECT-TYPE SYNTAX INTEGER { in(1), out(2), in-out(3) } MAX-ACCESS read-create STATUS current DESCRIPTION "Whether this tunnel is unidirectional-incoming, unidirectional- outgoing, or bidirectional." ::= { mplsTunnelEntry 6 } Srinivasan & Viswanathan Expires 18 May 1999 [Page 13] Internet Draft MPLS Traffic Engineering MIB 18 Nov 1998 mplsTunnelXCIndex OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-create STATUS current DESCRIPTION "Index into mplsXCTable identifying the segments that compose this tunnel, their characteristics, relationship etc." DEFVAL { 0 } ::= { mplsTunnelEntry 7 } mplsTunnelRemoteIpAddr OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-create STATUS current DESCRIPTION "The IP Address of the remote end-point of this tunnel." ::= { mplsTunnelEntry 8 } mplsTunnelSignallingProto OBJECT-TYPE SYNTAX INTEGER { none(1), ldp(2), rsvp(3) } MAX-ACCESS read-create STATUS current DESCRIPTION "The signalling protocol, if any, that 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 } mplsTunnelIsMergeable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION Srinivasan & Viswanathan Expires 18 May 1999 [Page 14] Internet Draft MPLS Traffic Engineering MIB 18 Nov 1998 "Whether this tunnel can be merged at an LSR downstream with another tunnel." DEFVAL { true } ::= { mplsTunnelEntry 12 } mplsTunnelSetupPrio OBJECT-TYPE SYNTAX INTEGER (0..7) MAX-ACCESS read-create STATUS current DESCRIPTION "The setup priority of this tunnel." REFERENCE "Extensions to RSVP for LSP Tunnels, Awduche et al, Internet Draft , Nov. 1998." ::= { mplsTunnelEntry 13 } mplsTunnelHoldingPrio OBJECT-TYPE SYNTAX INTEGER (0..7) MAX-ACCESS read-create STATUS current DESCRIPTION "The holding priority for this tunnel." REFERENCE "Extensions to RSVP for LSP Tunnels, Awduche et al, Internet Draft , Nov. 1998." ::= { mplsTunnelEntry 14 } 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 "Desired status of this tunnel." ::= { mplsTunnelEntry 15 } 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 for -- some reason dormant(5), notPresent(6), -- some component is missing Srinivasan & Viswanathan Expires 18 May 1999 [Page 15] Internet Draft MPLS Traffic Engineering MIB 18 Nov 1998 lowerLayerNotPresent(7) -- down due to the state of -- lower layer interfaces } MAX-ACCESS read-only STATUS current DESCRIPTION "The operational status of this tunnel, typically a function of the state of individual segments of this tunnel, among other things." ::= { mplsTunnelEntry 16 } mplsTunnelRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "For controlling the state of this row." ::= { mplsTunnelEntry 17 } -- End of mplsTunnelTable -- Maximum number of tunnel hops supported. mplsTunnelMaxHops OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-only STATUS current DESCRIPTION "The maximum number of hops that can be specified for a tunnel on this device." ::= { mplsTeObjects 2 } -- Tunnel hop table. mplsTunnelHopTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsTunnelEntry 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 establised via signalling, 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 mplsTunnelNextHopIndex corresponding to the next hop that this row corresponds to. Srinivasan & Viswanathan Expires 18 May 1999 [Page 16] Internet Draft MPLS Traffic Engineering MIB 18 Nov 1998 The first row in the table is the first hop after the origination point of the tunnel." ::= { mplsTeObjects 3 } 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 signalled ERLSP set up by LDP or RSVP." INDEX { mplsTunnelIndex, mplsHopIndex } ::= { mplsTunnelHopTable 1 } MplsTunnelHopEntry ::= SEQUENCE { mplsHopIndex Integer32, mplsHopIpAddr IpAddress, mplsHopStrictOrLoose INTEGER, mplsHopRowStatus RowStatus } mplsHopIndex OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "Secondary index into this table identifying the particular hop." ::= { mplsTunnelHopEntry 1 } -- Since the next hop could also be an AS number, IPv6 address or a -- tunnel identifier, this field may need to be augmented by a -- "next-hop type" and one object per possible type. mplsHopIpAddr OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-create STATUS current DESCRIPTION "IP Address of the hop represented by this mplsTunnelHopEntry instance." ::= { mplsTunnelHopEntry 2 } mplsHopStrictOrLoose OBJECT-TYPE SYNTAX INTEGER { strict(1), loose(2) } MAX-ACCESS read-create STATUS current DESCRIPTION "Whether this is a strict or loose hop." ::= { mplsTunnelHopEntry 3 } Srinivasan & Viswanathan Expires 18 May 1999 [Page 17] Internet Draft MPLS Traffic Engineering MIB 18 Nov 1998 mplsHopRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "For creating, modifying and deleting this row." ::= { mplsTunnelHopEntry 4 } -- End of mplsTunnelHopTable -- In-segment table. mplsInSegmentTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsInSegmentEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains a description of the incoming segments to a LSR." ::= { mplsTeObjects 4 } mplsInSegmentEntry OBJECT-TYPE SYNTAX MplsInSegmentEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table represents one incoming segment. An entry can be created by a network administrator or by an SNMP agent as instructed by LDP or RSVP. It is indexed by the incoming interface index and (top) label." INDEX { mplsInSegmentIfIndex, mplsInSegmentLabel } ::= { mplsInSegmentTable 1 } MplsInSegmentEntry ::= SEQUENCE { mplsInSegmentIfIndex InterfaceIndex, mplsInSegmentLabel MplsLabel, mplsInSegmentNPop Integer32, mplsInSegmentAddrFamily MplsTeIANAAddrFamily, mplsInSegmentXCIndex Integer32, mplsInSegmentMaxRate BitRate, mplsInSegmentMeanRate BitRate, mplsInSegmentMaxBurstSize BurstSize, mplsInSegmentAdminStatus INTEGER, mplsInSegmentOperStatus INTEGER, mplsInSegmentRowStatus RowStatus } Srinivasan & Viswanathan Expires 18 May 1999 [Page 18] Internet Draft MPLS Traffic Engineering MIB 18 Nov 1998 mplsInSegmentIfIndex OBJECT-TYPE SYNTAX InterfaceIndexOrZero MAX-ACCESS read-create STATUS current DESCRIPTION "Incoming interface index. While the value 0 is not valid as an index for this row, it can be supplied as a valid index for mplsXCTable to refer to entries for which no in-segment has been configured." ::= { mplsInSegmentEntry 1 } mplsInSegmentLabel OBJECT-TYPE SYNTAX MplsLabel MAX-ACCESS not-accessible STATUS current DESCRIPTION "The incoming label." ::= { mplsInSegmentEntry 2 } mplsInSegmentNPop OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-create STATUS current DESCRIPTION "The number of labels to pop from the incoming packet. Normally only the top label is popped (based on which all switching decisions are taken)." DEFVAL { 1 } ::= { mplsInSegmentEntry 3 } mplsInSegmentAddrFamily OBJECT-TYPE SYNTAX MplsTeIANAAddrFamily MAX-ACCESS read-create STATUS current DESCRIPTION "The IANA address family of the incoming packet. A value of zero indicates that the family type is either unknown or undefined (which could happen for example when streams of different types are merged in a multipoint-to-point conn- ection)." REFERENCE "RFC 1700 - Assigned Numbers, Reynolds and Postel, October 1994." DEFVAL { 0 } ::= { mplsInSegmentEntry 4 } mplsInSegmentXCIndex OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION Srinivasan & Viswanathan Expires 18 May 1999 [Page 19] Internet Draft MPLS Traffic Engineering MIB 18 Nov 1998 "Index into mplsXCTable to identify which cross-connect entry this segment is part of. A value of zero indicates that it is not being referred to by any cross-connect entry." DEFVAL { 0 } ::= { mplsInSegmentEntry 5 } mplsInSegmentMaxRate OBJECT-TYPE SYNTAX BitRate UNITS "bits per second" MAX-ACCESS read-create STATUS current DESCRIPTION "The maximum incoming rate in bits/second. Note that setting mplsInSegmentMaxRate, mplsInSegmentMeanRate, and mplsInSegmentMaxBurstSize to 0 indicates best-effort treatment." DEFVAL { 0 } ::= { mplsInSegmentEntry 6 } mplsInSegmentMeanRate OBJECT-TYPE SYNTAX BitRate UNITS "bits per second" MAX-ACCESS read-create STATUS current DESCRIPTION "The mean incoming rate in bits/second." DEFVAL { 0 } ::= { mplsInSegmentEntry 7 } mplsInSegmentMaxBurstSize OBJECT-TYPE SYNTAX BurstSize UNITS "bytes" MAX-ACCESS read-create STATUS current DESCRIPTION "The maximum burst size in bytes." DEFVAL { 0 } ::= { mplsInSegmentEntry 8 } mplsInSegmentAdminStatus 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 "Desired status of this segment." ::= { mplsInSegmentEntry 9 } Srinivasan & Viswanathan Expires 18 May 1999 [Page 20] Internet Draft MPLS Traffic Engineering MIB 18 Nov 1998 mplsInSegmentOperStatus OBJECT-TYPE SYNTAX INTEGER { up(1), -- ready to pass packets down(2), testing(3), -- in some test mode unknown(4), -- status cannot be determined for -- some reason dormant(5), notPresent(6), -- some component is missing lowerLayerNotPresent(7) -- down due to the state of -- lower layer interfaces } MAX-ACCESS read-only STATUS current DESCRIPTION "The operational status of this segment." ::= { mplsInSegmentEntry 10 } mplsInSegmentRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "For creating, modifying, and deleting this row." ::= { mplsInSegmentEntry 11 } -- End of mplsInSegmentTable -- In-segment performance table. mplsInSegmentPerfTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsInSegmentPerfEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains statistical information about incoming MPLS segments to an LSR." ::= { mplsTeObjects 5 } mplsInSegmentPerfEntry OBJECT-TYPE SYNTAX MplsInSegmentPerfEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table contains statistical information about one incoming segment configured in mplsInSegmentTable." AUGMENTS { mplsInSegmentEntry } Srinivasan & Viswanathan Expires 18 May 1999 [Page 21] Internet Draft MPLS Traffic Engineering MIB 18 Nov 1998 ::= { mplsInSegmentPerfTable 1 } MplsInSegmentPerfEntry ::= SEQUENCE { mplsInSegmentOctets Counter32, mplsInSegmentPackets Counter32, mplsInSegmentErrors Counter32, mplsInSegmentDiscards Counter32 } mplsInSegmentOctets OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of octets received." ::= { mplsInSegmentPerfEntry 1 } mplsInSegmentPackets OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of packets received." ::= { mplsInSegmentPerfEntry 2 } mplsInSegmentErrors OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of errored packets received." ::= { mplsInSegmentPerfEntry 3 } mplsInSegmentDiscards OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of packets received that had to be dropped either because of errors or for other reasons such as buffer overflows." ::= { mplsInSegmentPerfEntry 4 } -- End of mplsInSegmentPerfTable. -- Out-segment table. mplsOutSegmentTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsOutSegmentEntry Srinivasan & Viswanathan Expires 18 May 1999 [Page 22] Internet Draft MPLS Traffic Engineering MIB 18 Nov 1998 MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains a description of the outgoing segments from an LSR." ::= { mplsTeObjects 6 } mplsOutSegmentEntry OBJECT-TYPE SYNTAX MplsOutSegmentEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table represents one outgoing segment. An entry can be created by a network administrator or by an SNMP agent as instructed by LDP or RSVP." INDEX { mplsOutSegmentIndex } ::= { mplsOutSegmentTable 1 } MplsOutSegmentEntry ::= SEQUENCE { mplsOutSegmentIndex Integer32, mplsOutSegmentIfIndex InterfaceIndex, mplsOutSegmentPushTopLabel TruthValue, mplsOutSegmentTopLabel MplsLabel, mplsOutSegmentNextHopIpAddr IpAddress, mplsOutSegmentXCIndex Integer32, mplsOutSegmentMaxRate BitRate, mplsOutSegmentMeanRate BitRate, mplsOutSegmentMaxBurstSize BurstSize, mplsOutSegmentAdminStatus INTEGER, mplsOutSegmentOperStatus INTEGER, mplsOutSegmentRowStatus RowStatus } mplsOutSegmentIndex OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "Unique index for this row. While a value of 0 is not valid as an index for this row it can be supplied as a valid value to index mplsXCTable to access entries for which no out-segment has been configured." ::= { mplsOutSegmentEntry 1 } mplsOutSegmentIfIndex OBJECT-TYPE SYNTAX InterfaceIndex MAX-ACCESS read-create STATUS current DESCRIPTION "Interface index of the outgoing interface." Srinivasan & Viswanathan Expires 18 May 1999 [Page 23] Internet Draft MPLS Traffic Engineering MIB 18 Nov 1998 ::= { mplsOutSegmentEntry 2 } mplsOutSegmentPushTopLabel OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "Whether a top label should be pushed onto the outgoing packet's label stack. Its value has to be true if the outgoing interface is ATM (which does not support `pop-and-go') or if it is a tunnel origination. Note also that the case where mplsOutSegmentPushTopLabel is set to false but the cross-connect entry that refers to this out-segment has a non-zero mplsLabelStackIndex is an error which the LSR should ensure doesn't happen." ::= { mplsOutSegmentEntry 3 } mplsOutSegmentTopLabel OBJECT-TYPE SYNTAX MplsLabel MAX-ACCESS read-create STATUS current DESCRIPTION "If mplsOutSegmentPushTopLabel is true then this is the label that should be pushed onto the outgoing packet's label stack. Note that the contents of the label field can be interpreted in an outgoing interface 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 is 24 bits wide and the top 8 bits must be zero. For ATM interfaces the lowermost 16 bits are interpreted as the VCI, the next 8 bits as the VPI and the remaining bits must be zero." ::= { mplsOutSegmentEntry 4 } mplsOutSegmentNextHopIpAddr OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-create STATUS current DESCRIPTION "IP Address of the next hop. A value of zero is valid (only) when the outgoing interface is point-to-point." ::= { mplsOutSegmentEntry 5 } mplsOutSegmentXCIndex OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-create STATUS current DESCRIPTION "Index into mplsXCTable to identify which cross-connect entry this segment is part of. A value of zero indicates that it Srinivasan & Viswanathan Expires 18 May 1999 [Page 24] Internet Draft MPLS Traffic Engineering MIB 18 Nov 1998 is not being referred to by any cross-connect entry." DEFVAL { 0 } ::= { mplsOutSegmentEntry 6 } mplsOutSegmentMaxRate OBJECT-TYPE SYNTAX BitRate UNITS "bits per second" MAX-ACCESS read-create STATUS current DESCRIPTION "Maximum outgoing rate in bits/second. Note that setting mplsOutSegmentMaxRate, mplsOutSegmentMeanRate, and mplsOutSegmentMaxBurstSize to 0 indicates best-effort treatment." DEFVAL { 0 } ::= { mplsOutSegmentEntry 7 } mplsOutSegmentMeanRate OBJECT-TYPE SYNTAX BitRate UNITS "bits per second" MAX-ACCESS read-create STATUS current DESCRIPTION "Mean outgoing rate in bits/second." DEFVAL { 0 } ::= { mplsOutSegmentEntry 8 } mplsOutSegmentMaxBurstSize OBJECT-TYPE SYNTAX BurstSize UNITS "bytes" MAX-ACCESS read-create STATUS current DESCRIPTION "Maximum burst size in bytes." DEFVAL { 0 } ::= { mplsOutSegmentEntry 9 } mplsOutSegmentAdminStatus 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 "Desired status of this segment." ::= { mplsOutSegmentEntry 10 } mplsOutSegmentOperStatus OBJECT-TYPE Srinivasan & Viswanathan Expires 18 May 1999 [Page 25] Internet Draft MPLS Traffic Engineering MIB 18 Nov 1998 SYNTAX INTEGER { up(1), -- ready to pass packets down(2), testing(3), -- in some test mode unknown(4), -- status cannot be determined for -- some reason dormant(5), notPresent(6), -- some component is missing lowerLayerNotPresent(7) -- down due to the state of -- lower layer interfaces } MAX-ACCESS read-only STATUS current DESCRIPTION "The operational status of this segment." ::= { mplsOutSegmentEntry 11 } mplsOutSegmentRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "For creating, modifying, and deleting this row." ::= { mplsOutSegmentEntry 12 } -- End of mplsOutSegmentTable -- Out-segment performance table. mplsOutSegmentPerfTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsOutSegmentPerfEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains statistical information about incoming segments to an LSR." ::= { mplsTeObjects 7 } mplsOutSegmentPerfEntry OBJECT-TYPE SYNTAX MplsOutSegmentPerfEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table contains statistical information about one incoming segment configured in mplsOutSegmentTable." AUGMENTS { mplsOutSegmentEntry } ::= { mplsOutSegmentPerfTable 1 } Srinivasan & Viswanathan Expires 18 May 1999 [Page 26] Internet Draft MPLS Traffic Engineering MIB 18 Nov 1998 MplsOutSegmentPerfEntry ::= SEQUENCE { mplsOutSegmentOctets Counter32, mplsOutSegmentPackets Counter32, mplsOutSegmentErrors Counter32, mplsOutSegmentDiscards Counter32 } mplsOutSegmentOctets OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of octets sent." ::= { mplsOutSegmentPerfEntry 1 } mplsOutSegmentPackets OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of packets sent." ::= { mplsOutSegmentPerfEntry 2 } mplsOutSegmentErrors OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of errored packets sent." ::= { mplsOutSegmentPerfEntry 3 } mplsOutSegmentDiscards OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of packets sent that had to be dropped either because of errors or for other reasons such as buffer overflows." ::= { mplsOutSegmentPerfEntry 4 } -- End of mplsOutSegmentPerfTable. -- Cross-connect table. mplsXCTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsXCEntry MAX-ACCESS not-accessible STATUS current Srinivasan & Viswanathan Expires 18 May 1999 [Page 27] Internet Draft MPLS Traffic Engineering MIB 18 Nov 1998 DESCRIPTION "This table specifies information for switching between MPLS tunnels segments. It supports point-to-point, point-to-multipoint (multicast) and multipoint-to-point connections. mplsLabelStackTable specifies the label stack information for a cross-connect LSR and is referred to from mplsXCTable." ::= { mplsTeObjects 8 } mplsXCEntry OBJECT-TYPE SYNTAX MplsXCEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row in this table represents one cross-connect entry. It is indexed by the following objects: - cross-connect index that uniquely identifies a group of cross-connect entries - interface index of the in-segment - incoming label(s) - out-segment index An entry can be created by a network administrator or by an SNMP agent as instructed by LDP or RSVP." INDEX { mplsXCIndex, mplsInSegmentIfIndex, mplsInSegmentLabel, mplsOutSegmentIndex } ::= { mplsXCTable 1 } MplsXCEntry ::= SEQUENCE { mplsXCIndex Integer32, mplsXCLabelStackIndex Integer32, mplsXCCOS Integer32, mplsXCAdminStatus INTEGER, mplsXCOperStatus INTEGER, mplsXCRowStatus RowStatus } mplsXCIndex OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "Primary index for the row indentifying a group of cross-connect segments." ::= { mplsXCEntry 1 } mplsXCLabelStackIndex OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-create STATUS current DESCRIPTION Srinivasan & Viswanathan Expires 18 May 1999 [Page 28] Internet Draft MPLS Traffic Engineering MIB 18 Nov 1998 "Primary index into mplsLabelStackTable identifying a stack of labels to be pushed beneath the top label. Note that the top label is identified in the out-segment which ensures that all the components of a multipoint-to-point connection have the same outgoing label. A value of 0 indicates that no labels are to be stacked beneath the top label." ::= { mplsXCEntry 2 } mplsXCCOS OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-create STATUS current DESCRIPTION "Value to override the incoming COS field with for a cross-connect or the value to assign to outgoing packets for an outgoing segment of a tunnel." ::= { mplsXCEntry 3 } mplsXCAdminStatus 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 "Desired status of this segment." ::= { mplsXCEntry 4 } mplsXCOperStatus OBJECT-TYPE SYNTAX INTEGER { up(1), -- ready to pass packets down(2), testing(3), -- in some test mode unknown(4), -- status cannot be determined for -- some reason dormant(5), notPresent(6), -- some component is missing lowerLayerNotPresent(7) -- down due to the state of -- lower layer interfaces } MAX-ACCESS read-only STATUS current DESCRIPTION "The operational status of this segment." ::= { mplsXCEntry 5 } Srinivasan & Viswanathan Expires 18 May 1999 [Page 29] Internet Draft MPLS Traffic Engineering MIB 18 Nov 1998 mplsXCRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "For creating, modifying, and deleting this row." ::= { mplsXCEntry 6 } -- End of mplsXCTable -- Label stack table. mplsLabelStackTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsLabelStackEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table specifies the label stack to be pushed onto a packet, beneath the top label. Entries into this table are referred to from mplsXCTable." ::= { mplsTeObjects 9 } mplsLabelStackEntry OBJECT-TYPE SYNTAX MplsLabelStackEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table represents one label to be pushed onto an outgoing packets beneath the top label. An entry can be created by a network administrator or by an SNMP agent as instructed by LDP or RSVP." INDEX { mplsLabelStackIndex } ::= { mplsLabelStackTable 1 } MplsLabelStackEntry ::= SEQUENCE { mplsLabelStackIndex Integer32, mplsLabelStackLabelIndex Integer32, mplsLabelStackLabel MplsLabel, mplsLabelStackRowStatus RowStatus } mplsLabelStackIndex OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "Primary index for this row identifying a stack of labels to be pushed on an outgoing packet beneath the top label." ::= { mplsLabelStackEntry 1 } Srinivasan & Viswanathan Expires 18 May 1999 [Page 30] Internet Draft MPLS Traffic Engineering MIB 18 Nov 1998 mplsLabelStackLabelIndex OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "Secondary index for this row identifying one label of the stack." ::= { mplsLabelStackEntry 2 } mplsLabelStackLabel OBJECT-TYPE SYNTAX MplsLabel MAX-ACCESS read-create STATUS current DESCRIPTION "Label to pushed." ::= { mplsLabelStackEntry 3 } mplsLabelStackRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "For creating, modifying, and deleting this row." ::= { mplsLabelStackEntry 4 } -- End of mplsLabelStackTable -- Notifications. -- Tunnel. mplsTunnelUp NOTIFICATION-TYPE OBJECTS { mplsTunnelIndex, 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." ::= { mplsTeNotifications 1 } mplsTunnelDown NOTIFICATION-TYPE OBJECTS { mplsTunnelIndex, mplsTunnelAdminStatus, mplsTunnelOperStatus } STATUS current Srinivasan & Viswanathan Expires 18 May 1999 [Page 31] Internet Draft MPLS Traffic Engineering MIB 18 Nov 1998 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 } -- In-segment. mplsInSegmentUp NOTIFICATION-TYPE OBJECTS { mplsInSegmentIfIndex, mplsInSegmentLabel, mplsInSegmentAdminStatus, mplsInSegmentOperStatus } STATUS current DESCRIPTION "This notification is generated when a mplsInSegmentOperStatus object for one of the configured in-segments 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 mplsInSegmentOperStatus." ::= { mplsTeNotifications 3 } mplsInSegmentDown NOTIFICATION-TYPE OBJECTS { mplsInSegmentIfIndex, mplsInSegmentLabel, mplsInSegmentAdminStatus, mplsInSegmentOperStatus } STATUS current DESCRIPTION "This notification is generated when a mplsInSegmentOperStatus object for one of the configured in-segments 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 mplsInSegmentOperStatus." ::= { mplsTeNotifications 4 } -- Out-segment. mplsOutSegmentUp NOTIFICATION-TYPE OBJECTS { mplsOutSegmentIndex, mplsInSegmentAdminStatus, mplsInSegmentOperStatus } STATUS current DESCRIPTION "This notification is generated when a mplsOutSegmentOperStatus object for one of the configured out-segments 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 mplsOutSegmentOperStatus." ::= { mplsTeNotifications 5 } mplsOutSegmentDown NOTIFICATION-TYPE OBJECTS { mplsOutSegmentIndex, mplsInSegmentAdminStatus, Srinivasan & Viswanathan Expires 18 May 1999 [Page 32] Internet Draft MPLS Traffic Engineering MIB 18 Nov 1998 mplsInSegmentOperStatus } STATUS current DESCRIPTION "This notification is generated when a mplsOutSegmentOperStatus object for one of the configured out-segments 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 mplsOutSegmentOperStatus." ::= { mplsTeNotifications 6 } -- Cross-connect. mplsXCUp NOTIFICATION-TYPE OBJECTS { mplsXCIndex, mplsInSegmentIfIndex, mplsInSegmentLabel, mplsOutSegmentIndex, mplsXCAdminStatus, mplsXCOperStatus } STATUS current DESCRIPTION "This notification is generated when a mplsXCOperStatus object for one of the configured cross-connect entries 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 mplsXCOperStatus." ::= { mplsTeNotifications 7 } mplsXCDown NOTIFICATION-TYPE OBJECTS { mplsXCIndex, mplsInSegmentIfIndex, mplsInSegmentLabel, mplsOutSegmentIndex, mplsXCAdminStatus, mplsXCOperStatus } STATUS current DESCRIPTION "This notification is generated when a mplsXCOperStatus object for one of the configured cross-connect entries 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 mplsXCOperStatus." ::= { mplsTeNotifications 8 } -- End of notifications. -- Module compliance. mplsTeGroups OBJECT IDENTIFIER ::= { mplsTeConformance 1 } mplsTeCompliances Srinivasan & Viswanathan Expires 18 May 1999 [Page 33] Internet Draft MPLS Traffic Engineering MIB 18 Nov 1998 OBJECT IDENTIFIER ::= { mplsTeConformance 2 } mplsTeModuleCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "Compliance statement for agents that support the MPLS TE MIB." MODULE -- this module MANDATORY-GROUPS { mplsInSegmentGroup, mplsOutSegmentGroup, mplsXCGroup } -- The following four groups are mutually exclusive. GROUP mplsManualTunnelGroup DESCRIPTION "This group must be implemented by devices which support only the manual configuration of tunnels and do not support tunnels that are interfaces. The following constraints apply: mplsTunnelIsIf can be read-only with a value of false(2), mplsTunnelDirection need not support in-out(3), mplsTunnelSignallingProto should be at least read-only with a value of none(1), mplsTunnelAdminStatus and mplsTunnelOperStatus need support only up(1) and down(2), and mplsTunnelRowStatus need not support createAndWait(5)." GROUP mplsManualTunnelIntfcGroup DESCRIPTION "This group must be implemented by devices which support only the manual configuration of tunnels and support tunnels that are interfaces. The following constraints apply: mplsTunnelIsIf can be read-only with a value of false(2), mplsTunnelDirection need not support in-out(3), mplsTunnelSignallingProto should be at least read-only with a value of none(1), mplsTunnelAdminStatus and mplsTunnelOperStatus need support only up(1) and down(2), and mplsTunnelRowStatus need not support createAndWait(5)." GROUP mplsSignalledTunnelGroup DESCRIPTION "This group must be implemented by devices which support signalled tunnels and do not support tunnels that are interfaces. The following constraints apply: mplsTunnelIsIf can be read-only with a value of false(2), mplsTunnelDirection need not support in-out(3), Srinivasan & Viswanathan Expires 18 May 1999 [Page 34] Internet Draft MPLS Traffic Engineering MIB 18 Nov 1998 mplsXCIndex should be read-only (populated by the signalling protocol), mplsTunnelSignallingProto should be at least read-write with value of either ldp(2) or rsvp(3), mplsTunnelAdminStatus and mplsTunnelOperStatus need support only up(1) and down(2), and mplsTunnelRowStatus need not support createAndWait(5), mplsHopStrictOrLoose need support only strict(1), and mplsHopRowStatus need not support createAndWait(5)." GROUP mplsSignalledTunnelIntfcGroup DESCRIPTION "This group must be implemented by devices which support signalled tunnels and support tunnels that are interfaces. The following constraints apply: mplsTunnelIsIf can be read-only with a value of false(2), mplsTunnelDirection need not support in-out(3), mplsTunnelSignallingProto should be at least read-only with a value of none(1), mplsTunnelAdminStatus and mplsTunnelOperStatus need support only up(1) and down(2), and mplsTunnelRowStatus need not support createAndWait(5), mplsHopStrictOrLoose need support only strict(1), and mplsHopRowStatus need not support createAndWait(5)." OBJECT mplsInSegmentNPop MIN-ACCESS read-only DESCRIPTION "Write access if not required. This object should be set to 1 if it is read-only." OBJECT mplsInSegmentAddrFamily SYNTAX INTEGER { other(0) } MIN-ACCESS read-only DESCRIPTION "Write access is not required. A value of other(0) should be supported." OBJECT mplsInSegmentAdminStatus SYNTAX INTEGER { up(1), down(2) } DESCRIPTION "A value of testing(3) need not be supported." OBJECT mplsInSegmentOperStatus SYNTAX INTEGER { up(1), down(2) } DESCRIPTION "Only up(1) and down(2) need to be supported." Srinivasan & Viswanathan Expires 18 May 1999 [Page 35] Internet Draft MPLS Traffic Engineering MIB 18 Nov 1998 OBJECT mplsInSegmentRowStatus SYNTAX INTEGER { active(1), notInService(2), createAndGo(4), destroy(6) } DESCRIPTION "The notReady(3) and createAndWait(5) states need not be supported." OBJECT mplsOutSegmentAdminStatus SYNTAX INTEGER { up(1), down(2) } DESCRIPTION "A value of testing(3) need not be supported." OBJECT mplsOutSegmentOperStatus SYNTAX INTEGER { up(1), down(2) } DESCRIPTION "Only up(1) and down(2) need to be supported." OBJECT mplsOutSegmentRowStatus SYNTAX INTEGER { active(1), notInService(2), createAndGo(4), destroy(6) } DESCRIPTION "The notReady(3) and createAndWait(5) states need not be supported." OBJECT mplsXCAdminStatus SYNTAX INTEGER { up(1), down(2) } DESCRIPTION "A value of testing(3) need not be supported." OBJECT mplsXCOperStatus SYNTAX INTEGER { up(1), down(2) } DESCRIPTION "Only up(1) and down(2) need to be supported." OBJECT mplsXCRowStatus SYNTAX INTEGER { active(1), notInService(2), createAndGo(4), destroy(6) } DESCRIPTION "The notReady(3) and createAndWait(5) states need not be supported." ::= { mplsTeCompliances 1 } -- Units of conformance. mplsInSegmentGroup OBJECT-GROUP OBJECTS { mplsInSegmentIfIndex, mplsInSegmentLabel, mplsInSegmentNPop, mplsInSegmentAddrFamily, mplsInSegmentXCIndex, mplsInSegmentMaxRate, Srinivasan & Viswanathan Expires 18 May 1999 [Page 36] Internet Draft MPLS Traffic Engineering MIB 18 Nov 1998 mplsInSegmentMeanRate, mplsInSegmentMaxBurstSize, mplsInSegmentAdminStatus, mplsInSegmentOperStatus, mplsInSegmentRowStatus, mplsInSegmentOctets, mplsInSegmentDiscards } STATUS current DESCRIPTION "Collection of objects needed to implement an in-segment." ::= { mplsTeGroups 1 } mplsOutSegmentGroup OBJECT-GROUP OBJECTS { mplsOutSegmentIndex, mplsOutSegmentIfIndex, mplsOutSegmentPushTopLabel, mplsOutSegmentTopLabel, mplsOutSegmentNextHopIpAddr, mplsOutSegmentXCIndex, mplsOutSegmentMaxRate, mplsOutSegmentMeanRate, mplsOutSegmentMaxBurstSize, mplsOutSegmentAdminStatus, mplsOutSegmentOperStatus, mplsOutSegmentRowStatus, mplsOutSegmentOctets, mplsOutSegmentDiscards } STATUS current DESCRIPTION "Collection of objects needed to implement an out-segment." ::= { mplsTeGroups 2 } mplsXCGroup OBJECT-GROUP OBJECTS { mplsXCIndex, mplsXCLabelStackIndex, mplsXCAdminStatus, mplsXCOperStatus, mplsXCRowStatus } STATUS current DESCRIPTION "Collection of objects needed to implement a cross- connect entry." ::= { mplsTeGroups 3 } mplsManualTunnelGroup OBJECT-GROUP OBJECTS { mplsTunnelIndex, mplsTunnelName, mplsTunnelIsIf, mplsTunnelDirection, mplsTunnelXCIndex, mplsTunnelRemoteIpAddr, mplsTunnelSignallingProto, mplsTunnelAdminStatus, mplsTunnelOperStatus, mplsTunnelRowStatus } STATUS current DESCRIPTION "Collection of objects needed to implement manually configured tunnels." ::= { mplsTeGroups 4 } mplsManualTunnelIntfcGroup OBJECT-GROUP OBJECTS { mplsTunnelIndex, mplsTunnelName, mplsTunnelIsIf, mplsTunnelIfIndex, mplsTunnelDirection, mplsTunnelXCIndex, mplsTunnelRemoteIpAddr, Srinivasan & Viswanathan Expires 18 May 1999 [Page 37] Internet Draft MPLS Traffic Engineering MIB 18 Nov 1998 mplsTunnelSignallingProto, mplsTunnelAdminStatus, mplsTunnelOperStatus, mplsTunnelRowStatus } STATUS current DESCRIPTION "Collection of objects needed to implement a manually configured tunnel that is an interface." ::= { mplsTeGroups 5 } mplsSignalledTunnelGroup OBJECT-GROUP OBJECTS { mplsTunnelIndex, mplsTunnelName, mplsTunnelIsIf, mplsTunnelDirection, mplsTunnelXCIndex, mplsTunnelRemoteIpAddr, mplsTunnelSignallingProto, mplsTunnelLocalCookie, mplsTunnelRemoteCookie, mplsTunnelAdminStatus, mplsTunnelOperStatus, mplsTunnelRowStatus, mplsHopIndex, mplsHopIpAddr, mplsHopStrictOrLoose, mplsHopRowStatus } STATUS current DESCRIPTION "Collection of objects needed to implement a signalled tunnel." ::= { mplsTeGroups 6 } mplsSignalledTunnelIntfcGroup OBJECT-GROUP OBJECTS { mplsTunnelIndex, mplsTunnelName, mplsTunnelIsIf, mplsTunnelDirection, mplsTunnelXCIndex, mplsTunnelRemoteIpAddr, mplsTunnelSignallingProto, mplsTunnelLocalCookie, mplsTunnelRemoteCookie, mplsTunnelAdminStatus, mplsTunnelOperStatus, mplsTunnelRowStatus, mplsHopIndex, mplsHopIpAddr, mplsHopStrictOrLoose, mplsHopRowStatus } STATUS current DESCRIPTION "Collection of objects needed to implement a signalled tunnel that is an interface." ::= { mplsTeGroups 7 } mplsTeNotificationGroup NOTIFICATION-GROUP NOTIFICATIONS { mplsTunnelUp, mplsTunnelDown, mplsInSegmentUp, mplsInSegmentDown, mplsOutSegmentUp, mplsOutSegmentDown, mplsXCUp, mplsXCDown } STATUS current DESCRIPTION "Set of notifications implemented in this module. None is mandatory." Srinivasan & Viswanathan Expires 18 May 1999 [Page 38] Internet Draft MPLS Traffic Engineering MIB 18 Nov 1998 ::= { mplsTeGroups 8} -- End of MPLS-TE-MIB END 9. Security Considerations The MIBs specified in this document does not raise any security issues other than those present in the MPLS architecture [1] or those imposed by SNMP itself. 10. References [1] Rosen, E., Viswanathan, A., and R. Callon, "Multiprotocol Label Switching Architecture", Internet Draft , July, 1998 [2] 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-02.txt>, November 1997. [3] 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-03.txt>, September 1998. [4] Awaduche, D., Berger, L., Der-Haw, G., Li, T., Swallow, G., and V. Srinivasan, "Extensions to RSVP for LSP Tunnels", Internet Draft , November 1998. [5] Andersson, L., Fredette, A., Jamoussi, B., Callon, R., Doolan, P., Feldman, N., Gray, E., Heinenan, J., Muckai, G., Sundell, K., and T. Worster, "Explicit Routing Over LDP Specification", Internet Draft , November 1998. [6] Reynolds, J. and J. Postel, "Assigned Numbers", RFC 1700, October 1994. [7] Harrington, D., Presuhn, R., and B. Wijnen, "An Architecture for Describing SNMP Management Frameworks", RFC 2271, January 1998. [8] Rose, M., and K. McCloghrie, "Structure and Identification of Management Information for TCP/IP-based Internets", RFC 1155, May 1990. [9] Rose, M., and K. McCloghrie, "Concise MIB Definitions", RFC 1212, March 1991. Srinivasan & Viswanathan Expires 18 May 1999 [Page 39] Internet Draft MPLS Traffic Engineering MIB 18 Nov 1998 [10] M. Rose, "A Convention for Defining Traps for use with the SNMP", RFC 1215, March 1991. [11] 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. [12] 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. [13] 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. [14] Case, J., Fedor, M., Schoffstall, M., and J. Davin, "Simple Network Management Protocol", RFC 1157, May 1990. [15] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Introduction to Community-based SNMPv2", RFC 1901, January 1996. [16] 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. [17] Case, J., Harrington D., Presuhn R., and B. Wijnen, "Message Processing and Dispatching for the Simple Network Management Protocol (SNMP)", RFC 2272, January 1998. [18] Blumenthal, U., and B. Wijnen, "User-based Security Model (USM) for version 3 of the Simple Network Management Protocol (SNMPv3)", RFC 2274, January 1998. [19] 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. [20] Levi, D., Meyer, P., and B. Stewart, "SNMPv3 Applications", RFC 2273, January 1998 [21] Wijnen, B., Presuhn, R., and K. McCloghrie, "View-based Access Control Model (VACM) for the Simple Network Management Protocol (SNMP)", RFC 2275, January 1998 11. Authors's Addresses Cheenu Srinivasan Srinivasan & Viswanathan Expires 18 May 1999 [Page 40] Internet Draft MPLS Traffic Engineering MIB 18 Nov 1998 Lucent Technologies 4F535, 101 Crawfords Corner Road Holmdel, NJ 07733 Phone: +1-732-949-0709 Email: cheenu@lucent.com Arun Viswanathan Lucent Technologies 4D537, 101 Crawfords Corner Road Holmdel, NJ 07733 Phone: +1-732-332-5613 Email: arunv@lucent.com Srinivasan & Viswanathan Expires 18 May 1999 [Page 41]