Network Working Group Cheenu Srinivasan Internet Draft Parama Networks, Inc. Expires:AprilDecember 2003 Arun Viswanathan Force10 Networks, Inc. Thomas D. Nadeau Cisco Systems, Inc.October 2002June 2003 Multiprotocol Label Switching (MPLS) Label Switching Router (LSR) Management Information Basedraft-ietf-mpls-lsr-mib-09.txtdraft-ietf-mpls-lsr-mib-10.txt Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC 2026. Internet-Drafts are working documents of the In ternet 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 definesaan portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it describes managed objectsfor modelingto configure and/or monitor aMultiprotocolMulti-Protocol Label Switching (MPLS) Label Switching Router (LSR). Table of Contents Abstract .................................................1 1. Introduction2.............................................2 2. Terminology3..............................................2 3. The SNMP Management Framework3............................3 4.Feature Checklist 4 5.Outline5 5.1...................................................3 4.1 Summary of LSR MIB5 6.Module ................................3 5. Brief Description of MIB Module Objects5 6.1. mplsInterfaceConfTable 6 6.2...................4 5.1. mplsInterfaceTable .......................................4 5.2. mplsInterfacePerfTable6 6.3....................................4 5.3. mplsInSegmentTable6 6.4........................................4 5.4. mplsInSegmentPerfTable6 6.5....................................5 5.5. mplsOutSegmentTable6 6.6.......................................5 5.6. mplsOutSegmentPerfTable6 6.7...................................5 5.7. mplsXCTable6 6.8...............................................5 5.8. mplsLabelStackTable7 6.9. mplsTrafficParamTable 7 7.......................................5 6. Use of 32-bit and 64-bit Counters7 8.........................6 7. Example of LSP Setup7 9......................................6 8. Application of the Interface Group to MPLS9 9.1................8 8.1. Support of the MPLS Layer by ifTable9 10......................8 9. The Use of RowPointer10 11.....................................10 10. MPLS Label Switching Router MIB Module Definitions11 12.........10 11. Security Considerations41 13....................................49 12. Acknowledgments42 14............................................50 13. References42 15.................................................51 13.1. Normative References ...................................51 13.2. Informative References .................................52 14. Authors' Addresses44 16.........................................52 15. Full Copyright Statement44..................................53 16. Intellectual Property Notice ..............................53 1. Introduction This memo definesaan portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it describes managed objects for modeling a Multi-Protocol Label Switching (MPLS) [RFC3031] Label Switching Router (LSR). Comments should be made directly to the MPLS mailing list at mpls@uu.net. The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119, reference [RFC2119]. 2. Terminology This document uses terminology from the document describing the MPLS architecture [RFC3031]. A label switched path (LSP) is modeled as a connection consisting of one or more incoming segments (in-segments) and/or one or more outgoing segments (out- segments) at aLabel Switching Router (LSR).LSR. The association or interconnection of the in-segments and out-segments is accomplished by using a cross-connect. We use the terminology "connection" and "LSP" interchangeably where the meaning is clear from the context. in-segment This is analagous to an MPLS label. out-segment This is analagous to an MPLS label. cross-connect This describes the conceptual connection between a set of in-segments and out-segments. Note that either set may be 0; that is, a cross-connect may connect only out-segments together with no in-segments in the case where an LSP is originating on an LSR. 3. The SNMP Management FrameworkThe SNMPFor a detailed overview of the documents that describe the current Internet-Standard ManagementFramework presently consistsFramework, please refer to section 7 offive major components: - An overall architecture, described inRFC2571 [RFC2571]. - Mechanisms for describing and naming3410 [RFC3410]. Managed objectsand events forare accessed via a virtual information store, termed the Management Information Base or MIB. MIB objects are generally accessed through the Simple Network Management Protocol (SNMP). Objects in the MIB are defined using the mechanisms defined in thepurpose of management. The first version of thisStructure of Management Information(SMI)(SMI). This memo specifies a MIB module that iscalled SMIv1 and described in STD 16, RFC 1155 [RFC1155], STD 16, RFC 1212 [RFC1212] and STD 16, RFC 1215 [RFC1215]. The second version, calledcompliant to the SMIv2, which is described in STD 58, RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58, RFC 2580 [RFC2580].- Message protocols for transferring management information. The first version of the SNMP message protocol is called SNMPv1 and described in STD 15, RFC 1157 [RFC1157]. A second version of the SNMP message protocol, which is not an Internet standards track protocol, is called SNMPv2c and described in RFC 1901 [RFC1901] and RFC 1906 [RFC1906]. The third version of the message protocol is called SNMPv3 and described in RFC 1906 [RFC1906], RFC 2572 [RFC2572] and RFC 2574 [RFC2574]. - Protocol operations for accessing management information. The first set of protocol operations and associated PDU formats is described in STD 15, RFC 1157 [RFC1157]. A second set of protocol operations and associated PDU formats is described in RFC 1905 [RFC1905]. - A set of fundamental applications described in RFC 2573 [RFC2573] and the view-based access control mechanism described in RFC 2575 [RFC2575]. A more detailed introduction to the current SNMP Management Framework can be found in RFC 2570 [RFC2570]. 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. 4. Feature Checklist The MPLS Label Switching Router MIB (LSR MIB) is designed to satisfy the following requirements and constraints: - The MIB supports LSP establishment via an MPLS signaling protocol wherein the LSP parameters are specified using this MIB at the head end of the LSP and end-to-end LSP establishment is accomplished via signaling. The MIB also supports manually configured LSPs, i.e. those for which label associations at each hop of the LSP are provisioned by the administrator via this MIB. - The MIB supports the enabling and disabling of MPLS capability on MPLS capable interfaces of an LSR. - The MIB allows resource sharing between two or more LSPs, i.e. it allows specification of sharing of bandwidth and other LSR resources between different LSPs. - Both per-platform and per-interface label spaces are supported. - MPLS packets can be forwarded solely based on an incoming top label [RFC3031, RFC3032]. - Support is provided for next-hop resolution when the outgoing interface is a shared media interface. In the point-to- multipoint case, each outgoing segment can reside on a different shared media interface. - The MIB supports point-to-point, point-to-multipoint and multipoint-to-point connections at an LSR. - For multipoint-to-point connections all outgoing packets can have the same top label. - For multipoint-to-point connections, the outgoing resources of the merged connections can be shared. - For multipoint-to-point connections, packets from different incoming connections can have distinct outgoing label stacks beneath the (identical) top label. - In the point-to-multipoint case each outgoing connection can have a distinct label stack including the top label. - All the members of a point-to-multipoint connection can share the resources allocated for the ingress segments. - The MIB provides cross-connect capability to "pop" an incoming label and forward the packet with the remainder of the label stack unchanged and without pushing any labels ("pop-and-go") [RFC3032]. - The MIB supports persistent as well as non-persistent LSPs. - Performance counters are provided for in-segments and out- segments as well as for measuring MPLS performance on a per- interface basis. 5. Outline Configuring LSPs through an LSR involves4. Outline Configuring LSPs through an LSR involves the following steps: - Enabling MPLS on MPLS capable interfaces. - Configuring in-segments and out-segments. - Setting up the cross-connect table to associate segments and/or to indicate connection origination and termination. - Optionally specifying label stack actions. - Optionally specifying segment traffic parameters.5.1.4.1. Summary of LSR MIB Module The MIB objects for performing these actions consist of the following tables: - The interfaceconfigurationtable(mplsInterfaceConfTable),(mplsInterfaceTable), which is used forenablingrevealing the MPLS protocol on MPLS-capable interfaces. - The in-segment (mplsInSegmentTable) and out-segment (mplsOutSegmentTable) tables, which are used for configuring LSP segments at an LSR. - The cross-connect table (mplsXCTable), which is used to associate in and out segments together, in order to form a cross-connect. - The label stack table (mplsLabelStackTable), which is used for specifying label stack operations.- The Traffic Parameter table (mplsTrafficParamTable), which is used for specifying LSP-related traffic parameters.Further, the MPLS in-segment and out-segment performance tables, mplsInSegmentPerfTable and mplsOutSegmentPerfTable, contain the objects necessary to measure the performance of LSPs, and mplsInterfacePerfTable has objects to measure MPLS performance on a per-interface basis. These tables are described in the subsequent sections.6.5. Brief Description of MIB Module Objects Sections6.1-6.25.1-5.2 describe objects pertaining to MPLS-capable interfaces of an LSR. The objects described in Sections6.3-6.8,5.3-5.8, were derived from the Incoming Label Map (ILM) and Next Hop Label Forwarding Entry (NHLFE) as specified in the MPLS architecture document [RFC3031].Section 6.9 describes objects for specifying traffic parameters for in and out segments.It is appropriate to note that the in-segment, out-segment, and cross-connect tables were modeled after similar tables found in [RFC2515].6.1. mplsInterfaceConfTable5.1. mplsInterfaceTable This table represents the interfaces that are MPLS capable. An LSR creates an entry in this table for every MPLS capable interface on that LSR.6.2.5.2. mplsInterfacePerfTable This table contains objects to measure the MPLS performance of MPLS capable interfaces and is an AUGMENT tomplsInterfaceConfTable. 6.3.mplsInterfaceTable. 5.3. mplsInSegmentTable This table contains a description of the incoming MPLS segments to an LSR and their associated parameters.6.4.This index for this table is mplsInSegmentIndex. The index structure of this table is specifically designed to handle many different MPLS implementations that manage their labels both in a distributed and centralized manner. The table is designed to handle existing MPLS labels as well as future label strategies that may require labels longer than the ones defined in RFC3031. In these cases, the object mplsInSegmentLabelPtr may be used indicate the first accessible object in a separate table that can be used to represent the label because it is too long to be represented in a single 32-bit value (mplsInSegmentLabel). 5.4. mplsInSegmentPerfTable The MPLSIn-Segmentin-Segment Performance Table has objects tohelpmeasure the performance of an incoming segment configured on an LSR. It is an AUGMENT to mplsInSegmentTable. High capacity counters are provided for objects that are likely to wrap around quickly on high-speed interfaces.6.5.5.5. mplsOutSegmentTable TheOut-Segmentout-Segment Table contains a description of the outgoing MPLS segments at an LSR and their associated parameters.6.6.5.6. mplsOutSegmentPerfTable The MPLSOut-Segmentout-Segment Table contains objects tohelpmeasure the performance of an outgoing segment configured on an LSR. It is an AUGMENT to mplsOutSegmentTable. High capacity counters are provided for objects that are likely to wrap around quickly on high-speed interfaces.6.7.5.7. mplsXCTable The mplsXCTable specifies information for associating segments together in order to instruct the LSR to switch between the specified segments. It supports point-to-point, point-to-multi- point and multi-point-to-point connections. The operational status object indicates the packet forwarding state of a cross-connect entry. For example, when the operational status objects is 'down' it indicates that the specified cross- connect entry will not forward packets. Likewise, when it is set to 'up' it indicates that packets will be forwarded. The administrative status object indicates the forwarding state desired by the operator.6.8.5.8. mplsLabelStackTable The mplsLabelStackTable specifies the label stack to be pushed onto a packet, beneath the top label. Entries to this table arereferred to from mplsXCTable. 6.9. mplsTrafficParamTable The mplsTrafficParamTable contains objects for specifying the traffic parameters of in-segments and out-segments. Entries in this table are referred to from mplsInSegmentTable and mplsOutSegmentTable. 7.referred to from mplsXCTable. 6. Use of 32-bit and 64-bit Counters 64-bit counters are provided in this MIB module for high speed interfaces where the use of 32-bit counters might be impractical. The requirements on the use of 32-bit and 64-bit counters (copied verbatim from [RFC2863]) are as follows. For interfaces that operate at 20,000,000 (20 million) bits per second or less, 32-bit byte and packet counters MUST be supported. For interfaces that operate faster than 20,000,000 bits/second, and slower than 650,000,000 bits/second, 32-bit packet counters MUST be supported and 64-bit octet counters MUST be supported. For interfaces that operate at 650,000,000 bits/second or faster, 64-bit packet counters AND 64-bit octet counters MUST be supported.8.7. Example of LSP Setup In this section we provide a brief example of setting up an LSP usingthethis MIBobjects described in section 11.module's objects. While this example is not meant to illustrate every nuance of theMIB,MIB module, it is intended as an aid to understanding some of the key concepts. It is meant to be read after going through the MIB module itself. Suppose that one would like to manually create a best-effort, unidirectional LSP. Assume that the LSP enters the LSR via MPLS interface A with ifIndex 12 and exits the LSR via MPLS interface B with ifIndex 13. Let us assume that we do not wish tohave aimpose any additional label stack beneath the top label on the outgoing labeled packets. The following example illustrates which rows and corresponding objects might be created to accomplish this. Those objects relevant to illustrating the relationships amongst different tables are shown here. Other objects may be needed before conceptual row activation can happen. The RowStatus values shown in this section are those to be used in the set request, typically createAndGo(4) which is used to create the conceptual row and have its status immediately set to active. Note that the proper use of createAndGo(4) requires that all columns that do not have a DEFVAL to be specified in order for the SET to succeed. In the example below we have not specify all such columns for the sake of keeping the example short. Please keep in mind that all such fields must be send during a real SET operation. A subsequent retrieval operation on the conceptual row will return a different value, such as active(1). Please see [RFC2579] for a detailed discussion on the use of RowStatus.First,We first create a cross-connect entry that associates thetraffic parameter entries must be set-up for both segments.desired segments together. InmplsTrafficParamTable for the incoming direction:mplsXCTable: {mplsTrafficParamIndexmplsXCIndex =5 mplsTrafficParamMaxRate0x02, mplsXcInSegmentIndex =100000, mplsTrafficParamMeanRate0x00000015, mplsXcOutSegmentIndex =100000, mplsTrafficParamMaxBurstSize0x01, mplsXCLspId =2000, mplsTrafficParamRowStatus'c021041502'H, -- 192.33.4.21.2 mplsXcLabelStackIndex =createAndGo(4) } In mplsTrafficParamTable for the0x00, -- only a single -- outgoingdirection: { mplsTrafficParamIndex = 6 mplsTrafficParamMaxRate = 100000, mplsTrafficParamMeanRate = 100000, mplsTrafficParamMaxBurstSize = 2000, mplsTrafficParamRowStatuslabel mplsXCRowStatus = createAndGo(4) }Note that ifNext, wewere setting up a bi-directional LSP, the segments in the reverse direction can share the traffic parameter entries (and hence resources) with the segments in the forward direction. We must nextcreate the appropriate in-segment and out-segment entrieswith suitable traffic parameters by pointing tobased on theappropriate traffic parameter entriescross-connect. Note thatwe have just created.some agents may wish to automatically create the in and out-segments based on the cross-connect creation. In mplsInSegmentTable: {mplsInSegmentIfIndexmplsInSegmentIndex =12, -- incoming interface0x00000015 mplsInSegmentLabel = 21, -- incoming label mplsInSegmentNPop = 1, mplsInSegmentInterface = 12, -- incoming interface -- RowPointer MUST point to the first accesible column. mplsInSegmentLabelPtr = 0.0, mplsInSegmentTrafficParamPtr =mplsTrafficParamMaxRate.5,0.0, mplsInSegmentRowStatus = createAndGo(4) } In mplsOutSegmentTable: { mplsOutSegmentIndex =1, mplsOutSegmentIfIndex0x01, mplsOutSegmentInterface = 13, -- outgoing interface mplsOutSegmentPushTopLabel = true(1), mplsOutSegmentTopLabel = 22, -- outgoing label -- RowPointer MUST point to thefirst accesible column. mplsOutSegmentTrafficParamPtr = mplsTrafficParamMaxRate.6, -- Other mandatory parameters needed to activate the row go here. mplsOutSegmentRowStatus = createAndGo(4) } Next, a cross-connect entry is created thereby associating the newly created segments together. In mplsXCTable: { mplsXCIndex = 2, mplsXCLspId = 'c021041502'H, -- 192.33.4.21.2 mplsInSegmentIfIndex = 12, mplsInSegmentLabel = 21, mplsOutSegmentIndex = 1, mplsXCIsPersistent = false (1), mplsLabelStackIndex = 0, -- only a single -- outgoing label -- Other mandatory parameters for activating the row go here. mplsXCRowStatusfirst accesible column. mplsOutSegmentTrafficParamPtr = 0.0, mplsOutSegmentLabelPtr = 0.0, mplsOutSegmentRowStatus = createAndGo(4) } Note that the mplsInSegmentXCIndex and mplsOutSegmentXCIndex objects will automatically be populated with thevalue 2string 0x02 when these segments are referred to from the corresponding cross- connect entry.9.8. Application of the Interface Group to MPLSThe Interfaces Group of MIB IIRFC2863 defines generic managed objects for managing interfaces. This memo contains the media-specific extensions to the Interfaces Group for managing MPLS interfaces. This memo assumes the interpretation of the Interfaces Group to be in accordance with [RFC2863] 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 inter- relation of entries in the ifTable is defined by Interfaces Stack Group defined in [RFC2863]. When using MPLS interfaces, the interface stack table might appear as follows: +----------------------------------------+ | MPLS interface; ifType = mpls(166) + +----------------------------------------+ | Underlying Layer + +----------------------------------------+ In the above diagram, "Underlying Layer" refers to the ifIndex of any interface type for which MPLS interworking has been defined. Examples include ATM, Frame Relay, Ethernet, etc.9.1.8.1. Support of the MPLS Layer by ifTable Some specific interpretations of ifTable for the MPLS layer follow. Object Use for the MPLS layer ifIndex Each MPLS interface is represented by an ifEntry. ifDescr Description of the MPLS interface. ifType The value that is allocated for MPLS is 166. ifSpeed The total bandwidth in bits per second for use by the MPLS layer. ifPhysAddress Unused. ifAdminStatus This variable indicates the administrator's intent as to whether MPLS should be enabled, disabled, or running in some diagnostic testing mode on this interface. Also see [RFC2863]. ifOperStatus This value reflects the actual operational status of MPLS on this interface. ifLastChange See [RFC2863]. ifInOctets The number of received octets over the interface, i.e., the number of received, octets received as labeled packets. ifOutOctets The number of transmitted octets over the interface, i.e., the number of octets transmitted as labeled packets. ifInErrors The number of labeled packets dropped due to uncorrectable errors. ifInUnknownProtos The number of received packets discarded during packet header validation, including packets with unrecognized label values. ifOutErrors See [RFC2863]. ifName Textual name (unique on this system) of the interface or an octet string of zero length. ifLinkUpDownTrapEnable Default is disabled (2). ifConnectorPresent Set to false (2). ifHighSpeed See [RFC2863]. ifHCInOctets The 64-bit version of ifInOctets; supported if required by the compliance statements in [RFC2863]. ifHCOutOctets The 64-bit version of ifOutOctets; supported if required by the compliance statements in [RFC2863]. ifAlias The non-volatile 'alias' name for the interface as specified by a network manager. ifCounterDiscontinuityTime See [RFC2863].10.9. The Use of RowPointer RowPointer is a textual convention used to identify a conceptual row inan SNMPa MIB Table by pointing toone of its objects.the first accessible object in that row. In thisMIB, it is used inMIB module, the trafficParamPtr object from either the mplsInSegmentTableandor mplsOutSegmentTableforSHOULD indicate the first accessible column in an entry in the MplsTunnelResourceEntry in the MPLS-TE-STD-MIB [TEMIB] to indicate thefollowing purposes. First, it indicates a particulartraffic parametertable. An example of such a table is mplsTrafficParamTable. Second,settings for this segment, if itisrepresents an LSP usedto indicate a specific instance offor a TE tunnel. The trafficParamPtr object may optionally point at an externally defined traffic parameterentry that is associated with a given in-segment or out-segment entry. In the in-segment and out- segment tables, mplsTrafficParamPtr MUST point to the first columnspecification table. A value of zeroDotZero indicates best-effort treatment. By having theappropriate conceptual row []. 11.same value of this object, two or more segments can indicate resource sharing of such things as LSP queue space, etc. 10. MPLS Label Switching Router MIB Module DefinitionsMPLS-LSR-MIBMPLS-LSR-STD-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, Integer32, Counter32, Unsigned32, Counter64, Gauge32, zeroDotZero FROM SNMPv2-SMI MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF TruthValue, RowStatus, StorageType, RowPointer,TimeStampTimeStamp, TEXTUAL-CONVENTION FROM SNMPv2-TCInterfaceIndex,InterfaceIndexOrZero FROM IF-MIBmplsMIB,mplsStdMIB, MplsLSPID, MplsLabel, MplsBitRate,MplsBurstSize,MplsOwner FROMMPLS-TC-MIBMPLS-TC-STD-MIB AddressFamilyNumbers FROM IANA-ADDRESS-FAMILY-NUMBERS-MIB InetAddress, InetAddressType FROM INET-ADDRESS-MIB ;mplsLsrMIBmplsLsrStdMIB MODULE-IDENTITY LAST-UPDATED"200210051200Z""200306061200Z" --5 October 20026 June 2003 12:00:00 GMT ORGANIZATION "Multiprotocol Label Switching (MPLS) Working Group" CONTACT-INFO " Cheenu SrinivasanPostal:Parama Networks, Inc.1030 Broad Street Shrewsbury, NJ 07702 Tel: +1-732-544-9120 x731Email: cheenu@paramanet.com Arun ViswanathanPostal:Force10 Networks, Inc.1440 McCarthy Blvd Milpitas, CA 95035 Tel: +1-408-571-3516Email: arun@force10networks.com Thomas D. NadeauPostal:Cisco Systems, Inc.250 Apollo Drive Chelmsford, MA 01824 Tel: +1-978-244-3051Email: tnadeau@cisco.com Comments about this document should be emailed directly to the MPLS working group mailing list atmpls@uu.net. "mpls@uu.net." DESCRIPTION "This MIB module contains managed object definitions for the Multiprotocol Label Switching (MPLS) Router as defined in: Rosen, E., Viswanathan, A., and R. Callon, Multiprotocol Label Switching Architecture, RFC 3031, January2001."2001. Copyright (C) The Internet Society (2003). This version of this MIB module is part of RFCXXX; see the RFC itself for full legal notices." -- Revision history. REVISION"200210051200Z""200306061200Z" --5 October 20026 June 2003 12:00:00 GMT DESCRIPTION "Initialrevision, published as part of RFC XXXX." ::= { mplsMIB 2 } -- Top level components of this MIB. -- Notifications mplsLsrNotifications OBJECT IDENTIFIER ::= { mplsLsrMIB 0 } -- Tables, Scalars mplsLsrObjects OBJECT IDENTIFIER ::= { mplsLsrMIB 1 } -- Conformance mplsLsrConformance OBJECT IDENTIFIERrevision, published as part of RFC XXXX." ::= {mplsLsrMIBmplsStdMIB 2 } --MPLS Interface Configuration Table. mplsInterfaceConfTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsInterfaceConfEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table specifies per-interface MPLS capability and associated information."Textual Conventions MplsIndexType ::={ mplsLsrObjects 1 } mplsInterfaceConfEntry OBJECT-TYPE SYNTAX MplsInterfaceConfEntry MAX-ACCESS not-accessibleTEXTUAL-CONVENTION STATUS current DESCRIPTION"A conceptual row in this table"This iscreated automatically byanLSR for every interface capable of supporting MPLS and is enabled to do so. A conceptual row in this table will exist iffoctet string that can be used as acorresponding entry in ifTable exists with ifType = mpls(166). If this associated entrytable index inifTablecases where a large addressable space isoperationally disabled (thus disabling MPLSrequired such as on an LSR where many applications may be provisioning labels. Note thatinterface),thecorresponding entry in this table MUST be deleted shortly thereafter. An conceptual row with index 0 is created ifstring containing theLSR supports per- platform labels. This conceptual row representssingle octet with theper-platform label space and contains parameters that applyvalue 0x00 is a reserved value used toall interfaces that participate in the per-platform label space. Other conceptual rows in this tablerepresentMPLS interfaces that may participate in eitherspecial cases. When this textual convention is used as theper-platform or per- interface label spaces, or both. Further information about label space participationSYNTAX of aninterface is provided inobject, theDESCRIPTIONDESCRITPION clauseof mplsInterfaceLabelParticipationType." INDEX { mplsInterfaceConfIndex } ::= { mplsInterfaceConfTable 1 } MplsInterfaceConfEntry ::= SEQUENCE { mplsInterfaceConfIndex InterfaceIndexOrZero, mplsInterfaceLabelMinIn MplsLabel, mplsInterfaceLabelMaxIn MplsLabel, mplsInterfaceLabelMinOut MplsLabel, mplsInterfaceLabelMaxOut MplsLabel, mplsInterfaceTotalBandwidth MplsBitRate, mplsInterfaceAvailableBandwidth MplsBitRate, mplsInterfaceLabelParticipationType BITS } mplsInterfaceConfIndex OBJECT-TYPE SYNTAX InterfaceIndexOrZero MAX-ACCESS not-accessible STATUS current DESCRIPTION "ThisMUST specify if this special value is valid and if so what the special meaning of is. When aunique indexMIB module is used for configuration, anentry in the MplsInterfaceConfTable. A non-zero indexobject with this SYNTAX always contains a legal value (if a non-zero-length string) for anentry indicatesindex that is not currently used in theifIndex forrelevant table. The Command Generator (Network Management Application) reads this variable and uses thecorresponding interface entry in of(non-zero-length string) value read when creating a new row with an SNMP SET. When theMPLS-layer inSET is performed, theifTable. Note thatCommand Responder (agent) must determine whether theper-platform label spacevalue is indeed still unused; Two Network Management Applications mayapplyattempt toseveral interfaces,create a row (configuration entry) simultaneously andtherefore the configuration of the per-platform label space interface parameters will apply to all ofuse theinterfaces that are participating insame value. If it is currently unused, theper-platform label space." REFERENCE "RFC 2863 - The Interfaces Group MIB, McCloghrie, K.,SET succeeds andF. Kastenholtz, June 2000" ::= { mplsInterfaceConfEntry 1 } mplsInterfaceLabelMinIn OBJECT-TYPE SYNTAX MplsLabel MAX-ACCESS read-only STATUS current DESCRIPTION "This istheminimumCommand Responder (agent) changes the value ofan MPLS label thatthisLSR is willingobject, according toreceive on this interface." ::= { mplsInterfaceConfEntry 2 } mplsInterfaceLabelMaxIn OBJECT-TYPE SYNTAX MplsLabel MAX-ACCESS read-only STATUS current DESCRIPTION "This isan implementation-specific algorithm. If themaximumvalueof an MPLS label that this LSRiswilling to receive onin use, however, the SET fails. The Network Management Application must then re-read thisinterface." ::= { mplsInterfaceConfEntry 3 } mplsInterfaceLabelMinOutvariable to obtain a new usable value. An OBJECT-TYPE definition using this SYNTAXMplsLabel MAX-ACCESS read-only STATUS current DESCRIPTION "This isMUST specify theminimum value of an MPLS label that this LSRrelevant table for which the object iswilling to send onproviding thisinterface."functionality." SYNTAX OCTET STRING (SIZE(1..24)) -- Top level components of this MIB module. -- Notifications mplsLsrNotifications OBJECT IDENTIFIER ::= { mplsLsrStdMIB 0 } -- Tables, Scalars mplsLsrObjects OBJECT IDENTIFIER ::= {mplsInterfaceConfEntry 4mplsLsrStdMIB 1 }mplsInterfaceLabelMaxOut-- Conformance mplsLsrConformance OBJECT IDENTIFIER ::= { mplsLsrStdMIB 2 } -- MPLS Interface Table. mplsInterfaceTable OBJECT-TYPE SYNTAXMplsLabelSEQUENCE OF MplsInterfaceEntry MAX-ACCESSread-onlynot-accessible STATUS current DESCRIPTION "Thisis the maximum value of antable specifies per-interface MPLSlabel that this LSR is willing to send on this interface."capability and associated information." ::= {mplsInterfaceConfEntry 5mplsLsrObjects 1 }mplsInterfaceTotalBandwidthmplsInterfaceEntry OBJECT-TYPE SYNTAXMplsBitRateMplsInterfaceEntry MAX-ACCESSread-onlynot-accessible STATUS current DESCRIPTION"This value indicates the total amount of usable bandwidth on"A conceptual row in this table is created automatically by an LSR for every interface capable of supporting MPLS and which isspecifiedconfigured to do so. A conceptual row inkilobits per second (Kbps). This variablethis table will exist iff a corresponding entry in ifTable exists with ifType = mpls(166). If this associated entry in ifTable isnot applicable when applied tooperationally disabled (thus removing MPLS capabilities on that interface), theinterface with index 0. Whencorresponding entry in thisvalue cannottable MUST bemeasured, this value should containdeleted shortly thereafter. An conceptual row with index 0 is created if thenominal bandwidth." ::= { mplsInterfaceConfEntry 6 } mplsInterfaceAvailableBandwidth OBJECT-TYPE SYNTAX MplsBitRate MAX-ACCESS read-only STATUS current DESCRIPTION "This value indicatesLSR supports per-platform labels. This conceptual row represents thetotal amount of available bandwidth available on this interfaceper-platform label space andis specifiedcontains parameters that apply to all interfaces that participate inkilobits per second (Kbps). This value is calculated asthedifference betweenper-platform label space. Other conceptual rows in this table represent MPLS interfaces that may participate in either the per-platform or per- interface label spaces, or both. Implementations that either only support per-platform labels, or have only them configured, may choose to return just theamountmplsInterfaceEntry ofbandwidth currently in use0 andthat specified in mplsInterfaceTotalBandwidth. This variable isnotapplicable when applied toreturn the other rows. This will greatly reduce the numebr of objects returned. Further information about label space participation of an interfacewith index 0. When this value cannot be measured, this value should containis provided in thenominal bandwidth."DESCRIPTION clause of mplsInterfaceLabelParticipationType." INDEX { mplsInterfaceIndex } ::= {mplsInterfaceConfEntry 7mplsInterfaceTable 1 } MplsInterfaceEntry ::= SEQUENCE { mplsInterfaceIndex InterfaceIndexOrZero, mplsInterfaceLabelMinIn MplsLabel, mplsInterfaceLabelMaxIn MplsLabel, mplsInterfaceLabelMinOut MplsLabel, mplsInterfaceLabelMaxOut MplsLabel, mplsInterfaceTotalBandwidth MplsBitRate, mplsInterfaceAvailableBandwidth MplsBitRate, mplsInterfaceLabelParticipationTypeOBJECT-TYPE SYNTAXBITS{ perPlatform (0), perInterface (1)} mplsInterfaceIndex OBJECT-TYPE SYNTAX InterfaceIndexOrZero MAX-ACCESSread-onlynot-accessible STATUS current DESCRIPTION"Either the perPlatform(0) or perInterface(1) bit MUST be set. Note however that"This is a unique index for aninterface could participate in both label spacesentry inwhich case both bits would be set. If the value ofthemplsInterfaceConfIndexMplsInterfaceTable. A non-zero index forthisan entryis zero, then only the perPlatform(0) bit MUST be set and the perInterface(1) bit is meaningless. If the perInterface(1) bit is set thenindicates thevalue of mplsInterfaceLabelMinIn, mplsInterfaceLabelMaxIn, mplsInterfaceLabelMinOut, and mplsInterfaceLabelMaxOutifIndex forthis entry reflectthelabel ranges for this interface. If onlycorresponding interface entry of theperPlatform(0) bit is set, thenMPLS-layer in thevalue of mplsInterfaceLabelMinIn, mplsInterfaceLabelMaxIn, mplsInterfaceLabelMinOut, and mplsInterfaceLabelMaxOut for thisifTable. The entrymust be identical to the instance of these objectswith index0." REFERENCE "Rosen, E., Viswanathan, A.,0 represents the per-platform label space andR. Callon, Multiprotocol Label Switching Architecture, RFC 3031, January 2001." ::= { mplsInterfaceConfEntry 8 } -- End of mplsInterfaceConfTable -- MPLS Interface Performance Table. mplsInterfacePerfTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsInterfacePerfEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Thiscontains parameters that apply to all interfaces that participate in the per-platform label space. Other entries defined in this tableprovidesrepresent additional MPLSperformance information on ainterfaces that may participate in either the per-platform or per-interfacebasis."label spaces, or both." REFERENCE "RFC 2863 - The Interfaces Group MIB, McCloghrie, K., and F. Kastenholtz, June 2000" ::= {mplsLsrObjects 2mplsInterfaceEntry 1 }mplsInterfacePerfEntrymplsInterfaceLabelMinIn OBJECT-TYPE SYNTAXMplsInterfacePerfEntryMplsLabel MAX-ACCESSnot-accessibleread-only STATUS current DESCRIPTION"An entry in this table"This iscreated bytheLSR for every interface capableminimum value ofsupporting MPLS. Its isanextensionMPLS label that this LSR is willing tothe mplsInterfaceConfEntry table." AUGMENTS { mplsInterfaceConfEntry } ::= { mplsInterfacePerfTable 1 } MplsInterfacePerfEntryreceive on this interface." ::=SEQUENCE{-- incoming direction mplsInterfaceInLabelsUsed Gauge32, mplsInterfaceLabelLookupFailures Counter32, -- outgoing direction mplsInterfaceOutLabelsUsed Gauge32, mplsInterfaceOutFragments Counter32mplsInterfaceEntry 2 }mplsInterfaceInLabelsUsedmplsInterfaceLabelMaxIn OBJECT-TYPE SYNTAXGauge32MplsLabel MAX-ACCESS read-only STATUS current DESCRIPTION "Thisobject counts the number of labels that are in use at this point in time on this interface in the incoming direction. If the interface participates in the per-platform label space only, then the value of this instance of this object MUST be identical withis the maximum value ofthe instance with index 0. If the interface participates in the per-interfacean MPLS labelspace, then this instance of this object MUST represent the number of of per-interface labelsthatare in use atthispoint in timeLSR is willing to receive on this interface." ::= {mplsInterfacePerfEntry 1mplsInterfaceEntry 3 }mplsInterfaceLabelLookupFailuresmplsInterfaceLabelMinOut OBJECT-TYPE SYNTAXCounter32MplsLabel MAX-ACCESS read-only STATUS current DESCRIPTION "Thisobject countsis thenumberminimum value oflabeled packetsan MPLS label thathave been received onthisinterface and were discarded because there was no matching cross- connect entry. This object MUST countLSR is willing to send ona per- interface basis regardless of which label space the interface participates in."this interface." ::= {mplsInterfacePerfEntry 2mplsInterfaceEntry 4 }mplsInterfaceOutLabelsUsedmplsInterfaceLabelMaxOut OBJECT-TYPE SYNTAXGauge32MplsLabel MAX-ACCESS read-only STATUS current DESCRIPTION "Thisobject countsis thenumbermaximum value oftop-most labels in the outgoingan MPLS labelstacksthatare in use atthispoint in timeLSR is willing to send on thisinterface. This object MUST count on a per-interface basis regardless of which label space the interface participates in."interface." ::= {mplsInterfacePerfEntry 3mplsInterfaceEntry 5 }mplsInterfaceOutFragmentsmplsInterfaceTotalBandwidth OBJECT-TYPE SYNTAXCounter32MplsBitRate UNITS "kilobits per second" MAX-ACCESS read-only STATUS current DESCRIPTION "Thisobject countsvalue indicates thenumbertotal amount ofoutgoing MPLS packets that required fragmentation before transmissionusable bandwidth on thisinterface.interface and is specified in kilobits per second (Kbps). Thisobject MUST count on a per-interface basis regardless of which label spacevariable is not applicable when applied to the interfaceparticipates in."with index 0. When this value cannot be measured, this value should contain the nominal bandwidth." ::= {mplsInterfacePerfEntry 4mplsInterfaceEntry 6 }-- In-segment table. mplsInSegmentTablemplsInterfaceAvailableBandwidth OBJECT-TYPE SYNTAXSEQUENCE OF MplsInSegmentEntryMplsBitRate MAX-ACCESSnot-accessibleread-only STATUS current DESCRIPTION "Thistable containsvalue indicates thecollectiontotal amount ofincoming segmentsavailable bandwidth available on this interface and is specified in kilobits per second (Kbps). This value is calculated as the difference between the amount of bandwidth currently in use and that specified in mplsInterfaceTotalBandwidth. This variable is not applicable when applied toan LSR."the interface with index 0. When this value cannot be measured, this value should contain the nominal bandwidth." ::= {mplsLsrObjects 3mplsInterfaceEntry 7 }mplsInSegmentEntrymplsInterfaceLabelParticipationType OBJECT-TYPE SYNTAXMplsInSegmentEntryBITS { perPlatform (0), perInterface (1) } MAX-ACCESSnot-accessibleread-only STATUS current DESCRIPTION"An entry in this table represents one incoming segment. An entry can be created by a network administrator or an SNMP agent, or an MPLS signaling protocol. The creator"If the value of the mplsInterfaceIndex for this entry isdenoted by mplsInSegmentOwner. Anzero, then this entryincorresponds to the per-platform label space for all interfaces configured to use that label space. In thistable is indexed bycase theifIndex ofperPlatform(0) bit MUST be set; theincoming interfaceperInterface(1) bit is meaningless andthe (top) label.MUST be ignored. Thevalueremainder ofmplsInSegmentRowStatus cannot be active(1)unless the ifTable entry corresponding to mplsInSegmentIfIndex exists. An entry inthistable must match any incoming packets for further processing. A match indicates an instancedescription applies to entries with a non-zero value ofmplsXCEntry based on which forwarding/switching actions are taken." INDEX { mplsInSegmentIfIndex, mplsInSegmentLabel } ::= { mplsInSegmentTable 1 } MplsInSegmentEntry ::= SEQUENCE { mplsInSegmentIfIndex InterfaceIndexOrZero, mplsInSegmentLabel MplsLabel, mplsInSegmentNPop Integer32, mplsInSegmentAddrFamily AddressFamilyNumbers, mplsInSegmentXCIndex Unsigned32, mplsInSegmentOwner MplsOwner , mplsInSegmentTrafficParamPtr RowPointer, mplsInSegmentRowStatus RowStatus, mplsInSegmentStorageType StorageType } mplsInSegmentIfIndex OBJECT-TYPE SYNTAX InterfaceIndexOrZero MAX-ACCESS not-accessible STATUS current DESCRIPTION "ThismplsInterfaceIndex. If the perInterface(1) bit isa unique index for an entry inset then theMplsInSegmentTable. Thisvaluerepresents the interface indexof mplsInterfaceLabelMinIn, mplsInterfaceLabelMaxIn, mplsInterfaceLabelMinOut, and mplsInterfaceLabelMaxOut for this entry reflect theincoming MPLSlabel ranges for this interface.AIf only the perPlatform(0) bit is set, then the value ofzero represents an incoming labelmplsInterfaceLabelMinIn, mplsInterfaceLabelMaxIn, mplsInterfaceLabelMinOut, and mplsInterfaceLabelMaxOut for this entry MUST be identical to the instance of these objects with index 0. These objects may only vary from theper-platform label space.entry with index 0 if both the perPlatform(0) and perInterface(1) bits are set. Inthis case,all cases, at a minimum one of themplsInSegmentLabel is interpreted toperPlatform(0) or perInterface(1) bits MUST be set to indicate that at least one label space is in use by this interface. In all cases, agents MUST ensure that label ranges are specified consistently and MUST return anMPLS-type label."inconsistentValue error when they do not." REFERENCE "Rosen, E., Viswanathan, A., and R. Callon, Multiprotocol Label Switching Architecture, RFC 3031, January 2001." ::= {mplsInSegmentEntry 1mplsInterfaceEntry 8 }mplsInSegmentLabel-- End of mplsInterfaceTable -- MPLS Interface Performance Table. mplsInterfacePerfTable OBJECT-TYPE SYNTAXMplsLabelSEQUENCE OF MplsInterfacePerfEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION"The incoming label for this segment.""This table provides MPLS performance information on a per-interface basis." ::= {mplsInSegmentEntrymplsLsrObjects 2 }mplsInSegmentNPopmplsInterfacePerfEntry OBJECT-TYPE SYNTAXInteger32 (1..2147483647)MplsInterfacePerfEntry MAX-ACCESSread-createnot-accessible STATUS current DESCRIPTION"The number of labels to pop from the incoming packet. Normally only the top label"An entry in this table ispopped fromcreated by thepacket and used for all switching decisionsLSR forthat packet. Note that technologies which do not support label popping should set this value to its default value of 1. This object cannot be modified if mplsInSegmentRowStatus is active(1)." DEFVAL { 1 } ::= { mplsInSegmentEntry 3 } mplsInSegmentAddrFamily OBJECT-TYPE SYNTAX AddressFamilyNumbers MAX-ACCESS read-create STATUS current DESCRIPTION "The IANA address family [IANAFamily]every interface capable ofthe incoming packet whichsupporting MPLS. Its isused atanegress LSR to deliver packetsextension to theappropriate layer 3 entity. A value of other(0) indicatesmplsInterfaceEntry table. Note that thefamily type is either unknown or undefined;discontinuity behavior of entries in thisis not a legal value at an egress LSR. This object cannottable MUST bemodified if mplsInSegmentRowStatus is active(1)."based on the corresponding ifEntry's ifDiscontinuityTime." AUGMENTS { mplsInterfaceEntry } ::= {mplsInSegmentEntry 4mplsInterfacePerfTable 1 }mplsInSegmentXCIndexMplsInterfacePerfEntry ::= SEQUENCE { -- incoming direction mplsInterfacePerfInLabelsInUse Gauge32, mplsInterfacePerfInLabelLookupFailures Counter32, -- outgoing direction mplsInterfacePerfOutLabelsInUse Gauge32, mplsInterfacePerfOutFragmentedPkts Counter32 } mplsInterfacePerfInLabelsInUse OBJECT-TYPE SYNTAXUnsigned32 (0..4294967295)Gauge32 MAX-ACCESS read-only STATUScurrent DESCRIPTION "Index into mplsXCTable which identifies which cross- connect entry this segment is part of. A valuecurrent DESCRIPTION "This object counts the number ofzero indicateslabels that are in use at thisentry is not referred to by any cross-connect entry. When a cross-connect entry is created whichpoint in time on thisin-segment is a part of,interface in the incoming direction. If the interface participates in only the per-platform label space, then the value of the instance of this objectis automatically updatedMUST be identical toreflectthe value ofmplsXCIndexthe instance with index 0. If the interface participates in the per-interface label space, then the instance of this object MUST represent the number of of per-interface labels thatcross-connect entry."are in use on this interface." ::= {mplsInSegmentEntry 5mplsInterfacePerfEntry 1 }mplsInSegmentOwnermplsInterfacePerfInLabelLookupFailures OBJECT-TYPE SYNTAXMplsOwnerCounter32 MAX-ACCESS read-only STATUS current DESCRIPTION"Denotes"This object counts theentitynumber of labeled packets thatcreated and is responsible for managinghave been received on thissegment."interface and which were discarded because there was no matching cross- connect entry. This object MUST count on a per- interface basis regardless of which label space the interface participates in." ::= {mplsInSegmentEntry 6mplsInterfacePerfEntry 2 }mplsInSegmentTrafficParamPtrmplsInterfacePerfOutLabelsInUse OBJECT-TYPE SYNTAXRowPointerGauge32 MAX-ACCESSread-createread-only STATUS current DESCRIPTION "Thisvariable represents a pointer toobject counts thetraffic parameter specification fornumber of top-most labels in the outgoing label stacks that are in use at thisin-segment. This value maypointat an entryinthe mplsTrafficParamTable to indicate which mplsTrafficParamEntry is to be assigned totime on thissegment.interface. Thisvalue may optionally point at an externally defined traffic parameter specification table. A valueobject MUST count on a per-interface basis regardless ofzeroDotZero indicates best-effort treatment. By havingwhich label space the interface participates in." ::= { mplsInterfacePerfEntry 3 } mplsInterfacePerfOutFragmentedPkts OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object counts thesame valuenumber of outgoing MPLS packets that required fragmentation before transmission on thisobject, two or more segments can indicate resource sharing.interface. This objectcannot be modified if mplsInSegmentRowStatus is active(1)." DEFVAL { zeroDotZero }MUST count on a per-interface basis regardless of which label space the interface participates in." ::= {mplsInSegmentEntry 7mplsInterfacePerfEntry 4 }mplsInSegmentRowStatus-- mplsInterfacePerf Table end. mplsInSegmentIndexNext OBJECT-TYPE SYNTAXRowStatusMplsIndexType MAX-ACCESSread-createread-only STATUS current DESCRIPTION "Thisvariable is usedobject contains the next available value tocreate, modify, and/or deletebe used for mplsInSegmentIndex when creating entries in the mplsInSegmentTable. The special value of arowa string containing the single octet 0x00 indicates indicates that no new entries can be created in thistable."table. Agents not allowing managers to create entries in this table MUST set this object to this special value." ::= {mplsInSegmentEntry 8mplsLsrObjects 3 }mplsInSegmentStorageType-- in-segment table. mplsInSegmentTable OBJECT-TYPE SYNTAXStorageTypeSEQUENCE OF MplsInSegmentEntry MAX-ACCESSread-createnot-accessible STATUS current DESCRIPTION "Thisvariable indicatestable contains a description of thestorage typeincoming MPLS segments (labels) to an LSR and their associated parameters. The index for thisobject. This objecttable is mplsInSegmentIndex. The index structure of this table is specifically designed to handle many different MPLS implementations that manage their labels both in a distributed and centralized manner. The table is also designed to handle existing MPLS labels as defined in RFC3031 as well as longer ones that may be necessary in the future. In cases where the label cannot fit into the mplsInSegmentLabel object, the mplsInSegmentLabelPtr will indicate this by being set to the first accessible colum in the appropriate extension table's row. In this case an additional table MUST bemodified if mplsInSegmentRowStatus is active(1). Ifprovided and MUST be indexed by at least the indexes used by thisvariabletable. In all other cases when the label is represented within the mlsinSegmentLabel object, the mplsInSegmentLabelPtr must be set toreadOnly(5), and0.0. Due to thecorresponding LFIB entryfact that MPLS labels may not exceed 24 bits, the mplsInSegmentLabelPtr object isremoved, thenonly a provision for future-proofing theagent must remove this row shortly thereafter [RFC2579]." ::= { mplsInSegmentEntry 9 } -- EndMIB module. Thus, the definition ofmplsInSegmentTable -- In-segment performance table. mplsInSegmentPerfTable OBJECT-TYPE SYNTAX SEQUENCE OF MplsInSegmentPerfEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains statistical information for incoming MPLS segments to an LSR."any extension tables is beyond the scope of this MIB module." ::= { mplsLsrObjects 4 }mplsInSegmentPerfEntrymplsInSegmentEntry OBJECT-TYPE SYNTAXMplsInSegmentPerfEntryMplsInSegmentEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this tablecontains statistical information aboutrepresents one incoming segmentwhich was configured in the mplsInSegmentTable. The countersas is represented inthisan LSR's LFIB. An entryshould behave incan be created by amanner similar to thatnetwork administrator or an SNMP agent, or an MPLS signaling protocol. The creator of theinterface. mplsInSegmentPerfDiscontinuityTime indicates the timeentry is denoted by mplsInSegmentOwner. The value of mplsInSegmentRowStatus cannot be active(1) unless thelast discontinuityifTable entry corresponding to mplsInSegmentInterface exists. An entry inthese objects." AUGMENTSthis table must match any incoming packets, and indicates an instance of mplsXCEntry based on which forwarding and/or switching actions are taken." INDEX {mplsInSegmentEntrymplsInSegmentIndex } ::= {mplsInSegmentPerfTablemplsInSegmentTable 1 }MplsInSegmentPerfEntryMplsInSegmentEntry ::= SEQUENCE {mplsInSegmentOctets Counter32, mplsInSegmentPackets Counter32, mplsInSegmentErrors Counter32, mplsInSegmentDiscards Counter32, -- high capacity counter mplsInSegmentHCOctets Counter64, mplsInSegmentPerfDiscontinuityTime TimeStamp } mplsInSegmentOctets OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This value represents the total number of octets received by this segment. It MUST be equal to the least significant 32 bits of mplsInSegmentHCOctets." ::= { mplsInSegmentPerfEntry 1 } mplsInSegmentPackets OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of packets received by this segment." ::= { mplsInSegmentPerfEntry 2mplsInSegmentIndex MplsIndexType, mplsInSegmentInterface InterfaceIndexOrZero, mplsInSegmentLabel MplsLabel, mplsInSegmentLabelPtr RowPointer, mplsInSegmentNPop Integer32, mplsInSegmentAddrFamily AddressFamilyNumbers, mplsInSegmentXCIndex MplsIndexType, mplsInSegmentOwner MplsOwner , mplsInSegmentTrafficParamPtr RowPointer, mplsInSegmentRowStatus RowStatus, mplsInSegmentStorageType StorageType }mplsInSegmentErrorsmplsInSegmentIndex OBJECT-TYPE SYNTAXCounter32MplsIndexType MAX-ACCESSread-onlynot-accessible STATUS current DESCRIPTION "Thenumber of errored packets received onindex for for thissegment."in-segment. The string containing the single octet 0x00 MUST not be used as an index." ::= {mplsInSegmentPerfEntry 3mplsInSegmentEntry 1 }mplsInSegmentDiscardsmplsInSegmentInterface OBJECT-TYPE SYNTAXCounter32InterfaceIndexOrZero MAX-ACCESSread-onlyread-create STATUS current DESCRIPTION"The number"This object represents the interface index for the incoming MPLS interface. A value oflabeled packets received on this in- segment, which were chosen tozero represents all interfaces participating in the per-platform label space. This may only bediscarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding suchused in cases where the incoming interface and label are associated with the same mplsXCEntry. Specifically, given alabeled packet couldlabel and any incoming interface pair from the per-platform label space, the outgoing label/interface mapping remains the same. If this is not the case, then individual entries MUST exist that can then be mapped tofree up buffer space."unique mplsXCEntries." ::= {mplsInSegmentPerfEntry 4mplsInSegmentEntry 2 }mplsInSegmentHCOctetsmplsInSegmentLabel OBJECT-TYPE SYNTAXCounter64MplsLabel MAX-ACCESSread-onlyread-create STATUS current DESCRIPTION"The total number"If the corresponding instance ofoctets received. ThismplsInSegmentLabelPtr is zeroDotZero then this object MUST contain the64 bit version of mplsInSegmentOctets."incoming label associated with this in-segment. If not this object SHOULD be zero and MUST be ignored." ::= {mplsInSegmentPerfEntry 5mplsInSegmentEntry 3 }mplsInSegmentPerfDiscontinuityTimemplsInSegmentLabelPtr OBJECT-TYPE SYNTAXTimeStampRowPointer MAX-ACCESSread-onlyread-create STATUS current DESCRIPTION"The value of sysUpTime on"If themost recent occasion at which any one or more oflabel for thissegment's Counter32 or Counter64 suffered a discontinuity. If no such discontinuities have occurred sincesegment cannot be represented fully within the mplsInSegmentLabel object, this object MUST point to thelast re- initializationfirst accessible column of a conceptual row in an external table containing thelocal management subsystem, thenlabel. In this case, the mplsInSegmentTopLabel objectcontains a zero value."SHOULD be set to 0 and ignored. This object MUST be set to zeroDotZero otherwise." DEFVAL { zeroDotZero } ::= {mplsInSegmentPerfEntry 6mplsInSegmentEntry 4 }-- End of mplsInSegmentPerfTable. -- Out-segment table. mplsOutSegmentIndexNextmplsInSegmentNPop OBJECT-TYPE SYNTAXUnsigned32 (0..4294967295)Integer32 (1..2147483647) MAX-ACCESSread-onlyread-create STATUS current DESCRIPTION"This object contains the next appropriate value"The number of labels tobe used for mplsOutSegmentIndex when creating entries inpop from themplsOutSegmentTable. Ifincoming packet. Normally only thenumber of unassigned entriestop label isexhausted, this object will take on the value of 0. To obtainpopped from themplsOutSegmentIndex valuepacket and used fora new entry, the manager must first issue a management protocol retrieval operationall switching decisions for that packet. This is indicated by setting this object toobtainthecurrentdefault value of 1. If an LSR supports popping of more than one label, thisobject. The agent should modify the valueobject MUST be set toreflect 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 willthat number. This object cannot bemade available for reuse."modified if mplsInSegmentRowStatus is active(1)." DEFVAL { 1 } ::= {mplsLsrObjectsmplsInSegmentEntry 5 }mplsOutSegmentTablemplsInSegmentAddrFamily OBJECT-TYPE SYNTAXSEQUENCE OF MplsOutSegmentEntryAddressFamilyNumbers MAX-ACCESSnot-accessibleread-create STATUS current DESCRIPTION"This table contains a representation"The IANA address family of packets received on this segment, which is used at an egress LSR to deliver them to the appropriate layer 3 entity. A value of other(0) indicates that theoutgoing segments fromfamily type is either unknown or undefined; this SHOULD NOT be used at anLSR."egress LSR. This object cannot be modified if mplsInSegmentRowStatus is active(1)." REFERENCE "See Internet Assigned Numbers Authority (IANA), ADDRESS FAMILY NUMBERS." DEFVAL { other } ::= {mplsLsrObjectsmplsInSegmentEntry 6 }mplsOutSegmentEntrymplsInSegmentXCIndex OBJECT-TYPE SYNTAXMplsOutSegmentEntryMplsIndexType MAX-ACCESSnot-accessibleread-only STATUS current DESCRIPTION"An"Index into mplsXCTable which identifies which cross- connect entryinthistable represents one outgoing segment. Ansegment is part of. The string containing the single octet 0x00 indicates that this entrycan be createdis not referred to by any cross-connect entry. When anetwork administrator or an SNMP agent, or an MPLS signaling protocol. Thecross-connect entry is created which this in-segment is a part of, this objectmplsOutSegmentOwner indicatesis automatically updated to reflect thecreator of this entry. Thevalue ofmplsOutSegmentRowStatus cannot be active(1)unless the ifTable entry corresponding to mplsOutSegmentIfIndex exists." INDEX { mplsOutSegmentIndex }mplsXCIndex of that cross-connect entry." ::= {mplsOutSegmentTable 1mplsInSegmentEntry 7 }MplsOutSegmentEntrymplsInSegmentOwner OBJECT-TYPE SYNTAX MplsOwner MAX-ACCESS read-only STATUS current DESCRIPTION "Denotes the entity that created and is responsible for managing this segment." ::=SEQUENCE{mplsOutSegmentIndex Unsigned32, mplsOutSegmentIfIndex InterfaceIndexOrZero, mplsOutSegmentPushTopLabel TruthValue, mplsOutSegmentTopLabel MplsLabel, mplsOutSegmentNextHopIpAddrType InetAddressType, mplsOutSegmentNextHopIpAddr InetAddress, mplsOutSegmentXCIndex Unsigned32, mplsOutSegmentOwner MplsOwner , mplsOutSegmentTrafficParamPtr RowPointer, mplsOutSegmentRowStatus RowStatus, mplsOutSegmentStorageType StorageTypemplsInSegmentEntry 8 }mplsOutSegmentIndexmplsInSegmentTrafficParamPtr OBJECT-TYPE SYNTAXUnsigned32(0..2147483647)RowPointer MAX-ACCESSnot-accessibleread-create STATUS current DESCRIPTION "Thisvalue containsvariable represents aunique indexpointer to the traffic parameter specification for thisrow. Whileout-segment. This value may point at an entry in the mplsTunnelResourceTable in the MPLS-TE-STD-MIB (RFCnnnn) RFC Editor: Please fill in RFC number. to indicate which traffic parameter settings for this segment if it represents an LSP used for a TE tunnel. This value may optionally point at an externally defined traffic parameter specification table. A value of zeroDotZero indicates best-effort treatment. By having the same value of0 is not validthis object, two or more segments can indicate resource sharing of such things asan index for this row it canLSP queue space, etc. This object cannot besupplied asmodified if mplsInSegmentRowStatus is active(1). For entries in this table that are preserved after avalid value to index mplsXCTablere-boot, the agent MUST ensure that their integrity be preserved, or this object should be set toaccess entries for which no out- segment has been configured."0.0 if it cannot." DEFVAL { zeroDotZero } ::= {mplsOutSegmentEntry 1mplsInSegmentEntry 9 }mplsOutSegmentIfIndexmplsInSegmentRowStatus OBJECT-TYPE SYNTAXInterfaceIndexRowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "Thisvalue must contain the interface index of the outgoing interface. This object cannot be modified if mplsOutSegmentRowStatusvariable isactive(1). The mplsOutSegmentRowStatus cannot be setused toactive(1) untilcreate, modify, and/or delete a row in thisobject is set totable. When avalue corresponding torow in this table has avalid ifEntry."row in the active(1) state, no objects in this row can be modified except the mplsInSegmentRowStatus and mplsInSegmentStorageType." ::= {mplsOutSegmentEntry 2mplsInSegmentEntry 10 }mplsOutSegmentPushTopLabelmplsInSegmentStorageType OBJECT-TYPE SYNTAXTruthValueStorageType MAX-ACCESSread-createread-only STATUS current DESCRIPTION "Thisvaluevariable indicateswhether or not a top label should be pushed ontotheoutgoing packet's label stack. The value ofstorage type for thisvariable MUST be set to true if the outgoing interface does not support pop- and-go (for example an ATM interface) or if it is a tunnel origination. Note that it is considered an error in the case that mplsOutSegmentPushTopLabelobject. If this object is set tofalse, butreadOnly(5), and thecross-connectcorresponding LFIB entrywhich refers tois removed, then the agent MUST remove thisout-segment has a non-zero mplsLabelStackIndex.row shortly thereafter. TheLSRagent MUST ensure that thissituation does not happen. This object cannot be modified if mplsOutSegmentRowStatusobject's value remains consistent with the associated mplsXCEntry. Conceptual rows having the value 'permanent' need not allow write-access to any columnar objects in the row. The default value isactive(1)."volatile(2)." REFERENCE "See RFC2579." DEFVAL {truevolatile } ::= {mplsOutSegmentEntry 3mplsInSegmentEntry 11 }mplsOutSegmentTopLabel-- End of mplsInSegmentTable -- in-segment performance table. mplsInSegmentPerfTable OBJECT-TYPE SYNTAXMplsLabelSEQUENCE OF MplsInSegmentPerfEntry MAX-ACCESSread-createnot-accessible STATUS current DESCRIPTION"If mplsOutSegmentPushTopLabel is true then"This table contains statistical information for incoming MPLS segments to an LSR." ::= { mplsLsrObjects 5 } mplsInSegmentPerfEntry OBJECT-TYPE SYNTAX MplsInSegmentPerfEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in thisrepresentstable contains statistical information about one incoming segment which is configured in thelabel thatmplsInSegmentTable. The counters in this entry shouldbe pushed onto the topbehave in a manner similar to that of theoutgoing packet's label stack. Otherwise this value SHOULD be set to 0 byinterface. mplsInSegmentPerfDiscontinuityTime indicates themanagement station and MUST be ignored bytime of theagent. This object cannot be modified if mplsOutSegmentRowStatus is active(1)." DEFVALlast discontinuity in all of these objects." AUGMENTS {0mplsInSegmentEntry } ::= {mplsOutSegmentEntry 4mplsInSegmentPerfTable 1 } MplsInSegmentPerfEntry ::= SEQUENCE { mplsInSegmentPerfOctets Counter32, mplsInSegmentPerfPackets Counter32, mplsInSegmentPerfErrors Counter32, mplsInSegmentPerfDiscards Counter32, -- high capacity counter mplsInSegmentPerfHCOctets Counter64, mplsInSegmentPerfDiscontinuityTime TimeStamp }mplsOutSegmentNextHopIpAddrTypemplsInSegmentPerfOctets OBJECT-TYPE SYNTAXInetAddressTypeCounter32 MAX-ACCESSread-createread-only STATUS current DESCRIPTION"Indicates that the next hop address type is IPv4 when set to ipv4 (1) or IPv6 when set to ipv6 (2). A"This valueof unknown (0) is allowed only whenrepresents theoutgoing interface istotal number oftype point-to-point. If any other values are attempted in a set operation the agentoctets received by this segment. It MUSTreturn an inconsistentValue error. This object cannotbemodifiedequal to the least significant 32 bits of mplsInSegmentPerfHCOctets ifmplsOutSegmentRowStatusmplsInSegmentPerfHCOctets isactive(1)."supported according to the rules spelled out in RFC2863." ::= { mplsInSegmentPerfEntry 1 } mplsInSegmentPerfPackets OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of packets received by this segment." ::= {mplsOutSegmentEntry 5mplsInSegmentPerfEntry 2 }mplsOutSegmentNextHopIpAddrmplsInSegmentPerfErrors OBJECT-TYPE SYNTAXInetAddressCounter32 MAX-ACCESSread-createread-only STATUS current DESCRIPTION "TheIPv4 or IPv6 addressnumber ofthe next hop. Its value is significant only when mplsOutSegmentNextHopIpAddrType is ipv4 (1) or ipv6 (2). Otherwise a management entity SHOULD seterrored packets received on thisto 0 and an agent MUST ignore it. Likewise an agent MUST return a valuesegment." ::= { mplsInSegmentPerfEntry 3 } mplsInSegmentPerfDiscards OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of0labeled packets received on this in- segment, which were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such aretrieval operation. This object cannotlabeled packet could bemodified if mplsOutSegmentRowStatus is active(1)."to free up buffer space." ::= {mplsOutSegmentEntry 6mplsInSegmentPerfEntry 4 }mplsOutSegmentXCIndexmplsInSegmentPerfHCOctets OBJECT-TYPE SYNTAXUnsigned32 (0..4294967295)Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION"Index into mplsXCTable which identifies which cross- connect entry this segment is part of. A value"The total number ofzero indicates that this entry is not referred to by any cross-connect entry. When a cross-connect entry is created which this out-segment is a part of, this objectoctets received. This isMUST be updated bytheagent64 bit version of mplsInSegmentPerfOctets, if mplsInSegmentPerfHCOctets is supported according toreflectthevalue of mplsXCIndex of that cross-connect entry."rules spelled out in RFC2863." ::= {mplsOutSegmentEntry 7mplsInSegmentPerfEntry 5 }mplsOutSegmentOwnermplsInSegmentPerfDiscontinuityTime OBJECT-TYPE SYNTAXMplsOwnerTimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION"Denotes"The value of sysUpTime on theentitymost recent occasion at whichcreated and is responsible for managingany one or more of thissegment."segment's Counter32 or Counter64 suffered a discontinuity. If no such discontinuities have occurred since the last re- initialization of the local management subsystem, then this object contains a zero value." ::= {mplsOutSegmentEntry 8mplsInSegmentPerfEntry 6 }mplsOutSegmentTrafficParamPtr-- End of mplsInSegmentPerfTable. -- out-segment table. mplsOutSegmentIndexNext OBJECT-TYPE SYNTAXRowPointerMplsIndexType MAX-ACCESSread-createread-only STATUS current DESCRIPTION "Thisvariable represents a pointer toobject contains thetraffic parameter specification for this out-segment. Thisnext available valuemay point at an entry in the mplsTrafficParamTable to indicate which mplsTrafficParamEntry isto beassigned 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 havingused for mplsOutSegmentIndex when creating entries in thesamemplsOutSegmentTable. The special value ofthis object, two or more segmentsa a string containing the single octet 0x00 indicates indicates that no new entries canindicate resource sharing. This object cannotbemodified if mplsOutSegmentRowStatus is active(1)." DEFVAL { zeroDotZero }created in this table. Agents not allowing managers to create entries in this table MUST set this object to this special value." ::= {mplsOutSegmentEntry 9mplsLsrObjects 6 }mplsOutSegmentRowStatusmplsOutSegmentTable OBJECT-TYPE SYNTAXRowStatusSEQUENCE OF MplsOutSegmentEntry MAX-ACCESSread-createnot-accessible STATUS current DESCRIPTION"For creating, modifying, and deleting this row.""This table contains a representation of the outgoing segments from an LSR." ::= {mplsOutSegmentEntry 10mplsLsrObjects 7 }mplsOutSegmentStorageTypemplsOutSegmentEntry OBJECT-TYPE SYNTAXStorageTypeMplsOutSegmentEntry MAX-ACCESSread-createnot-accessible STATUS current DESCRIPTION"This variable"An entry in this table represents one outgoing segment. An entry can be created by a network administrator, an SNMP agent, or an MPLS signaling protocol. The object mplsOutSegmentOwner indicates thestorage type forcreator of thisobject. This objectentry. The value of mplsOutSegmentRowStatus cannot bemodified if mplsOutSegmentRowStatus is active(1). Ifactive(1) unless the ifTable entry corresponding to mplsOutSegmentInterface exists. Note that the indexing of thisvariabletable uses a single, arbitrary index (mplsOutSegmentIndex) to indicate which out-segment (i.e.: label) is being switched to from which in-segment (i.e: label) or in-segments. This is necessary because it issetpossible to have an equal-cost multi-path situation where two identical out-going labels are assigned toreadOnly(5), andthecorresponding LFIB entry is removed, thensame cross-connect (i.e.: they go to two different neighboring LSRs); thus, requiring two out-segments. In order to preserve theagentuniqueness of the references by the mplsXCEntry, an arbitrary integer mustremovebe used as the index for thisrow shortly thereafter." ::=table." INDEX {mplsOutSegmentEntry 11mplsOutSegmentIndex }-- End of::= { mplsOutSegmentTable-- Out-segment performance table. mplsOutSegmentPerfTable1 } MplsOutSegmentEntry ::= SEQUENCE { mplsOutSegmentIndex MplsIndexType, mplsOutSegmentInterface InterfaceIndexOrZero, mplsOutSegmentPushTopLabel TruthValue, mplsOutSegmentTopLabel MplsLabel, mplsOutSegmentTopLabelPtr RowPointer, mplsOutSegmentNextHopAddrType InetAddressType, mplsOutSegmentNextHopAddr InetAddress, mplsOutSegmentXCIndex MplsIndexType, mplsOutSegmentOwner MplsOwner, mplsOutSegmentTrafficParamPtr RowPointer, mplsOutSegmentRowStatus RowStatus, mplsOutSegmentStorageType StorageType } mplsOutSegmentIndex OBJECT-TYPE SYNTAXSEQUENCE OF MplsOutSegmentPerfEntryMplsIndexType MAX-ACCESS not-accessible STATUS current DESCRIPTION "Thistablevalue containsstatistical information about outgoing segments from an LSR. The counters ina unique index for thisentry should behave inrow. While amanner similar to thatvalue of a string containing theinterface." ::= { mplsLsrObjects 7 } mplsOutSegmentPerfEntry OBJECT-TYPE SYNTAX MplsOutSegmentPerfEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entrysingle octet 0x00 is not valid as an index for entries in thistable contains statistical information about one outgoing segment configured in mplsOutSegmentTable. mplsOutSegmentPerfDiscontinuityTime indicates the time oftable, it can be supplied as a valid value to index thelast discontinuity in these objects. " AUGMENTS { mplsOutSegmentEntry }mplsXCTable to represent entries for which no out-segment has been configured or exists." ::= {mplsOutSegmentPerfTablemplsOutSegmentEntry 1 }MplsOutSegmentPerfEntry ::= SEQUENCE { mplsOutSegmentOctets Counter32, mplsOutSegmentPackets Counter32, mplsOutSegmentErrors Counter32, mplsOutSegmentDiscards Counter32, -- HC counter mplsOutSegmentHCOctets Counter64, mplsOutSegmentPerfDiscontinuityTime TimeStamp } mplsOutSegmentOctetsmplsOutSegmentInterface OBJECT-TYPE SYNTAXCounter32InterfaceIndexOrZero MAX-ACCESSread-onlyread-create STATUS current DESCRIPTION "This valuecontainsmust contain thetotal numberinterface index ofoctets sent on this segment. It MUSTthe outgoing interface. This object cannot beequalmodified if mplsOutSegmentRowStatus is active(1). The mplsOutSegmentRowStatus cannot be set to active(1) until this object is set tothe least significant 32 bits of mplsOutSegmentHCOctets."a value corresponding to a valid ifEntry." ::= {mplsOutSegmentPerfEntry 1mplsOutSegmentEntry 2 }mplsOutSegmentPacketsmplsOutSegmentPushTopLabel OBJECT-TYPE SYNTAXCounter32TruthValue MAX-ACCESSread-onlyread-create STATUS current DESCRIPTION "This valuecontainsindicates whether or not a top label should be pushed onto thetotal numberoutgoing packet's label stack. The value ofpackets sentthis variable MUST be set to true(1) if the outgoing interface does not support pop-and-go (and no label stack remains). For example, on ATM interface, or if the segment represents a tunnel origination. Note that it is considered an error in the case that mplsOutSegmentPushTopLabel is set to false, but the cross-connect entry which refers to thissegment."out-segment has a non-zero mplsLabelStackIndex. The LSR MUST ensure that this situation does not happen. This object cannot be modified if mplsOutSegmentRowStatus is active(1)." DEFVAL { true } ::= {mplsOutSegmentPerfEntry 2mplsOutSegmentEntry 3 }mplsOutSegmentErrorsmplsOutSegmentTopLabel OBJECT-TYPE SYNTAXCounter32MplsLabel MAX-ACCESSread-onlyread-create STATUS current DESCRIPTION"Number of packets"If mplsOutSegmentPushTopLabel is true then this represents the label thatcould notshould besent due to errors onpushed onto the top of the outgoing packet's label stack. Otherwise thissegment."value SHOULD be set to 0 by the management station and MUST be ignored by the agent. This object cannot be modified if mplsOutSegmentRowStatus is active(1)." DEFVAL { 0 } ::= {mplsOutSegmentPerfEntry 3mplsOutSegmentEntry 4 }mplsOutSegmentDiscardsmplsOutSegmentTopLabelPtr OBJECT-TYPE SYNTAXCounter32RowPointer MAX-ACCESSread-onlyread-create STATUS current DESCRIPTION"The number of labeled packets received on"If the label for thisout- segment, which were chosen tosegment cannot bediscarded even though no errors had been detectedrepresented fully within the mplsOutSegmentLabel object, this object MUST point to the first accessible column of a conceptual row in an external table containing the label. In this case, the mplsOutSegmentTopLabel object SHOULD be set toprevent their being transmitted. One possible reason for discarding such a labeled packet could0 and ignored. This object MUST be set tofree up buffer space."zeroDotZero otherwise." DEFVAL { zeroDotZero } ::= {mplsOutSegmentPerfEntry 4mplsOutSegmentEntry 5 }mplsOutSegmentHCOctetsmplsOutSegmentNextHopAddrType OBJECT-TYPE SYNTAXCounter64InetAddressType MAX-ACCESSread-onlyread-create STATUS current DESCRIPTION"Total number"Indicates the next hop Internet address type. Only values unknown(0), ipv4(1) or ipv6(2) have to be supported. A value ofoctets sent. Thisunknown(0) is allowed only when the64 bit versionoutgoing interface is ofmplsOutSegmentOctets."type point-to-point. If any other unsupported values are attempted in a set operation, the agent MUST return an inconsistentValue error." REFERENCE "See RFC3291." ::= {mplsOutSegmentPerfEntry 5mplsOutSegmentEntry 6 }mplsOutSegmentPerfDiscontinuityTimemplsOutSegmentNextHopAddr OBJECT-TYPE SYNTAXTimeStampInetAddress MAX-ACCESSread-onlyread-create STATUS current DESCRIPTION "Thevalueinternet address ofsysUpTime onthemost recent occasion at which any one or morenext hop. The type of thissegment's Counter32 or Counter64 suffered a discontinuity. If no such discontinuities have occurred sinceaddress is determined by thelast re- initializationvalue of thelocal management subsystem, then thismplslOutSegmentNextHopAddrType object. This objectcontains a zero value."cannot be modified if mplsOutSegmentRowStatus is active(1)." ::= {mplsOutSegmentPerfEntry 6mplsOutSegmentEntry 7 }-- End of mplsOutSegmentPerfTable. -- Cross-connect table. mplsXCIndexNextmplsOutSegmentXCIndex OBJECT-TYPE SYNTAXUnsigned32 (0..4294967295)MplsIndexType MAX-ACCESS read-only STATUS current DESCRIPTION"This object contains an appropriate"Index into mplsXCTable which identifies which cross- connect entry this segment is part of. A valueto be used for mplsXCIndex when creating entries inof themplsXCTable. The value 0string containing the single octet 0x00 indicates thatno unassigned entries are available. To obtain the value of mplsXCIndex for a newthis entryin the mplsXCTable, the manager issues a management protocol retrieval operationis not referred toobtain the current value of mplsXCIndex. After each retrieval operation,by any cross-connect entry. When a cross-connect entry is created which this out-segment is a part of, this object MUST be updated by the agentshould modify the valueto reflect thenext unassigned index. After a manager retrieves a value the agent will determine through its local policy when this indexvaluewill be made available for reuse."of mplsXCIndex of that cross-connect entry." ::= {mplsLsrObjectsmplsOutSegmentEntry 8 }mplsXCTablemplsOutSegmentOwner OBJECT-TYPE SYNTAXSEQUENCE OF MplsXCEntryMplsOwner MAX-ACCESSnot-accessibleread-only STATUS current DESCRIPTION"This table specifies information for switching between LSP segments. It supports point-to-point, point-to-multipoint and multipoint-to-point connections. mplsLabelStackTable specifies"Denotes thelabel stack information for a cross-connect LSRentity which created and isreferred to from mplsXCTable."responsible for managing this segment." ::= {mplsLsrObjectsmplsOutSegmentEntry 9 }mplsXCEntrymplsOutSegmentTrafficParamPtr OBJECT-TYPE SYNTAXMplsXCEntryRowPointer MAX-ACCESSnot-accessibleread-create STATUS current DESCRIPTION"A row in this table"This variable representsone cross-connect entry. It is indexed by the following objects: - cross-connect index mplsXCIndex that uniquely identifiesagroup of cross-connect entries - interface index ofpointer to thein-segment, mplsXCInSegmentIfIndex - incoming label(s), mplsXCInSegmentLabel - out-segment index, mplsXCOutSegmentIndex LSPs originating attraffic parameter specification for thisLSR: These are represented by usingout-segment. This value may point at an entry in thespecial combination of values mplsXCInSegmentIfIndex=0 and mplsXCInSegmentLabel=0 as indexes. In this caseMplsTunnelResourceEntry in themplsXCOutSegmentIndex MUST be non-zero. LSPs terminating atMPLS-TE-STD-MIB (RFCnnnn) RFC Editor: Please fill in RFC number. to indicate which traffic parameter settings for thisLSR: These are represented by using the specialsegment if it represents an LSP used for a TE tunnel. This valuemplsXCOutSegmentIndex=0 as index. Special labels: Entries indexed by reserved MPLS label values 0 through 15 imply LSPs terminatingmay optionally point atthis LSR and MUST have mplsXCOutSegmentIfIndex = 0. Note that situations where LSPs are terminated with incoming label equal to 0, should have mplsXCInSegmentIfIndex = 0 as well, butan externally defined traffic parameter specification table. A value of zeroDotZero indicates best-effort treatment. By having the same value of this object, two or more segments can indicate resource sharing of such things as LSP queue space, etc. This object cannot bedistinguished from LSPs originating atmodified if mplsOutSegmentRowStatus is active(1). For entries in thisLSR becausetable that are preserved after a re-boot, themplsXCOutSegmentIfIndex = 0. The mplsXCOutSegmentIfIndexagent MUSTonlyensure that their integrity be preserved, or this object should be set to00.0 if it cannot." DEFVAL { zeroDotZero } ::= { mplsOutSegmentEntry 10 } mplsOutSegmentRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "For creating, modifying, and deleting this row. When a row in this table has a row in thecase of LSPs terminating atactive(1) state, no objects in thisLSR. An entryrow can becreated by a network administratormodified except the mplsOutSegmentRowStatus orby an SNMP agent as instructed by an MPLS signaling protocol." INDEXmplsOutSegmentStorageType." ::= {mplsXCIndex, mplsXCInSegmentIfIndex, mplsXCInSegmentLabel, mplsXCOutSegmentIndexmplsOutSegmentEntry 11 }::=mplsOutSegmentStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-only STATUS current DESCRIPTION "This variable indicates the storage type for this object. If this object is set to readOnly(5), and the corresponding LFIB entry is removed, then the agent MUST remove this row shortly thereafter RFC2579. The agent MUST ensure that this object's value remains consistent with the associated mplsXCEntry. Conceptual rows having the value 'permanent' need not allow write-access to any columnar objects in the row. The default value is volatile(2)." DEFVAL {mplsXCTable 1volatile }MplsXCEntry::=SEQUENCE{mplsXCIndex Unsigned32, mplsXCInSegmentIfIndex InterfaceIndexOrZero, mplsXCInSegmentLabel MplsLabel, mplsXCOutSegmentIndex Unsigned32, mplsXCLspId MplsLSPID, mplsXCLabelStackIndex Unsigned32, mplsXCIsPersistent TruthValue, mplsXCOwner MplsOwner , mplsXCRowStatus RowStatus, mplsXCStorageType StorageType, mplsXCAdminStatus INTEGER, mplsXCOperStatus INTEGERmplsOutSegmentEntry 12 }mplsXCIndex-- End of mplsOutSegmentTable -- out-segment performance table. mplsOutSegmentPerfTable OBJECT-TYPE SYNTAXUnsigned32 (1..2147483647)SEQUENCE OF MplsOutSegmentPerfEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION"Primary index for the conceptual row identifying"This table contains statistical information about outgoing segments from an LSR. The counters in this entry should behave in agroupmanner similar to that ofcross-connect segments."the interface." ::= {mplsXCEntry 1mplsLsrObjects 8 }mplsXCInSegmentIfIndexmplsOutSegmentPerfEntry OBJECT-TYPE SYNTAXInterfaceIndexOrZeroMplsOutSegmentPerfEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION"Interface index"An entry in this table contains statistical information about one outgoing segment configured in mplsOutSegmentTable. mplsOutSegmentPerfDiscontinuityTime indicates the time of thein-segment for LSPs not originating at this LSR. Zero (along with mplsXCInSegmentLabel) otherwise."last discontinuity in these objects. " AUGMENTS { mplsOutSegmentEntry } ::= {mplsXCEntry 2mplsOutSegmentPerfTable 1 } MplsOutSegmentPerfEntry ::= SEQUENCE { mplsOutSegmentPerfOctets Counter32, mplsOutSegmentPerfPackets Counter32, mplsOutSegmentPerfErrors Counter32, mplsOutSegmentPerfDiscards Counter32, -- HC counter mplsOutSegmentPerfHCOctets Counter64, mplsOutSegmentPerfDiscontinuityTime TimeStamp }mplsXCInSegmentLabelmplsOutSegmentPerfOctets OBJECT-TYPE SYNTAXMplsLabelCounter32 MAX-ACCESSnot-accessibleread-only STATUS current DESCRIPTION"Incoming label.""This value contains the total number of octets sent on this segment. It MUST be equal to the least significant 32 bits of mplsOutSegmentPerfHCOctets if mplsOutSegmentPerfHCOctets is supported according to the rules spelled out in RFC2863." ::= {mplsXCEntry 3mplsOutSegmentPerfEntry 1 }mplsXCOutSegmentIndexmplsOutSegmentPerfPackets OBJECT-TYPE SYNTAXUnsigned32 (1..2147483647)Counter32 MAX-ACCESSnot-accessibleread-only STATUS current DESCRIPTION"Index"This value contains the total number ofout-segment for LSPs not terminatingpackets sent on thisLSR; zero otherwise."segment." ::= {mplsXCEntry 4mplsOutSegmentPerfEntry 2 }mplsXCLspIdmplsOutSegmentPerfErrors OBJECT-TYPE SYNTAXMplsLSPIDCounter32 MAX-ACCESSread-createread-only STATUS current DESCRIPTION"This value identifies the label switched path"Number of packets thatthis cross-connect entry belongs to. This object cannotcould not bemodified if mplsXCRowStatus is active(1)."sent due to errors on this segment." ::= {mplsXCEntry 5mplsOutSegmentPerfEntry 3 }mplsXCLabelStackIndexmplsOutSegmentPerfDiscards OBJECT-TYPE SYNTAXUnsigned32 (0..4294967295)Counter32 MAX-ACCESSread-createread-only STATUS current DESCRIPTION"Primary index into mplsLabelStackTable identifying a stack"The number oflabelslabeled packets attempted tobe pushed beneath the top label. Note that the top label identified by the out- segment ensures that all the components of a multipoint-to-point connection have the same outgoing label. A value of 0 indicates that no labels arebe transmitted on this out-segment, which were chosen to bestacked beneath the top label. This object cannotdiscarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a labeled packet could bemodified if mplsXCRowStatus is active(1)."to free up buffer space." ::= {mplsXCEntry 6mplsOutSegmentPerfEntry 4 }mplsXCIsPersistentmplsOutSegmentPerfHCOctets OBJECT-TYPE SYNTAXTruthValueCounter64 MAX-ACCESSread-createread-only STATUS current DESCRIPTION"Denotes whether or not this cross-connect entry and associated in- and out-segments should be restored automatically after failures. This value MUST be set to false in cases where this cross-connect entry was created by a signaling protocol."Total number of octets sent. Thisobject cannot be modifiedis the 64 bit version of mplsOutSegmentPerfOctets, ifmplsXCRowStatusmplsOutSegmentPerfHCOctets isactive(1)." DEFVAL { false }supported according to the rules spelled out in RFC2863." ::= {mplsXCEntry 7mplsOutSegmentPerfEntry 5 }mplsXCOwnermplsOutSegmentPerfDiscontinuityTime OBJECT-TYPE SYNTAXMplsOwnerTimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION"Denotes"The value of sysUpTime on theentity that created and is responsible for managingmost recent occasion at which any one or more of this segment's Counter32 or Counter64 suffered a discontinuity. If no such discontinuities have occurred since the last re- initialization of the local management subsystem, then thiscross-connect. Thisobjectcannot be modified if mplsXCRowStatus is active(1)."contains a zero value." ::= {mplsXCEntry 8mplsOutSegmentPerfEntry 6 }mplsXCRowStatus-- End of mplsOutSegmentPerfTable. -- Cross-connect table. mplsXCIndexNext OBJECT-TYPE SYNTAXRowStatusMplsIndexType MAX-ACCESSread-createread-only STATUS current DESCRIPTION"For creating, modifying, and deleting"This object contains the next available value to be used for mplsXCIndex when creating entries in the mplsXCTable. A special value of the zero length string indicates that no more new entries can be created in the relevant table. Agents not allowing managers to create entries in this table MUST set thisrow."value to the zero length string." ::= {mplsXCEntrymplsLsrObjects 9 }mplsXCStorageTypemplsXCTable OBJECT-TYPE SYNTAXStorageTypeSEQUENCE OF MplsXCEntry MAX-ACCESSread-onlynot-accessible STATUS current DESCRIPTION"Defines the storage type support provided"This table specifies information forthis object by the agent. If this variable is set to readOnly(5),switching between LSP segments. It supports point-to-point, point-to-multipoint and multipoint-to-point connections. mplsLabelStackTable specifies thecorresponding LFIB entrylabel stack information for a cross-connect LSR and isremoved, then the agent must remove this row shortly thereafter."referred to from mplsXCTable." ::= {mplsXCEntrymplsLsrObjects 10 }mplsXCAdminStatusmplsXCEntry OBJECT-TYPE SYNTAXINTEGER { up(1), -- ready to pass packets down(2), testing(3) -- in some test mode }MplsXCEntry MAX-ACCESSread-createnot-accessible STATUS current DESCRIPTION"The desired operational status"A row in this table represents one cross-connect entry. It is indexed by the following objects: - cross-connect index mplsXCIndex that uniquely identifies a group of cross-connect entries - in-segment index, mplsXCInSegmentIndex - out-segment index, mplsXCOutSegmentIndex LSPs originating at thissegment." ::= { mplsXCEntry 11 } mplsXCOperStatus OBJECT-TYPE SYNTAX INTEGER { up(1), -- readyLSR: These are represented by using the special of value of mplsXCInSegmentIndex set topass packets down(2), testing(3), -- in some test mode unknown(4), -- status cannotthe string containing a single octet 0x00. In this case the mplsXCOutSegmentIndex MUST not bedetermined -- for some reason. dormant(5), notPresent(6), -- some component is missing lowerLayerDown(7) -- down duethe string containing a single octet 0x00. LSPs terminating at this LSR: These are represented by using the special value mplsXCOutSegmentIndex set to the string containing a single octet 0x00. Special labels: Entries indexed by the strings containing the reserved MPLS label values as a single octet 0x00 through 0x0f (inclusive) imply LSPs terminating at this LSR. Note that situations where LSPs are terminated with incoming label equal to thestate of -- lower layer interfaces } MAX-ACCESS read-only STATUS current DESCRIPTION "The actual operational status ofstring containing a single octet 0x00 can be distinguished from LSPs originating at thiscross- connect." ::=LSR because the mplsXCOutSegmentIndex equals the string containing the single octet 0x00. An entry can be created by a network administrator or by an SNMP agent as instructed by an MPLS signaling protocol." INDEX {mplsXCEntry 12mplsXCIndex, mplsXCInSegmentIndex, mplsXCOutSegmentIndex }-- End of::= { mplsXCTable-- Label stack table. mplsMaxLabelStackDepth OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "The maximum stack depth supported by this LSR."1 } MplsXCEntry ::= SEQUENCE {mplsLsrObjects 10mplsXCIndex MplsIndexType, mplsXCInSegmentIndex MplsIndexType, mplsXCOutSegmentIndex MplsIndexType, mplsXCLspId MplsLSPID, mplsXCLabelStackIndex MplsIndexType, mplsXCOwner MplsOwner , mplsXCRowStatus RowStatus, mplsXCStorageType StorageType, mplsXCAdminStatus INTEGER, mplsXCOperStatus INTEGER }mplsLabelStackIndexNextmplsXCIndex OBJECT-TYPE SYNTAXUnsigned32 (0..4294967295)MplsIndexType MAX-ACCESSread-onlynot-accessible STATUS current DESCRIPTION"This object contains an appropriate value to be used for mplsLabelStackIndex when creating entries in the mplsLabelStackTable. The value 0 indicates that no unassigned entries are available. To obtain an mplsLabelStackIndex value"Primary index fora new entry,themanager issuesconceptual row identifying amanagement protocol retrieval operation to obtain the current valuegroup ofthis object. After each retrieval operation, the agent should modify the value to reflect the next unassigned index. After a manager retrievescross-connect segments. The string containing avalue the agent will determine through its local policy when this index value will be made available for reuse."single octet 0x00 is an invalid index." ::= {mplsLsrObjects 11mplsXCEntry 1 }mplsLabelStackTablemplsXCInSegmentIndex OBJECT-TYPE SYNTAXSEQUENCE OF MplsLabelStackEntryMplsIndexType MAX-ACCESS not-accessible STATUS current DESCRIPTION"This table specifies the"Incoming labelstackindex. If this object is set tobe pushed ontothe string containing apacket, beneathsingle octet 0x00, this indicates a special case outlined in thetop label. Entries intotable's description above. In thistable are referred to from mplsXCTable."case no corresponding mplsInSegmentEntry shall exist." ::= {mplsLsrObjects 12mplsXCEntry 2 }mplsLabelStackEntrymplsXCOutSegmentIndex OBJECT-TYPE SYNTAXMplsLabelStackEntryMplsIndexType MAX-ACCESS not-accessible STATUS current DESCRIPTION"An entry in"Index of out-segment for LSPs not terminating on thistable represents one label which isLSR if not set tobe pushed onto an outgoing packet, beneaththetop label. Anstring containing the single octet 0x00. If the segment identified by this entrycanis terminating, then this object MUST becreated byset to the string containing anetwork administrator or by an SNMP agent as instructed by an MPLS signaling protocol." INDEX { mplsLabelStackIndex, mplsLabelStackLabelIndex }single octet 0x00 to indicate that no corresponding mplsOutSegmentEntry shall exist." ::= {mplsLabelStackTable 1mplsXCEntry 3 }MplsLabelStackEntrymplsXCLspId OBJECT-TYPE SYNTAX MplsLSPID MAX-ACCESS read-create STATUS current DESCRIPTION "This value identifies the label switched path that this cross-connect entry belongs to. This object cannot be modified if mplsXCRowStatus is active(1) except for this object." ::=SEQUENCE{mplsLabelStackIndex Unsigned32, mplsLabelStackLabelIndex Unsigned32, mplsLabelStackLabel MplsLabel, mplsLabelStackRowStatus RowStatus, mplsLabelStackStorageType StorageTypemplsXCEntry 4 }mplsLabelStackIndexmplsXCLabelStackIndex OBJECT-TYPE SYNTAXUnsigned32 (1..2147483647)MplsIndexType MAX-ACCESSnot-accessibleread-create STATUS current DESCRIPTION "Primary indexfor this rowinto mplsLabelStackTable identifying a stack of labels to be pushedon an outgoing packet,beneath the toplabel." ::= { mplsLabelStackEntry 1 } mplsLabelStackLabelIndex OBJECT-TYPE SYNTAX Unsigned32 (1..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Secondary index for this row identifying one label of the stack.label. Note thatan entry with a smaller mplsLabelStackLabelIndex would refer to a label higher upthe top labelstack and would be popped at a downstream LSR before a label representedidentified by the out- segment ensures that all the components of ahigher mplsLabelStackLabelIndex at a downstream LSR."multipoint-to-point connection have the same outgoing label. A value of the string containing the single octet 0x00 indicates that no labels are to be stacked beneath the top label. This object cannot be modified if mplsXCRowStatus is active(1)." ::= {mplsLabelStackEntry 2mplsXCEntry 5 }mplsLabelStackLabelmplsXCOwner OBJECT-TYPE SYNTAXMplsLabelMplsOwner MAX-ACCESSread-createread-only STATUS current DESCRIPTION"The label to pushed.""Denotes the entity that created and is responsible for managing this cross-connect." ::= {mplsLabelStackEntry 3mplsXCEntry 6 }mplsLabelStackRowStatusmplsXCRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "For creating, modifying, and deleting thisrow."row. When a row in this table has a row in the active(1) state, no objects in this row except this object and the mplsXCStorageType can be modified. Modification of mplsXCStorateType MUST be done as specified in the description of that object." ::= {mplsLabelStackEntry 4mplsXCEntry 7 }mplsLabelStackStorageTypemplsXCStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION" Defines"This variable indicates the storage typesupport providedfor thisobject by the agent.object. If this variable is set to readOnly(5), and the corresponding LFIB entry is removed, then the agentmustMUST remove this row shortlythereafter."thereafter. The agent MUST ensure that the associated in and out segments also have the same StorageType value and are restored consistently upon system restart. This value SHOULD be set to permanent(4) if created as a result of a static LSP configuration. Conceptual rows having the value 'permanent' need not allow write-access to any columnar objects in the row." DEFVAL { volatile } ::= { mplsXCEntry 8 } 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 "The desired operational status of this segment." DEFVAL { up } ::= { mplsXCEntry 9 } 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 lowerLayerDown(7) -- down due to the state of -- lower layer interfaces } MAX-ACCESS read-only STATUS current DESCRIPTION "The actual operational status of this cross- connect." ::= {mplsLabelStackEntry 5mplsXCEntry 10 } -- End ofmplsLabelStackTablemplsXCTable --Traffic ParameterLabel stack table.mplsTrafficParamIndexNextmplsMaxLabelStackDepth OBJECT-TYPE SYNTAX Unsigned32(0..4294967295)(1..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "The maximum stack depth supported by this LSR." ::= { mplsLsrObjects 11 } mplsLabelStackIndexNext OBJECT-TYPE SYNTAX MplsIndexType MAX-ACCESS read-only STATUS current DESCRIPTION "This object containsan appropriatethe next available valuewhich willto be used formplsTrafficParamIndexmplsLabelStackIndex when creating entries in themplsTrafficParamTable.mplsLabelStackTable. Thevalue 0special string containing the single octet 0x00 indicates that nounassigned entries are available. To obtain the mplsTrafficParamIndex value for amore newentry,entries can be created in themanager issues a management protocol retrieval operationrelevant table. Agents not allowing managers toobtain the current value ofcreate entries in this table MUST set thisobject. After each retrieval operation, the agent should modify thevalue toreflectthenext unassigned index. After a manager retrieves a valuestring containing theagent will determine through its local policy when this index value will be made available for reuse."single octet 0x00." ::= { mplsLsrObjects1312 }mplsTrafficParamTablemplsLabelStackTable OBJECT-TYPE SYNTAX SEQUENCE OFMplsTrafficParamEntryMplsLabelStackEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table specifies theTraffic Parameter objects for in and out-segments."label stack to be pushed onto a packet, beneath the top label. Entries into this table are referred to from mplsXCTable." ::= { mplsLsrObjects1413 }mplsTrafficParamEntrymplsLabelStackEntry OBJECT-TYPE SYNTAXMplsTrafficParamEntryMplsLabelStackEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table representsthe TrafficParam objects foroneor more in or out segments. A singlelabel which is to be pushed onto an outgoing packet, beneath the top label. An entry can bepointed tocreated bymultiple segments indicating resource sharing."a network administrator or by an SNMP agent as instructed by an MPLS signaling protocol." INDEX {mplsTrafficParamIndexmplsLabelStackIndex, mplsLabelStackLabelIndex } ::= { mplsLabelStackTable 1 } MplsLabelStackEntry ::= SEQUENCE { mplsLabelStackIndex MplsIndexType, mplsLabelStackLabelIndex Unsigned32, mplsLabelStackLabel MplsLabel, mplsLabelStackLabelPtr RowPointer, mplsLabelStackRowStatus RowStatus, mplsLabelStackStorageType StorageType } mplsLabelStackIndex OBJECT-TYPE SYNTAX MplsIndexType 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. An index containing the string with a single octet 0x00 MUST not be used." ::= {mplsTrafficParamTablemplsLabelStackEntry 1 }MplsTrafficParamEntry ::= SEQUENCE { mplsTrafficParamIndex Unsigned32, mplsTrafficParamMaxRate MplsBitRate, mplsTrafficParamMeanRate MplsBitRate, mplsTrafficParamMaxBurstSize MplsBurstSize, mplsTrafficParamRowStatus RowStatus, mplsTrafficParamStorageType StorageType } mplsTrafficParamIndexmplsLabelStackLabelIndex OBJECT-TYPE SYNTAX Unsigned32 (1..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION"Uniquely identifies"Secondary index for this row identifying one label of thetable.stack. Note thatzero representsaninvalid index." ::= { mplsTrafficParamEntry 1 } mplsTrafficParamMaxRate OBJECT-TYPE SYNTAX MplsBitRate UNITS "kilobits per second" MAX-ACCESS read-create STATUS current DESCRIPTION "Maximum rate in kilobits/second."entry with a smaller mplsLabelStackLabelIndex would refer to a label higher up the label stack and would be popped at a downstream LSR before a label represented by a higher mplsLabelStackLabelIndex at a downstream LSR." ::= {mplsTrafficParamEntrymplsLabelStackEntry 2 }mplsTrafficParamMeanRatemplsLabelStackLabel OBJECT-TYPE SYNTAXMplsBitRate UNITS "kilobits per second"MplsLabel MAX-ACCESS read-create STATUS current DESCRIPTION"Mean rate in kilobits/second.""The label to pushed." ::= {mplsTrafficParamEntrymplsLabelStackEntry 3 }mplsTrafficParamMaxBurstSizemplsLabelStackLabelPtr OBJECT-TYPE SYNTAXMplsBurstSize UNITS "bytes"RowPointer MAX-ACCESS read-create STATUS current DESCRIPTION"Maximum burst size"If the label for this segment cannot be represented fully within the mplsLabelStackLabel object, this object MUST point to the first accessible column of a conceptual row inbytes."an external table containing the label. In this case, the mplsLabelStackLabel object SHOULD be set to 0 and ignored. This object MUST be set to zeroDotZero otherwise." DEFVAL { zeroDotZero } ::= {mplsTrafficParamEntrymplsLabelStackEntry 4 }mplsTrafficParamRowStatusmplsLabelStackRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "For creating, modifying, and deleting thisrow."row. When a row in this table has a row in the active(1) state, no objects in this row except this object and the mplsLabelStackStorageType can be modified." ::= {mplsTrafficParamEntrymplsLabelStackEntry 5 }mplsTrafficParamStorageTypemplsLabelStackStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION" Defines"This variable indicates the storage typesupport providedfor this object. This objectby the agent.cannot be modified if mplsLabelStackRowStatus is active(1). If this variable is set to readOnly(5), and the corresponding LFIB entry is removed, then the agentmustMUST remove this row shortlythereafter."thereafter RFC2579. No objects are required to be writable for rows in this table with this object set to permanent(4). The default value is volatile(2). The agent MUST ensure that all related entries in this table retain the same value for this object. Agents MUST ensure that the storage type for all entries related to a particular mplsXCEntry retain the same value for this object as the mplsXCEntry's StorageType." DEFVAL { volatile } ::= {mplsTrafficParamEntrymplsLabelStackEntry 6 } -- End ofmplsTrafficParamTablemplsLabelStackTable -- Notification Configuration mplsXCNotificationsEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "If this object is set to true(1), then it enables the emission of mplsXCUp and mplsXCDown notifications; otherwise these notifications are not emitted." REFERENCE "See also RFC3413 for explanation that notifications are under the ultimate control of the MIB modules in this document." DEFVAL { false } ::= { mplsLsrObjects1514 } -- Cross-connect. mplsXCUp NOTIFICATION-TYPE OBJECTS { mplsXCOperStatus, -- start of range mplsXCOperStatus -- end of range } STATUS current DESCRIPTION "This notification is generated when the mplsXCOperStatus object for one or more contiguous entries in mplsXCTable are about to enter the up(1) state from someother.other state. The included values of mplsXCOperStatus MUST both be set equal to thisother state.new state (i.e: up(1)). The two instances of mplsXCOperStatus in this notification indicate the range of indexes that are affected. Note that all the indexes of the two ends of the range can be derived from the instance identifiers of these two objects. For cases where a contiguous range of cross-connects have transitioned into the up(1) state at roughly the same time, the device SHOULD issue a single notification for each range of contiguous indexes in an effort to minimize the emission of a large number of notifications. If a notification has to be issued for just a single cross-connect entry, then the instance identifier (and values) of the two mplsXCOperStatus objects MUST be the identical." ::= { mplsLsrNotifications 1 } mplsXCDown NOTIFICATION-TYPE OBJECTS { mplsXCOperStatus, -- start of range mplsXCOperStatus -- end of range } STATUS current DESCRIPTION" This"This notification is generated when the mplsXCOperStatus object for one or more contiguous entries in mplsXCTable are about to enter the down(2) state from someother.other state. The included values of mplsXCOperStatus MUST both be set equal to thisotherdown(2) state. The two instances of mplsXCOperStatus in this notification indicate the range of indexes that are affected. Note that all the indexes of the two ends of the range can be derived from the instance identifiers of these two objects. For cases where a contiguous range of cross-connects have transitioned into the down(2) state at roughly the same time, the device SHOULD issue a single notification for each range of contiguous indexes in an effort to minimize the emission of a large number of notifications. If a notification has to be issued for just a single cross-connect entry, then the instance identifier (and values) of the two mplsXCOperStatus objects MUST betheidentical." ::= { mplsLsrNotifications 2 } -- End of notifications. -- Module compliance. mplsLsrGroups OBJECT IDENTIFIER ::= { mplsLsrConformance 1 } mplsLsrCompliances OBJECT IDENTIFIER ::= { mplsLsrConformance 2 }mplsLsrModuleCompliance-- Compliance requirement for fully compliant implementations. mplsLsrModuleFullCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "Compliance statement for agents that provide full supportthe MPLS-LSR-MIB."for MPLS-LSR-STD-MIB." MODULE-- this moduleIF-MIB -- Themandatory groups have to be implementedInterfaces Group MIB, RFC 2863. MANDATORY-GROUPS { ifGeneralInformationGroup, ifCounterDiscontinuityGroup } MODULE --by all LSRs. However, they may all be supportedThis module. MANDATORY-GROUPS { mplsInterfaceGroup, mplsInSegmentGroup, mplsOutSegmentGroup, mplsXCGroup, mplsPerfGroup, mplsLsrNotificationGroup } ::= { mplsLsrCompliances 1 } --asCompliance requirement for read-onlyobjects in the case where manualimplementations. mplsLsrModuleReadOnlyCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "Compliance requirement for implementations that only provide read-only support for MPLS-LSR-STD-MIB. Such devices can then be monitored but cannot be configured using this MIB modules." MODULE IF-MIB --configuration is unsupported.The interfaces Group MIB, RFC 2863 MANDATORY-GROUPS { ifGeneralInformationGroup, ifCounterDiscontinuityGroup } MODULE -- This module MANDATORY-GROUPS { mplsInterfaceGroup, mplsInSegmentGroup, mplsOutSegmentGroup, mplsXCGroup,mplsPerfGroup, mplsSegmentDiscontinuityGroupmplsPerfGroup } GROUP mplsLabelStackGroup DESCRIPTION "This group is only mandatory for LSRs that wish to support the modification of LSP label stacks." GROUP mplsHCInSegmentPerfGroup DESCRIPTION "This group is mandatory for those in-segment entries for which the object mplsInSegmentOutOctets wraps around tooquickly."quickly based on the criteria specified in RFC2863 for high-capacity counters." GROUP mplsHCOutSegmentPerfGroup DESCRIPTION "This group is mandatory for those out-segment entries for which the objectmplsOutSegmentOctetsmplsOutSegmentPerfOctets wraps around tooquickly." GROUP mplsTrafficParamGroup DESCRIPTION "This group is mandatory for those LSRs that support QoS resource reservation." -- Dependingquickly based onwhether the device implements -- persistent cross-connects or not one ofthe-- following two groups is mandatory. GROUP mplsXCIsPersistentGroup DESCRIPTION "This group is mandatorycriteria specified in RFC2863 fordevices which support persistent cross-connects. The following constraints apply: mplsXCIsPersistent must at least behigh-capacity counters." -- mplsInSegmentTable OBJECT mplsInSegmentLabel MIN-ACCESS read-onlyreturning true(2)." GROUP mplsXCIsNotPersistentGroupDESCRIPTION"This group"Write access ismandatory for devices which support non-persistent cross-connects. The following constraints apply: mplsXCIsPersistent must at least be read-only returning false(1)." -- mplsInSegmentTablenot required." OBJECTmplsInSegmentXCIndexmplsInSegmentLabelPtr MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT mplsInSegmentNPop MIN-ACCESS read-only DESCRIPTION "Write access is not required. This objectshouldSHOULD be set to 1 if it is read-only." OBJECT mplsInSegmentAddrFamily DESCRIPTION "Write access is not required. A value of other(0) should be supported because there may be cases where the agent may not know about or support any address types." OBJECTmplsInSegmentStorageTypemplsInSegmentRowStatus SYNTAXINTEGERRowStatus { active(1), notInService(2) } WRITE-SYNTAX RowStatus {other(1)notInService(2), createAndGo(4), destroy(6) } MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT mplsInSegmentStorageType MIN-ACCESS read-only DESCRIPTION "Onlyother(1)readOnly(5) needs to be supported." -- mplsOutSegmentTable OBJECTmplsOutSegmentIfIndexmplsOutSegmentInterface MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT mplsOutSegmentPushTopLabel MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT mplsOutSegmentTopLabel MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECTmplsOutSegmentNextHopIpAddrTypemplsOutSegmentTopLabelPtr MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT mplsOutSegmentNextHopAddrType SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) } MIN-ACCESS read-only DESCRIPTION"An implementation"Write access isonly required to support ipv4(1)not required. Only IPv4(1), IPv6(2) andipv6(2)."unknown(3) sizes are required." OBJECTmplsOutSegmentNextHopIpAddrmplsOutSegmentNextHopAddr SYNTAX InetAddress (SIZE(0|4|16)) MIN-ACCESS read-only DESCRIPTION "An implementation is only required to supportIPv4unknown(0), IPv4(1) andglobally unique IPv6IPv6(2) addresses. Write access is not required." OBJECT mplsOutSegmentRowStatus SYNTAXINTEGERRowStatus { active(1), notInService(2) } WRITE-SYNTAX RowStatus { notInService(2), createAndGo(4), destroy(6) } MIN-ACCESS read-only DESCRIPTION"The notReady(3) and createAndWait(5) states need not be supported.""Read only support is required." OBJECT mplsOutSegmentStorageTypeSYNTAX INTEGER { other(1) }MIN-ACCESS read-only DESCRIPTION "Onlyother(1)readOnly(5) needs to be supported." -- mplsXCTable OBJECT mplsXCLabelStackIndex MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECTmplsXCIsPersistentmplsXCAdminStatus MIN-ACCESS read-only DESCRIPTION"Write access"Read only support isnotrequired." OBJECTmplsXCAdminStatusmplsXCOperStatus MIN-ACCESS read-only DESCRIPTION "Read only support is required." OBJECT mplsXCRowStatus SYNTAXINTEGERRowStatus {up(1), down(2)active(1), notInService(2) } WRITE-SYNTAX RowStatus { notInService(2), createAndGo(4), destroy(6) } MIN-ACCESS read-only DESCRIPTION"A value of testing(3) need"Read only support required." OBJECT mplsXCStorageType MIN-ACCESS read-only DESCRIPTION "Write access is notbe supported."required." OBJECTmplsXCOperStatus SYNTAX INTEGER { up(1), down(2) }mplsLabelStackLabel MIN-ACCESS read-only DESCRIPTION"Only up(1) and down(2) need to be supported.""Write access is not required." OBJECTmplsXCRowStatusmplsLabelStackLabelPtr MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT mplsLabelStackRowStatus SYNTAXINTEGERRowStatus { active(1), notInService(2) } WRITE-SYNTAX RowStatus { notInService(2), createAndGo(4), destroy(6) } MIN-ACCESS read-only DESCRIPTION"The notReady(3) and createAndWait(5) states need"Write access is notbe supported."required." OBJECTmplsXCStorageType SYNTAX INTEGER { other(1) }mplsLabelStackStorageType MIN-ACCESS read-only DESCRIPTION"Only other(1) needs to be supported.""Write access is not required." ::= { mplsLsrCompliances12 } -- Units of conformance. mplsInterfaceGroup OBJECT-GROUP OBJECTS { mplsInterfaceLabelMinIn, mplsInterfaceLabelMaxIn, mplsInterfaceLabelMinOut, mplsInterfaceLabelMaxOut, mplsInterfaceTotalBandwidth, mplsInterfaceAvailableBandwidth, mplsInterfaceLabelParticipationType } STATUS current DESCRIPTION "Collection of objects needed for MPLS interfaceconfigurationand interface performance information." ::= { mplsLsrGroups 1 } mplsInSegmentGroup OBJECT-GROUP OBJECTS { mplsInSegmentIndexNext, mplsInSegmentInterface, mplsInSegmentLabel, mplsInSegmentLabelPtr, mplsInSegmentNPop, mplsInSegmentAddrFamily, mplsInSegmentXCIndex,mplsInSegmentOctets, mplsInSegmentDiscards,mplsInSegmentOwner, mplsInSegmentRowStatus, mplsInSegmentStorageType, mplsInSegmentTrafficParamPtr } STATUS current DESCRIPTION "Collection of objects needed to implement an in- segment." ::= { mplsLsrGroups 2 } mplsOutSegmentGroup OBJECT-GROUP OBJECTS { mplsOutSegmentIndexNext,mplsOutSegmentIfIndex,mplsOutSegmentInterface, mplsOutSegmentPushTopLabel, mplsOutSegmentTopLabel,mplsOutSegmentNextHopIpAddrType, mplsOutSegmentNextHopIpAddr,mplsOutSegmentTopLabelPtr, mplsOutSegmentNextHopAddrType, mplsOutSegmentNextHopAddr, mplsOutSegmentXCIndex, mplsOutSegmentOwner,mplsOutSegmentOctets, mplsOutSegmentDiscards, mplsOutSegmentErrors,mplsOutSegmentPerfOctets, mplsOutSegmentPerfDiscards, mplsOutSegmentPerfErrors, mplsOutSegmentRowStatus, mplsOutSegmentStorageType, mplsOutSegmentTrafficParamPtr } STATUS current DESCRIPTION "Collection of objects needed to implement an out- segment." ::= { mplsLsrGroups 3 } mplsXCGroup OBJECT-GROUP OBJECTS { mplsXCIndexNext, mplsXCLspId, mplsXCLabelStackIndex, mplsXCOwner, mplsXCStorageType, mplsXCAdminStatus, mplsXCOperStatus, mplsXCRowStatus,mplsXCNotificationsEnable, mplsXCStorageTypemplsXCNotificationsEnable } STATUS current DESCRIPTION "Collection of objects needed to implement a cross-connect entry." ::= { mplsLsrGroups 4 }mplsXCOptionalGroup OBJECT-GROUP OBJECTS { mplsXCLspId } STATUS current DESCRIPTION "Collection of optional objects for implementing a cross-connect entry." ::= { mplsLsrGroups 5 }mplsPerfGroup OBJECT-GROUP OBJECTS {mplsInSegmentOctets, mplsInSegmentPackets, mplsInSegmentErrors, mplsInSegmentDiscards, mplsOutSegmentOctets, mplsOutSegmentPackets, mplsOutSegmentDiscards, mplsInterfaceInLabelsUsed, mplsInterfaceLabelLookupFailures , mplsInterfaceOutFragments, mplsInterfaceOutLabelsUsedmplsInSegmentPerfOctets, mplsInSegmentPerfPackets, mplsInSegmentPerfErrors, mplsInSegmentPerfDiscards, mplsInSegmentPerfDiscontinuityTime, mplsOutSegmentPerfOctets, mplsOutSegmentPerfPackets, mplsOutSegmentPerfDiscards, mplsOutSegmentPerfDiscontinuityTime, mplsInterfacePerfInLabelsInUse, mplsInterfacePerfInLabelLookupFailures, mplsInterfacePerfOutFragmentedPkts, mplsInterfacePerfOutLabelsInUse } STATUS current DESCRIPTION "Collection of objects providing performance information about an LSR." ::= { mplsLsrGroups65 } mplsHCInSegmentPerfGroup OBJECT-GROUP OBJECTS {mplsInSegmentHCOctetsmplsInSegmentPerfHCOctets } STATUS current DESCRIPTION "Object(s) providing performance information specific to out-segments for which the object mplsInterfaceInOctets wraps around too quickly." ::= { mplsLsrGroups76 } mplsHCOutSegmentPerfGroup OBJECT-GROUP OBJECTS {mplsOutSegmentHCOctetsmplsOutSegmentPerfHCOctets } STATUS current DESCRIPTION "Object(s) providing performance information specific to out-segments forwhich the object mplsInterfaceOutOctets wraps around too quickly." ::= { mplsLsrGroups 8 } mplsTrafficParamGroup OBJECT-GROUP OBJECTS { mplsTrafficParamIndexNext, mplsTrafficParamMaxRate, mplsTrafficParamMeanRate, mplsTrafficParamMaxBurstSize, mplsTrafficParamRowStatus, mplsTrafficParamStorageType } STATUS current DESCRIPTION "Object(s) required for supporting QoS resource reservation." ::= { mplsLsrGroups 9 } mplsXCIsPersistentGroup OBJECT-GROUP OBJECTS { mplsXCIsPersistent } STATUS current DESCRIPTION "Objects needed to support persistent cross- connects." ::= { mplsLsrGroups 10 } mplsXCIsNotPersistentGroup OBJECT-GROUP OBJECTS { mplsXCIsPersistent } STATUS current DESCRIPTION "Objects needed to support non-persistent cross- connects."which the object mplsInterfaceOutOctets wraps around too quickly." ::= { mplsLsrGroups117 } mplsLabelStackGroup OBJECT-GROUP OBJECTS { mplsLabelStackLabel, mplsLabelStackLabelPtr, mplsLabelStackRowStatus, mplsLabelStackStorageType, mplsMaxLabelStackDepth, mplsLabelStackIndexNext } STATUS current DESCRIPTION "Objects needed to support label stacking which is an optional feature for an LSR." ::= { mplsLsrGroups12 } mplsSegmentDiscontinuityGroup OBJECT-GROUP OBJECTS { mplsInSegmentPerfDiscontinuityTime, mplsOutSegmentPerfDiscontinuityTime } STATUS current DESCRIPTION " A collection of objects providing information specific to segment discontinuities.." ::= { mplsLsrGroups 138 } mplsLsrNotificationGroup NOTIFICATION-GROUP NOTIFICATIONS { mplsXCUp, mplsXCDown } STATUS current DESCRIPTION "Set of notifications implemented in this module. None is mandatory." ::= { mplsLsrGroups149 } END12.11. Security Considerations It is clear that this MIB module is potentially useful for monitoring of MPLS LSRs. This MIB can also be used for configuration of certain objects, and anything that can be configured can be incorrectly configured, with potentially disastrous results.At this writing, no security holes have been identified beyond those that SNMP Security [RFC2571] is itself intended to address. These relate to primarily controlled access to sensitive information and the ability to configure a device - or which might result from operator error, which is beyond the scope of any security architecture.There are a number of management objects defined in this MIBwhich havemodule with a MAX-ACCESS clause of read-write and/or read-create. Such objects may be considered sensitive or vulnerable in some network environments. The support for SET operations in a non-secure environment without proper protection can have a negative effect on network operations. These are the tables and objects and their sensitivity/vulnerability: o the mplsLsrInSegmentTable, mplsLsrOutSegmentTable, mplsXCTable, mplsOutSegmentPerfTable, mplsInterfacePerfTable, and mplsInSegmentPerfTable collectively contain objects to provision MPLS interfaces, LSPs and their associated parameters on an Label Switching Router (LSR). Unauthorized access to objects in these tables, could result in disruption of traffic on the network. This is especially true if an LSP has been established. The use of stronger mechanisms such as SNMPv3 security should be considered where possible. Specifically, SNMPv3 VACM and USM MUST be used with any v3 agent which implements this MIB module. Administrators should consider whether read access to these objects should be allowed, since read access may be undesirable under certain circumstances. Some of the readable objects in this MIB module "i.e., objects with a MAX-ACCESS other than not-accessible" may be considered sensitive or vulnerable in some network environments. It is thus important to control even GET and/or NOTIFY access to these objects and possibly to even encrypt the values of these objects when sending them over the network via SNMP. These are the tables and objects and their sensitivity/vulnerability: o the mplsLsrInSegmentTable, mplsLsrOutSegmentTable, mplsXCTable, mplsOutSegmentPerfTable, mplsInterfacePerfTable, and mplsInSegmentPerfTable collectively show the LSP network topology and its performance characteristics. If an Administrator does not want to reveal this information, then these tables should be considered sensitive/vulnerable. SNMPVersion 3 is recommended overversions priorversions, for configuration control, as its security model is improved. SNMPv1 or SNMPv2 are by themselvesto SNMPv3 did nota secure environment.include adequate security. Even if the network itself is secure(for"for example by usingIPSec [RFC2401]),IPSec", even then, there is no control as to who on the secure network is allowed to access and GET/SET(read/change/create/delete)"read/change/create/delete" the objects in thisMIB.MIB module. It isrecommendedRECOMMENDED thattheimplementers consider the security features as provided by the SNMPv3framework. Specifically, the use offramework "see [RFC3410], section 8", including full support for theUser-based Security Model [RFC2574]SNMPv3 cryptographic mechanisms "for authentication andthe View-based Access Control [RFC2575]privacy". Further, deployment of SNMP versions prior to SNMPv3 is NOT RECOMMENDED. Instead, it isrecommended.RECOMMENDED to deploy SNMPv3 and to enable cryptographic security. It is then acustomer/usercustomer/operator responsibility to ensure that the SNMP entity giving access to an instance of this MIB module, is properly configured to give access to the objects only to those principals(users)"users" that have legitimaterights to indeed GET or SET (change/create/delete) them. There are a number of managed objects in this MIB that may contain information that may be sensitive from a business perspective, in that they represent a customer's interface to the MPLS network. Allowing uncontrolled access to these objects could result in malicious and unwanted disruptions of network traffic or incorrect configurations for these customers. There are no objects that are particularly sensitive in their own right, such as passwords or monetary amounts. 13. Acknowledgments We wish to thank Ron Bonica, Adrian Farrel, Eric Gray, Tim Mancour, Keith McCloghrie, Bala Rajagopalan, Dan Tappan, Vasanthi Thirumalai, Joseph Benoit and Joan Cucchiara. 14. References [Assigned] Reynolds, J., and J. Postel, "Assigned Numbers", RFC 1700, October 1994. See also: http://www.isi.edu/in-notes/iana/assignments/smi- numbers [IANAFamily] Internet Assigned Numbers Authority (IANA), ADDRESS FAMILY NUMBERS, (http://www.isi.edu/in- notes/iana/assignements/address-family-numbers), for MIB see: ftp://ftp.isi.edu/mib/iana.mib/ianaaddressfamilynum bers.mib [TCMIB] Nadeau, T., Cucchiara, J., Srinivasan, C, Viswanathan, A. and H. Sjostrand, "Definition of Textual Conventions and OBJECT-IDENTITIES for Multi- Protocol Label Switching (MPLS) Management", Internet Draft <draft-ietf-mpls-tc-mib-03.txt>, January 2002. [RFC1155] Rose, M., and K. McCloghrie, "Structure and Identification of Management Information for TCP/IP- based Internets", RFC 1155, May 1990. [RFC1157] Case, J., Fedor, M., Schoffstall, M., and J. Davin, "Simple Network Management Protocol", RFC 1157, May 1990. [RFC1215] M. Rose, "A Convention for Defining Traps for use with the SNMP", RFC 1215, March 1991. [RFC1901] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Introduction to Community-based SNMPv2", RFC 1901, January 1996. [RFC1905] 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. [RFC1906] Case, J.,12. Acknowledgments We wish to thank Ron Bonica, Adrian Farrel, Eric Gray, Tim Mancour, Keith McCloghrie,K., Rose, M.,Bala Rajagopalan, Dan Tappan, Vasanthi Thirumalai, Joseph Benoit, Mike Piecuch, Joan Cucchiara. A special thanks to Bert Wijnen andS. Waldbusser, "Transport MappingsMike MacFaden forVersion 2 ofreally getting theSimple Network Management Protocol (SNMPv2)", RFC 1906, January 1996.MIB module into shape. 13. References 13.1. Normative References [RFC2119] S. Bradner,S.,"KeywordsWords for use in RFCs to Indicate Requirement Levels",BCP 14,RFC 2119, BCP 14, March 1997.[RFC2863] McCloghrie, K., and F. Kastenholtz, "The Interfaces Group MIB using SMIv2", RFC 2863, June 2000 [RFC2401] Kent, S., and Atkinson, R., "Security Architecture for the Internet Protocol", RFC 2401, November 1998.[RFC2515] Tesink, K., et al., "Definitions of Managed Objects for ATM Management", RFC 2515,Feb. 1999 [RFC2570] Case, J., Mundy, R., Partain, D., and B. Stewart, "Introduction to Version 3 of the Internet-standard Network Management Framework", RFC 2570, April 1999. [RFC2571] Harrington, D., Presuhn, R., and B. Wijnen, "An Architecture for Describing SNMP Management Frameworks", RFC 2571, April 1999. [RFC2572] Case, J., Harrington D., Presuhn R., and B. Wijnen, "Message Processing and Dispatching for the Simple Network Management Protocol (SNMP)", RFC 2572, April 1999. [RFC2573] Levi, D., Meyer, P., and B. Stewart, "SNMPv3 Applications", RFC 2573, April 1999. [RFC2574] Blumenthal, U., and B. Wijnen, "User-based Security Model (USM) for version 3 of the Simple Network Management Protocol (SNMPv3)", RFC 2574, April 1999. [RFC2575] Wijnen, B., Presuhn, R., and K. McCloghrie, "View- based Access Control Model (VACM) for the Simple Network Management Protocol (SNMP)", RFC 2575, AprilFebruary 1999. [RFC2578] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M., and S. Waldbusser, "Structure of Management Information Version 2 (SMIv2)", STD 58, RFC 2578, April 1999. [RFC2579] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M., and S. Waldbusser, "Textual Conventions for SMIv2", STD 58, RFC 2579, April 1999.[RFC2702] Awduche,[RFC2580] McCloghrie, K., Perkins, D.,Malcolm,Schoenwaelder, J.,Agogbua,Case, J.,O'Dell,Rose, M., and S. Waldbusser, "Conformance Statements for SMIv2", STD 58, RFC 2580, April 1999. [RFC2863] McCloghrie, K. and F. Kastenholz, "The Interfaces Group MIB", RFC 2863, June 2000. [RFC3031] Rosen, E., Viswanathan, A., and R. Callon, "Multiprotocol Label Switching Architecture", RFC 3031, January 2001. [RFC3291] Daniele, M., Haberman, B., Routhier., S., Schoenwaelder., J., "Textual Conventions for Internet Network Addresses", RFC3291, May 2002. [RFC3411] Harrington, D., Presuhn, R., and B. Wijnen, "An Architecture for Describing Simple Network Management Protocol (SNMP) Management Frameworks", RFC 3411, December 2002. [TEMIB] Srinivasan, C., Viswanathan, A. andJ. McManus, "Requirements forNadeau, T., "MPLS Traffic EngineeringOver MPLS", RFC 2702, September 1999. [RFC2580] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case,Management Information Base ", Internet Draft <draft-ietf-mpls-te-mib-09.txt>, November 2002. [TCMIB] Nadeau, T., Cucchiara, J.,Rose, M., and S. Waldbusser, "Conformance Statements for SMIv2", STD 58, RFC 2580, April 1999. [RFC3031] Rosen, E.,Srinivasan, C., Viswanathan, A., Sjostrand, H. andR. Callon, "MultiprotocolK. Kompella, "Definition of Textual Conventions and OBJECT- IDENTITIES for Multi-Protocol Label SwitchingArchitecture",(MPLS) Management", Internet Draft <draft-ietf-mpls-tc-mib- 06.txt>, April 2003. [IANAFamily] Internet Assigned Numbers Authority (IANA), ADDRESS FAMILY NUMBERS, (http://www.isi.edu/in- notes/iana/assignements/address-family-numbers), for MIB see: ftp://ftp.isi.edu/mib/iana.mib/ianaaddressfamilynum bers.mib 13.2. Informative References [RFC2026] S. Bradner, "The Internet Standards Process -- Revision 3", RFC3031, January 2001. [RFC3032] Rosen, E., Rekhter, Y., Tappan, D., Farinacci,2026, October 1996. [RFC3413] Levi, D.,Federokow, G., Li, T.,Meyer, P., Stewart, B., "SNMP Applications", RFC 3413, December 2002. [RFC3410] Case, J., Mundy, R., Partain, D. andA. Conta, "MPLS Label Stack Encoding",B. Stewart, "Introduction and Applicability Statements for Internet-Standard Management Framework", RFC3032, January 2001. 15.3410, December 2002. 14. Authors' Addresses Cheenu Srinivasan Parama Networks, Inc. 1030 Broad Street Shrewsbury, NJ 07702 Phone: +1-732-544-9120 x731 Email: cheenu@paramanet.com Arun Viswanathan Force10 Networks, Inc. 1440 McCarthy Blvd Milpitas, CA 95035 Phone: +1-408-571-3516 Email: arun@force10networks.com Thomas D. Nadeau Cisco Systems, Inc.250 Apollo Drive Chelmsford,300 Beaver Brook Road Boxboro, MA01824 Phone: +1-978-244-305101719 +1-978-936-1470 Email: tnadeau@cisco.com16.15. Full Copyright Statement Copyright (C) The Internet Society(2001).(2003). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without 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. 16. Intellectual Property Notice The IETF takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on the IETF's procedures with respect to rights in standards-track and standards-related documentation can be found in BCP-11 [RFC2028]. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementors or users of this specification can be obtained from the IETF Secretariat. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to practice this standard. Please address the information to the IETF Executive Director.