--- 1/draft-ietf-mpls-te-mib-00.txt 2006-02-05 00:43:31.000000000 +0100 +++ 2/draft-ietf-mpls-te-mib-01.txt 2006-02-05 00:43:31.000000000 +0100 @@ -1,23 +1,20 @@ - MPLS Traffic Engineering Management Information Base Using SMIv2 - - draft-ietf-mpls-te-mib-00.txt - - February 16, 1999 - - Cheenu Srinivasan - Lucent Technologies - cheenu@lucent.com +Network Working Group Cheenu Srinivasan +Internet Draft Tachion Network Technologies +Expires: December 1999 Arun Viswanathan Lucent Technologies - arunv@lucent.com + + MPLS Traffic Engineering Management Information Base Using SMIv2 + + draft-ietf-mpls-te-mib-01.txt Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. @@ -32,79 +29,77 @@ http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. Abstract This memo defines an experimental portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it describes managed - objects for modeling an Multi-Protocol Label Switching (MPLS) - [MPLSArch, MPLSFW] Labeled Switched Router (LSR) and for MPLS - based traffic engineering. + objects for Multi-Protocol Label Switching (MPLS) [MPLSArch, + MPLSFW] based traffic engineering. Open Issues - - Partitioning this document into an MPLS-TE-MIB document - containing end-to-end objects such as tunnels and MPLS-LSR-MIB - document containing objects modeling an individual LSR. - - - Support for tunnel re-routing using shared-explicit RSVP - filters. - - - Does mplsTSpecTable belong in this document? + - Do we need to introduce a separate table of tunnel performance + objects or is the current method of using the objects in + mplsInSegmentTable and mplsOutSegmentTable [LSRMIB] to + determine tunnel performance adequate? We think the latter + since we need to be able to measure the individual performance + of each tunnel segment anyway which will imply replicating all + the segment related objects in this MIB; but this needs some + more thought. - - The MIB needs to be assigned an OID under the experimental - branch. + - Support for "make-before-break" tunnel re-routing using shared- + explicit RSVP filters. - Support for signalled COS value. - Do we need objects to keep track of ownership of entries in various tables? - More descriptive text and detailed example. - - Reconcile mplsInterfaceConfTable with the interface related - objects in the LDP MIB [LDPMIB] including objects for - negotiated label ranges. - - - Address multipath related issues. - - - Introduce a scalar to indicate the maximum supported label - stack depth. + - Session attribute flag for fast-reroute. 1. Introduction This memo defines an experimental portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it describes managed objects for modeling an Multi-Protocol Label Switching (MPLS) - [MPLSArch, MPLSFW] Labeled Switched Router (LSR) and for MPLS - based traffic engineering. Comments should be made directly to the - MPLS mailing list at mpls@uu.net. + [MPLSArch, MPLSFW] based traffic engineering. This MIB should be + used in conjunction with the companion document [LSRMIB] for MPLS + based traffic engineering configuration and management. + + Comments should be made directly to the MPLS mailing list at + mpls@uu.net. This memo does not, in its draft form, specify a standard for the Internet community. 2. Terminology This document uses terminology from the MPLS architecture document - [MPLSArch]. + [MPLSArch] and MPLS Label Switch Router MIB [LSRMIB]. Some + frequently used terms are described next. - An explicitly routed LSP is referred to as an MPLS tunnel. It - consists of one in-segment and/or one out-segment at the + An explicitly routed LSP (ERLSP) is referred to as an MPLS tunnel. + It consists of one in-segment and/or one out-segment at the ingress/egress LSRs. These are also referred to as tunnel segments. Additionally, at an intermediate LSR, we model a connection as consisting of one or more in-segments and/or one or more out-segments. The binding or interconnection between in- segments and out-segments in performed using a cross-connect. + These objects are defined in the MPLS Label Switch Router MIB + [LSRMIB]. 3. The SNMP Management Framework The SNMP Management Framework presently consists of five major components: - An overall architecture, described in RFC 2271 [SNMPArch]. - Mechanisms for describing and naming objects and events for the purpose of management. The first version of this Structure of @@ -155,142 +150,68 @@ The object type together with an object instance serves to uniquely identify a specific instantiation of the object. For human convenience, we often use a textual string, termed the descriptor, to also refer to the object type. 4. Feature Checklist The MPLS traffic engineering MIB is designed to satisfy the following requirements and constraints. - - The MIB must support enabling and disabling of MPLS capability - on MPLS capable interfaces of an LSR. - - The MIB must support the configuration of point-to-point uni- directional tunnels. - The MIB should be able to support the configuration of point-to- point bi-directional tunnels. - The MIB should be able to support the configuration of multipoint-to-point unidirectional tunnels. - MPLS tunnels need not be interfaces, but it should be possible to configure a tunnel as an interface. - The MIB should be able to support both manually configured MPLS - tunnels and cross-connects as well as via LDP and/or RSVP - signaling. - - - The MIB should allow resource sharing between two or more LSPs. - - - Both per-platform and per-interface label spaces must be - supported. - - - MPLS packets must be forwarded solely based on an incoming top - label [MPLSArch, LblStk]. - - - Support must be provided for next-hop resolution when the - outgoing interface is a shared media interface. In the point- - to-multipoint case, each outgoing segment can be on a - different shared media interface. - - - The MIB must support point-to-point, point-to-multipoint and - multipoint-to-point connections at a cross-connect LSR. - - - For multipoint-to-point connections all the outgoing packets - must have the same top label. - - - For multipoint-to-point connections the outgoing resources of - the merged connections must be shared. - - - For multipoint-to-point connections, packets from different - incoming connections may have distinct outgoing label stacks, - beneath the (identical) top label. - - - In the point-to-multipoint case each outgoing connection can - have a distinct label stack including the top label. - - - In a point-to-multipoint connection the ingress resources are - shared by all the members of the connection. - - - The MIB must provide cross-connect capability to "pop" an - incoming label and forward the packet with the rest of the - label stack unchanged and without pushing any labels ("pop-and- - go") [LblStk]. - - - It must be possible to assign or remap COS bits [LblStk] on the - outgoing label. In the multipoint-to-point case, each in- - segment can have a different outgoing COS value. In the point- - to-multipoint case, each out-segment can have a different - outgoing COS value. + tunnels as well as via LDP and/or RSVP signaling. - It should be possible to support persistent as well as non- - persistent tunnels and cross-connects. - - - Performance counters must be provided for in-segments and out- - segments as well as for measuring MPLS performance on a per- - interface basis. + persistent tunnels. 5. Outline - Traffic engineering support for MPLS tunnels and cross-connects - requires the following configuration. - - - Enabling MPLS on MPLS capable interfaces. + Traffic engineering support for MPLS tunnels requires the + following configuration. - - Setting up MPLS tunnels with the appropriate configuration + - Setting up MPLS tunnels along with appropriate configuration parameters. - - Setting up tunnel segments with appropriate traffic parameters. - - - Setting up the cross-connect table to switch between segments. + - Configuring tunnel loose and strict source routed hops. - - Specifying label stack actions. + These actions may need to be accompanied with corresponding + actions using [LSRMIB] to establish and configure tunnel segments, + if this is done manually. Also, the in-segment and out-segment + performance tables, mplsInSegmentPerfTable and + mplsOutSegmentPerfTable [LSRMIB], should be used to determine + performance of the tunnels and tunnel segments. -5.1. Summary of MPLS MIB +5.1. Summary of Trafic Engineering MIB The MIB objects for performing these actions consist of the following tables. - - Interface configuration table (mplsInterfaceConfTable) for - enabling MPLS on MPLS capable interfaces. - - - Tunnel table (mplsTunnelTable) and tunnel hop table - (mplsTunnelHopTable) to configure MPLS tunnels. - - - In-segment (mplsInSegmentTable) and out-segment - (mplsOutSegmentTable) tables for configuring in and out - segments of a tunnel at the ingress and egress LSRs of the - tunnel. These tables are also used for defining the segments - comprising a cross-connect entry at intermediate LSRs of a - tunnel. - - - Cross-connect table (mplsXCTable) for configuring MPLS cross- - connects and creating relationships between in and out tunnel - segments constituting a cross-connect. - - - Label stack table (mplsLabelStackTable) for specifying label - stack operations. - - - TSpec table (mplsTSpecTable) for specifying LSP related traffic - parameters. + - Tunnel table (mplsTunnelTable) for setting up MPLS tunnels. - Further, the MPLS in-segment and out-segment performance tables, - mplsInSegmentPerfTable and mplsOutSegmentPerfTable, contain the - objects necessary to measure the performance of both tunnels and - cross-connects, and mplsInterfacePerfTable has objects to measure - MPLS performance on a per-interface basis. + - Tunnel hop table (mplsTunnelHopTable) for configuring strict + and loose source routed MPLS tunnels hops. These tables are described in the subsequent sections. -6. Tunnel Specific Objects +6. Brief Description of MIB Objects The objects described in this section support the functionality described in documents [RSVPTun, CRLDP]. The tables support both manually configured and signalled tunnels. Moreover, they provide the capability to associate two uni-directional tunnels to form a single bi-directional tunnel. 6.1. mplsTunnelTable The mplsTunnelTable allows new MPLS tunnels to be created between @@ -299,25 +220,24 @@ tunnel segments, although multipoint-to-point and point-to- multipoint connections are supported by an LSR acting as a cross- connect. Each MPLS tunnel can thus have one out-segment originating at an LSR and/or one in-segment terminating at that LSR. mplsTunnelTable does not define the in and out segments forming the tunnel. Instead, these are defined by creating rows in the in- segment and out-segment tables, defining relationships in the cross-connect table and referring to these rows in the - mplsTunnelTable using a cross-connect index, mplsTunnelXCID. - Section 8. provides an example. + mplsTunnelTable using a cross-connect index, mplsTunnelXCID. These + segment and cross-connect related objects are defined in [LSRMIB]. 6.2. mplsTunnelHopTable - mplsTunnelHopTable is used to indicate the hops, strict or loose, for an MPLS tunnel defined in mplsTunnelTable, when it is established via signaling. Each row in this table is indexed primarily by the same index mplsTunnelIndex as the row of the corresponding tunnel in mplsTunnelTable. Each row also has a secondary index, mplsTunnelHopIndex, corresponding to the next hop of this tunnel. The scalar mplsTunnelMaxHops, indicates the maximum number of hops that can be specified per tunnel on this LSR. @@ -314,237 +234,65 @@ mplsTunnelHopTable is used to indicate the hops, strict or loose, for an MPLS tunnel defined in mplsTunnelTable, when it is established via signaling. Each row in this table is indexed primarily by the same index mplsTunnelIndex as the row of the corresponding tunnel in mplsTunnelTable. Each row also has a secondary index, mplsTunnelHopIndex, corresponding to the next hop of this tunnel. The scalar mplsTunnelMaxHops, indicates the maximum number of hops that can be specified per tunnel on this LSR. -7. LSR Specific Objects - - Sections 7.1-7.2 describe objects pertaining to MPLS capable - interfaces of an LSR. The objects described in Sections 7.3-7.8, - when considered together, are equivalent to the tables described - in the MPLS architecture document [MPLSArch], that is, the - Incoming Label Map (ILM) and the Next Hop Label Forwarding Entry - (NHLFE) tables. Section 7.9 describes objects for specifying - traffic parameters for in and out segments. - -7.1. mplsInterfaceConfTable - - 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. Each entry contains information about per- - interface label ranges. The administrator can specify the desired - MPLS status (enable/up, disable/down, testing) of an interface by - writing the object mplsInterfaceAdminStatus. The actual status is - indicated by the object mplsInterfaceOperStatus. - -7.2. mplsInterfacePerfTable - - This table contains objects to measure the MPLS performance of - MPLS capable interfaces and is an AUGMENT to - mplsInterfaceConfTable. High capacity counters are provided for - objects that are likely to wrap around quickly on high-speed - interfaces. - -7.3. mplsInSegmentTable - - This table contains a description of the incoming MPLS segments to - an LSR and their associated parameters. - -7.4. mplsInSegmentPerfTable - - The MPLS In-Segment Performance Table has objects to measure the - performance of an incoming segment configured on an LSR. It is an - AUGMENT to mplsInSegmentTable. High capacity counters are - provided for objects that are likely to wrap around quickly on - high-speed interfaces. - -7.5. mplsOutSegmentTable - - The Out-Segment Table contains a description of the outgoing MPLS - segments at an LSR and their associated parameters. - -7.6. mplsOutSegmentPerfTable - - The MPLS Out-Segment Table contains objects to measure the - performance of an outgoing segment configured on an LSR. It is an - AUGMENT to mplsOutSegmentTable. High capacity counters are - provided for objects that are likely to wrap around quickly on - high-speed interfaces. - -7.7. mplsXCTable - - mplsXCTable specifies information for switching between segments. - It supports point-to-point, point-to-multipoint and multipoint-to- - point connections. - -7.8. mplsLabelStackTable - - mplsLabelStackTable specifies the label stack to be pushed onto a - packet, beneath the top label. Entries to this table are referred - to from mplsXCTable. - -7.9. mplsTSpecTable - - mplsTSpecTable contains objects for specifying the traffic - parameters of in and out segments. Entries in this table are - referred to from mplsInSegmentTable and mplsOutSegmentTable. - -8. Specifying the Segments of a Tunnel - - Suppose that we want to manually create a best-effort bi- - directional tunnel, consisting of an in-segment and an out-segment - on an LSR (with no label stack beneath the top label on the - outgoing labeled packets). The following rows and corresponding - objects need to be created to do this. - - First, the in-segment and the out-segment are created with the - appropriate traffic parameters. - - In mplsInSegmentTable: - { - mplsInSegmentIfIndex = i1, - mplsInSegmentLabel = l1, - mplsInSegmentNPop = 1, - mplsInSegmentTSpecIndex = 0, - mplsInSegmentRowStatus = createAndGo(3) - } - - In mplsOutSegmentTable: - { - mplsOutSegmentIndex = o, - mplsOutSegmentIfIndex = i2, - mplsOutSegmentPushTopLabel = true(1), - mplsOutSegmentTopLabel = l2, - mplsOutSegmentTSpecIndex = 0, - mplsOutSegmentRowStatus = createAndGo(3) - } - - Next, two cross-connect entries associating these two segments by - sharing the same mplsXCIndex are created. - - In mplsXCTable, for the in-segment: - { - mplsXCIndex = x, - mplsInSegmentIfIndex = i1, - mplsInSegmentLabel = l1, - mplsOutSegmentIndex = 0, - mplsLabelStackIndex = 0, - mplsXCRowStatus = createAndGo(3) - } - - In mplsXCTable, for the out-segment: - { - mplsXCIndex = x, - mplsInSegmentIfIndex = 0, - mplsInSegmentLabel = 0, - mplsOutSegmentIndex = o, - mplsXCLabelStackIndex = 0, - mplsXCRowStatus = createAndGo(3) - } - - Note that the objects mplsInSegmentXCIndex and - mplsOutSegmentXCIndex will automatically get populated with the - value "x" when these segments are referred to from the - corresponding cross-connect entries. - - Finally, the tunnel entry is created, which points to the - appropriate cross-connect entries. - - In mplsTunnelTable: - { - mplsTunnelIndex, - mplsTunnelXCIndex = mplsXCIndex = x, - ... - mplsTunnelDirection = in-out(3), - mplsXCRowStatus = createAndGo(3) - } - -9. MPLS Traffic Engineering MIB Definitions +7. MPLS Traffic Engineering MIB Definitions MPLS-TE-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, experimental, Integer32, Counter32, Counter64, Gauge32, IpAddress FROM SNMPv2-SMI MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF TEXTUAL-CONVENTION, TruthValue, RowStatus FROM SNMPv2-TC ifIndex, InterfaceIndex, InterfaceIndexOrZero FROM IF-MIB BitRate, BurstSize FROM INTEGRATED-SERVICES-MIB; mplsTeMIB MODULE-IDENTITY - LAST-UPDATED "9902161030Z" -- 16 February 1999 10:30:00 EST + LAST-UPDATED "9906161200Z" -- 16 June 1999 12:00:00 EST ORGANIZATION "Multiprotocol Label Switching (MPLS) Working Group" CONTACT-INFO " Cheenu Srinivasan - Postal: Lucent Technologies - 4F535, 101 Crawfords Corner Road - Holmdel, NJ 07733 - Tel: +1 732 949 0709 - Email: cheenu@lucent.com + Postal: Tachion Network Technologies + 2 Meridian Road + Eatontown, NJ 07724 + Tel: +1 732 542 7750 x234 + Email: cheenu@tachion.com Arun Viswanathan Postal: Lucent Technologies 4D537, 101 Crawfords Corner Road Holmdel, NJ 07733 Tel: +1 732 332 5163 Email: arunv@lucent.com" DESCRIPTION "Proposed MIB module for MPLS Traffic Engineering (TE) as defined in: Extensions to RSVP for LSP Tunnels, Awduche et al, Internet Draft , Nov. 1998; Explicit Routing - over LDP Specification, Jamoussi et al, Internet - Draft , Feb. - 1999." - ::= { experimental oid } -- to be assigned + rsvp-lsp-tunnel-02.txt>, March 1999; Constraint- + Based LSP Setup using LDP, Jamoussi, Internet Draft + < draft-ietf-mpls-cr-ldp-01.txt>, Feb. 1999." + ::= { experimental 95 } -- Textual Conventions. -MplsTeIANAAddrFamily ::= TEXTUAL-CONVENTION - STATUS current - DESCRIPTION - "An address family. Values are defined in RFC 1700 - - Assigned Numbers. All values may not be relevant in - all contexts when used in this MIB, but are included - for completeness." - REFERENCE - "RFC 1700 - Assigned Numbers, Reynolds and Postel, - Oct. 1994" - SYNTAX INTEGER { - other(0), - ipv4(1), - ipv6(2), - nsap(3), - hdlc(4), - bbn1822(5), - ieee802(6), - e163(7), - e164(8), - f69(9), - x121(10), - ipx(11), - appleTalk(12), - decnetIV(13), - banyanVines(14), - e164WithNsap(15) - } - -- An MPLS label. MplsLabel ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "Represents an MPLS label. Note that the contents of a label field are interpreted in an interface-type specific fashion. For example, the label carried in the MPLS shim header is 20 bits wide and the top 12 bits must be zero. The frame relay label can be either 10, 17 or 23 bits wide depending on the size @@ -552,21 +300,21 @@ must be zero, respectively. For an ATM interface, the lowermost 16 bits are interpreted as the VCI, the next 8 bits as the VPI and the remaining bits must be zero. Also note the permissible label values are also a function of the interface type. For example, the value 3 has special semantics in the control plane for an MPLS shim header label and is not a valid label value in the datapath." REFERENCE "1. MPLS Label Stack Encoding, Rosen et al, draft- - ietf-mpls-label-encaps-03.txt, Sept. 1998 + ietf-mpls-label-encaps-04.txt, April 1999. 2. Use of Label Switching on Frame Relay Networks, Conta et al, draft-ietf-mpls-fr-03.txt, Nov. 1998." SYNTAX Integer32 MplsTunnelIndex ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "Index into mplsTunnelTable." SYNTAX INTEGER (0..65535) @@ -625,21 +373,27 @@ and/or one in-segment terminating at this LSR." ::= { mplsTeObjects 1 } mplsTunnelEntry OBJECT-TYPE SYNTAX MplsTunnelEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table represents an MPLS tunnel. An entry can be created by a network administrator - or by an SNMP agent as instructed by LDP or RSVP." + or by an SNMP agent as instructed by LDP or RSVP. + Whenever an new entry is created with mplsTunnelIsIf + set to true(1), then a corresponding entry is + created in ifTable as well (see RFC 2233). The + ifType of this entry is mplsTunnel(150) (see + http://www.isi.edu/in-notes/iana/assignments/smi- + numbers)." INDEX { mplsTunnelIndex } ::= { mplsTunnelTable 1 } MplsTunnelEntry ::= SEQUENCE { mplsTunnelIndex MplsTunnelIndex, mplsTunnelName DisplayString, mplsTunnelDescr DisplayString, mplsTunnelIsIf TruthValue, mplsTunnelIfIndex InterfaceIndexOrZero, mplsTunnelDirection INTEGER, @@ -726,20 +480,25 @@ ::= { mplsTunnelEntry 6 } mplsTunnelXCIndex OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-create STATUS current DESCRIPTION "Index into mplsXCTable identifying the segments that compose this tunnel, their characteristics, relationship etc." + REFERENCE + " Srinivasan, C., and A. Viswanathan, MPLS Label + Switch Router Management Information Base Using + SMIv2, Internet Draft , June 1999." DEFVAL { 0 } ::= { mplsTunnelEntry 7 } mplsTunnelSignallingProto OBJECT-TYPE SYNTAX INTEGER { none(1), ldp(2), rsvp(3) } MAX-ACCESS read-create STATUS current DESCRIPTION "The signaling protocol, if any, that set up this tunnel." @@ -775,48 +534,47 @@ ::= { mplsTunnelEntry 11 } mplsTunnelSetupPrio OBJECT-TYPE SYNTAX INTEGER (0..7) MAX-ACCESS read-create STATUS current DESCRIPTION "The setup priority of this tunnel." REFERENCE "Extensions to RSVP for LSP Tunnels, Awduche et al, - Internet Draft , - Nov. 1998. Explicit Routing over LDP Specification, - Jamoussi et al, Internet Draft , Feb. 1999." + Internet Draft , + March 1999., Constraint-Based LSP Setup using LDP, + Jamoussi, Internet Draft , Feb. 1999." ::= { mplsTunnelEntry 12 } mplsTunnelHoldingPrio OBJECT-TYPE SYNTAX INTEGER (0..7) MAX-ACCESS read-create STATUS current DESCRIPTION "The holding priority for this tunnel." REFERENCE "Extensions to RSVP for LSP Tunnels, Awduche et al, - Internet Draft , - Nov. 1998; Explicit Routing over LDP Specification, - Jamoussi et al, Internet Draft , Feb. 1999." + Internet Draft , + March 1999., Constraint-Based LSP Setup using LDP, + Jamoussi, Internet Draft , Feb. 1999." ::= { mplsTunnelEntry 13 } -- When resource allocation is performed as requested by -- the following incoming TSpec objects, they are copied --- into an entry in mplsTSpecTable: mplsTunnelInMaxRate +-- into an entry in mplsTSpecTable [LSRMIB]: mplsTunnelInMaxRate -- to mplsTSpecMaxRate, mplsTunnelInMeanRate to -- mplsTSpecMeanRate, and mplsTunnelInMaxBurstSize -- to mplsTSpecMaxBurstSize; mplsTSpecDirection of this -- entry is set to in(1). The mplsTSpecIndex value of this - -- entry is copied to mplsInSegmentTSpecIndex of the -- corresponding in-segment entry. mplsTunnelInMaxRate OBJECT-TYPE SYNTAX BitRate UNITS "bits per second" MAX-ACCESS read-create STATUS current DESCRIPTION "The maximum incoming rate in bits/second. Note that @@ -819,55 +577,67 @@ MAX-ACCESS read-create STATUS current DESCRIPTION "The maximum incoming rate in bits/second. Note that setting mplsTunnelInMaxRate, mplsTunnelInMeanRate, and mplsTunnelInMaxBurstSize to 0 indicates best- effort treatment. This object is copied to an instance of mplsTSpecMaxRate in mplsTSpecTable the index of which is copied into the corresponding mplsInSegmentTSpecIndex." + REFERENCE + "MPLS Label Switch Router Management Information Base + Using SMIv2, Srinivasan and Viswanathan, draft-ietf- + mpls-lsr-mib-00.txt, June 1999." DEFVAL { 0 } ::= { mplsTunnelEntry 14 } mplsTunnelInMeanRate OBJECT-TYPE SYNTAX BitRate UNITS "bits per second" MAX-ACCESS read-create STATUS current DESCRIPTION "This object is copied to an instance of mplsTSpecMeanRate in mplsTSpecTable the index of which is copied into the corresponding mplsInSegmentTSpecIndex." + REFERENCE + "MPLS Label Switch Router Management Information Base + Using SMIv2, Srinivasan and Viswanathan, draft-ietf- + mpls-lsr-mib-00.txt, June 1999." DEFVAL { 0 } ::= { mplsTunnelEntry 15 } mplsTunnelInMaxBurstSize OBJECT-TYPE SYNTAX BurstSize UNITS "bytes" MAX-ACCESS read-create STATUS current DESCRIPTION "The maximum burst size in bytes. This object is copied to mplsInSegmentMaxBurstSize of the corresponding in-segment." + REFERENCE + "MPLS Label Switch Router Management Information Base + Using SMIv2, Srinivasan and Viswanathan, draft-ietf- + mpls-lsr-mib-00.txt, June 1999." DEFVAL { 0 } ::= { mplsTunnelEntry 16 } -- When resource allocation is performed as requested by -- the following outgoing TSpec objects, they are copied --- into an entry in mplsTSpecTable: mplsTunnelOutMaxRate + +-- into an entry in mplsTSpecTable [LSRMIB]: mplsTunnelOutMaxRate -- to mplsTSpecMaxRate, mplsTunnelOutMeanRate to -- mplsTSpecMeanRate, and mplsTunnelOutMaxBurstSize -- to mplsTSpecMaxBurstSize; mplsTSpecDirection of this - -- entry is set to out(2). The mplsTSpecIndex value of this -- entry is copied to mplsOutSegmentTSpecIndex of the -- corresponding out-segment entry. mplsTunnelOutMaxRate OBJECT-TYPE SYNTAX BitRate UNITS "bits per second" MAX-ACCESS read-create STATUS current DESCRIPTION @@ -870,44 +640,56 @@ UNITS "bits per second" MAX-ACCESS read-create STATUS current DESCRIPTION "The maximum outgoing rate in bits/second. Note that setting mplsTunnelOutMaxRate, mplsTunnelOutMeanRate, and mplsTunnelOutMaxBurstSize to 0 indicates best- effort treatment. This object is copied to mplsOutSegmentMaxRate of the corresponding out- segment." + REFERENCE + "MPLS Label Switch Router Management Information Base + Using SMIv2, Srinivasan and Viswanathan, draft-ietf- + mpls-lsr-mib-00.txt, June 1999." DEFVAL { 0 } ::= { mplsTunnelEntry 17 } mplsTunnelOutMeanRate OBJECT-TYPE SYNTAX BitRate UNITS "bits per second" MAX-ACCESS read-create STATUS current DESCRIPTION "The mean outgoing rate in bits/second. This object is copied to mplsOutSegmentMeanRate of the corresponding out-segment." + REFERENCE + "MPLS Label Switch Router Management Information Base + Using SMIv2, Srinivasan and Viswanathan, draft-ietf- + mpls-lsr-mib-00.txt, June 1999." DEFVAL { 0 } ::= { mplsTunnelEntry 18 } mplsTunnelOutMaxBurstSize OBJECT-TYPE SYNTAX BurstSize UNITS "bytes" MAX-ACCESS read-create STATUS current DESCRIPTION "The maximum burst size in bytes. This object is copied to mplsOutSegmentMaxBurstSize of the corresponding out-segment." + REFERENCE + "MPLS Label Switch Router Management Information Base + Using SMIv2, Srinivasan and Viswanathan, draft-ietf- + mpls-lsr-mib-00.txt, June 1999." DEFVAL { 0 } ::= { mplsTunnelEntry 19 } mplsTunnelIsPinned OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "Indicates whether the loose-routed hops of this tunnel are to be pinned." @@ -1048,42 +830,42 @@ SYNTAX IpAddress MAX-ACCESS read-create STATUS current DESCRIPTION "If mplsTunnelHopAddrType is ipV4(1), IPv4 address of this hop. This object is not significant otherwise and should return a value of 0." ::= { mplsTunnelHopEntry 3 } mplsTunnelHopIpv4PrefixLen OBJECT-TYPE - SYNTAX INTEGER (0..31) + SYNTAX INTEGER (1..32) MAX-ACCESS read-create STATUS current DESCRIPTION "If mplsTunnelHopAddrType is ipV4(1), prefix length for this hop's IPv4 address. This object is not significant otherwise and should return a value of 0." ::= { mplsTunnelHopEntry 4 } mplsTunnelHopIpv6Addr OBJECT-TYPE SYNTAX Ipv6Address MAX-ACCESS read-create STATUS current DESCRIPTION "If mplsTunnelHopAddrType is ipV6(2), the IPv6 address of this hop. This object is not significant otherwise and should return a value of 0." ::= { mplsTunnelHopEntry 5 } mplsTunnelHopIpv6PrefixLen OBJECT-TYPE - SYNTAX INTEGER (0..127) + SYNTAX INTEGER (1..128) MAX-ACCESS read-create STATUS current DESCRIPTION "If mplsTunnelHopAddrType is ipV6(2), prefix length for this hop's IPv6 address. This object is not significant otherwise and should return a value of 0." ::= { mplsTunnelHopEntry 6 } mplsTunnelHopAsNumber OBJECT-TYPE @@ -1107,1126 +889,22 @@ mplsTunnelHopRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "For creating, modifying and deleting this row." ::= { mplsTunnelHopEntry 9 } -- End of mplsTunnelHopTable --- 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." - ::= { mplsTeObjects 4 } - -mplsInterfaceConfEntry OBJECT-TYPE - SYNTAX MplsInterfaceConfEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "An entry in this table is created by an LSR for - every interface capable of supporting MPLS and - represents the label space of that interface. A row - with index 0 represents the global label space." - INDEX { mplsInterfaceConfIndex } - ::= { mplsInterfaceConfTable 1 } - -MplsInterfaceConfEntry ::= SEQUENCE { - mplsInterfaceConfIndex InterfaceIndexOrZero, - mplsInterfaceLabelMinIn MplsLabel, - mplsInterfaceLabelMaxIn MplsLabel, - mplsInterfaceLabelMinOut MplsLabel, - mplsInterfaceLabelMaxOut MplsLabel, - mplsInterfaceAdminStatus INTEGER, - mplsInterfaceOperStatus INTEGER - } - -mplsInterfaceConfIndex OBJECT-TYPE - SYNTAX InterfaceIndexOrZero - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Index for this row of the table. A value of 0 - indicates the global label space and this entry is - created by the LSR if it supports a global label - space. A non-zero index is also the interface - index, ifIndex, for the corresponding interface - entry in ifTable." - REFERENCE - "RFC 2233 - The Interfaces Group MIB using SMIv2, - McCloghrie and Kastenholtz, Nov. 1997" - ::= { mplsInterfaceConfEntry 1 } - -mplsInterfaceLabelMinIn OBJECT-TYPE - SYNTAX MplsLabel - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Minimum value of MPLS label that this LSR is willing - to receive on this interface." - ::= { mplsInterfaceConfEntry 2 } - -mplsInterfaceLabelMaxIn OBJECT-TYPE - SYNTAX MplsLabel - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Maximum value of MPLS label that this LSR is willing - to receive on this interface." - ::= { mplsInterfaceConfEntry 3 } - -mplsInterfaceLabelMinOut OBJECT-TYPE - SYNTAX MplsLabel - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Minimum value of MPLS label that this LSR is willing - to send on this interface." - ::= { mplsInterfaceConfEntry 4 } - -mplsInterfaceLabelMaxOut OBJECT-TYPE - SYNTAX MplsLabel - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Maximum value of MPLS label that this LSR is willing - to send on this interface." - ::= { mplsInterfaceConfEntry 5 } - -mplsInterfaceAdminStatus OBJECT-TYPE - SYNTAX INTEGER { - up(1), -- enable MPLS on this interface - down(2), -- disable MPLS on this interface - testing(3) -- in some test mode - } - MAX-ACCESS read-write - STATUS current - DESCRIPTION - "Indicates the administrator's intent as to whether - MPLS should be enabled or disabled on this - interface." - DEFVAL { down } - ::= { mplsInterfaceConfEntry 6 } - -mplsInterfaceOperStatus OBJECT-TYPE - SYNTAX INTEGER { - up(1), -- ready to pass packets - down(2), - testing(3), -- in some test mode - unknown(4), -- status cannot be determined for some - -- reason - dormant(5), - notPresent(6), -- some component is missing - lowerLayerNotPresent(7) - -- down due to the state of - -- lower layer interfaces - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Indicates the actual status of MPLS on this - interface." - ::= { mplsInterfaceConfEntry 7 } - --- End of mplsInterfaceConfTable - --- MPLS Interface Performance Table. - -mplsInterfacePerfTable OBJECT-TYPE - SYNTAX SEQUENCE OF MplsInterfacePerfEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "This table provides per-interface MPLS performance - information." - ::= { mplsTeObjects 5 } - -mplsInterfacePerfEntry OBJECT-TYPE - SYNTAX MplsInterfacePerfEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "An entry in this table is created by the LSR for - every interface capable of supporting MPLS. Its is - an extension to mplsInterfaceConfEntry." - AUGMENTS { mplsInterfaceConfEntry } - ::= { mplsInterfacePerfTable 1 } - -MplsInterfacePerfEntry ::= SEQUENCE { - -- incoming direction - mplsInterfaceInLabelsUsed Gauge32, - mplsInterfaceInOctets Counter32, - mplsInterfaceInPackets Counter32, - mplsInterfaceInErrors Counter32, - mplsInterfaceInDiscards Counter32, - mplsInterfaceFailedLabelLookup Counter32, - - -- outgoing direction - mplsInterfaceOutLabelsUsed Gauge32, - mplsInterfaceOutOctets Counter32, - mplsInterfaceOutPackets Counter32, - mplsInterfaceOutErrors Counter32, - mplsInterfaceOutDiscards Counter32, - - -- high capacity counters - mplsInterfaceInHCOctets Counter64, - mplsInterfaceOutHCOctets Counter64 - } - -mplsInterfaceInLabelsUsed OBJECT-TYPE - SYNTAX Gauge32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of labels that are in use at this point - on this interface in the incoming direction." - ::= { mplsInterfacePerfEntry 1 } - -mplsInterfaceInOctets OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of octets that have been received in - labeled packets on this interface." - ::= { mplsInterfacePerfEntry 2 } - -mplsInterfaceInPackets OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of labeled packets that have been - received on this interface." - ::= { mplsInterfacePerfEntry 3 } - -mplsInterfaceInErrors OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of labeled packets that have been - received on this interface that were errored." - ::= { mplsInterfacePerfEntry 4 } - -mplsInterfaceInDiscards OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of labeled packets that have been - received on this interface that were discarded." - ::= { mplsInterfacePerfEntry 5 } - -mplsInterfaceFailedLabelLookup OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of labeled packets that have been - received on this interface that were discarded - because no matching entries were found in - mplsInSegmentTable." - ::= { mplsInterfacePerfEntry 6 } - -mplsInterfaceOutLabelsUsed OBJECT-TYPE - SYNTAX Gauge32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of labels that are in use at this point - on this interface in the outgoing direction." - ::= { mplsInterfacePerfEntry 7 } - -mplsInterfaceOutOctets OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of octets that have been sent as labeled - packets on this interface." - ::= { mplsInterfacePerfEntry 8 } - -mplsInterfaceOutPackets OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of labeled packets that have been sent on - this interface." - ::= { mplsInterfacePerfEntry 9 } - -mplsInterfaceOutErrors OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of labeled packets that could not be sent - on this interface due to errors." - ::= { mplsInterfacePerfEntry 10 } - -mplsInterfaceOutDiscards OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of outgoing labeled packets on this - interface that had to be discarded due to errors or - other conditions such as buffer overflows." - ::= { mplsInterfacePerfEntry 11 } - -mplsInterfaceInHCOctets OBJECT-TYPE - SYNTAX Counter64 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of octets that have been received in - labeled packets on this interface. This is the 64 - bit version of mplsInterfaceInOctets." - ::= { mplsInterfacePerfEntry 15 } - -mplsInterfaceOutHCOctets OBJECT-TYPE - SYNTAX Counter64 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The number of octets that have been sent in labeled - packets on this interface. This is the 64 bit - version of mplsInterfaceOutOctets." - ::= { mplsInterfacePerfEntry 16 } - --- End of mplsInterfacePerfTable - --- In-segment table. - -mplsInSegmentTable OBJECT-TYPE - SYNTAX SEQUENCE OF MplsInSegmentEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "This table contains a description of the incoming - segments to a LSR." - ::= { mplsTeObjects 6 } - -mplsInSegmentEntry OBJECT-TYPE - SYNTAX MplsInSegmentEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "An entry in this table represents one incoming - segment. An entry can be created by a network - administrator or by an SNMP agent as instructed by - LDP or RSVP. It is indexed by the incoming - interface index and (top) label. Note that some of - the segments are associated with a tunnel, the - traffic parameters of these rows are supported as - read-only objects and their modification can be done - only via the tunnel table." - INDEX { mplsInSegmentIfIndex, mplsInSegmentLabel } - ::= { mplsInSegmentTable 1 } - -MplsInSegmentEntry ::= SEQUENCE { - mplsInSegmentIfIndex InterfaceIndex, - mplsInSegmentLabel MplsLabel, - mplsInSegmentNPop Integer32, - mplsInSegmentAddrFamily MplsTeIANAAddrFamily, - mplsInSegmentXCIndex Integer32, - mplsInSegmentTSpecIndex Unsigned32, - mplsInSegmentAdminStatus INTEGER, - mplsInSegmentOperStatus INTEGER, - mplsInSegmentRowStatus RowStatus - } - -mplsInSegmentIfIndex OBJECT-TYPE - SYNTAX InterfaceIndexOrZero - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "Incoming interface index. A value of zero - represents an incoming label from the per-platform - label space. In this case, the mplsInSegmentLabel - is interpreted to be an MPLS-type label." - ::= { mplsInSegmentEntry 1 } - -mplsInSegmentLabel OBJECT-TYPE - SYNTAX MplsLabel - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "The incoming label." - ::= { mplsInSegmentEntry 2 } - -mplsInSegmentNPop OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The number of labels to pop from the incoming - packet. Normally only the top label is popped - (based on which all switching decisions are taken)." - DEFVAL { 1 } - ::= { mplsInSegmentEntry 3 } - -mplsInSegmentAddrFamily OBJECT-TYPE - SYNTAX MplsTeIANAAddrFamily - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "The IANA address family of the incoming packet. A - value of zero indicates that the family type is - either unknown or undefined (which could happen for - example when streams of different types are merged - in a multipoint-to-point connection)." - REFERENCE - "RFC 1700 - Assigned Numbers, Reynolds and Postel, - October 1994." - DEFVAL { 0 } - ::= { mplsInSegmentEntry 4 } - -mplsInSegmentXCIndex OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Index into mplsXCTable to identify which cross- - connect entry this segment is part of. A value of - zero indicates that it is not being referred to by - any cross-connect entry." - DEFVAL { 0 } - ::= { mplsInSegmentEntry 5 } - -mplsInSegmentTSpecIndex OBJECT-TYPE - SYNTAX Unsigned32 - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "Pointer into mplsTSpecTable indicating the TSpec to - be assigned for this segment. A value of zero - indicates best-effort treatment. Two or more - segments can indicate resource sharing by pointing - to the same entry in mplsTSpecTable." - DEFVAL { 0 } - ::= { mplsInSegmentEntry 6 } - -mplsInSegmentAdminStatus OBJECT-TYPE - SYNTAX INTEGER { - up(1), -- ready to pass packets - down(2), - testing(3) -- in some test mode - } - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "Desired status of this segment." - ::= { mplsInSegmentEntry 7 } - -mplsInSegmentOperStatus OBJECT-TYPE - SYNTAX INTEGER { - up(1), -- ready to pass packets - down(2), - testing(3), -- in some test mode - unknown(4), -- status cannot be determined for - -- some reason - dormant(5), - notPresent(6), -- some component is missing - lowerLayerNotPresent(7) - -- down due to the state of - -- lower layer interfaces - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The operational status of this segment." - ::= { mplsInSegmentEntry 8 } - -mplsInSegmentRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "For creating, modifying, and deleting this row." - ::= { mplsInSegmentEntry 9 } - --- End of mplsInSegmentTable - --- In-segment performance table. - -mplsInSegmentPerfTable OBJECT-TYPE - SYNTAX SEQUENCE OF MplsInSegmentPerfEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "This table contains statistical information about - incoming MPLS segments to an LSR." - ::= { mplsTeObjects 7 } - -mplsInSegmentPerfEntry OBJECT-TYPE - SYNTAX MplsInSegmentPerfEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "An entry in this table contains statistical - information about one incoming segment configured in - mplsInSegmentTable." - AUGMENTS { mplsInSegmentEntry } - ::= { mplsInSegmentPerfTable 1 } - -MplsInSegmentPerfEntry ::= SEQUENCE { - mplsInSegmentOctets Counter32, - mplsInSegmentPackets Counter32, - mplsInSegmentErrors Counter32, - mplsInSegmentDiscards Counter32, - - -- high capacity counter - mplsInSegmentHCOctets Counter64 - } - -mplsInSegmentOctets OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Total number of octets received." - ::= { mplsInSegmentPerfEntry 1 } - -mplsInSegmentPackets OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Total number of packets received." - ::= { mplsInSegmentPerfEntry 2 } - -mplsInSegmentErrors OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Number of errored packets received." - ::= { mplsInSegmentPerfEntry 3 } - -mplsInSegmentDiscards OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Number of packets received that had to be dropped - either because of errors or for other reasons such - as buffer overflows." - ::= { mplsInSegmentPerfEntry 4 } - -mplsInSegmentHCOctets OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Total number of octets received. This is the 64 bit - version of mplsInSegmentOctets." - ::= { mplsInSegmentPerfEntry 5 } - --- End of mplsInSegmentPerfTable. - --- Out-segment table. - -mplsOutSegmentTable OBJECT-TYPE - SYNTAX SEQUENCE OF MplsOutSegmentEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "This table contains a description of the outgoing - segments from an LSR." - ::= { mplsTeObjects 8 } - -mplsOutSegmentEntry OBJECT-TYPE - SYNTAX MplsOutSegmentEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "An entry in this table represents one outgoing - segment. An entry can be created by a network - administrator or by an SNMP agent as instructed by - LDP or RSVP. Note that some of the segments are - associated with a tunnel, the traffic parameters of - these rows are supported as read-only objects and - their modification can be done only via the tunnel - table." - INDEX { mplsOutSegmentIndex } - ::= { mplsOutSegmentTable 1 } - -MplsOutSegmentEntry ::= SEQUENCE { - mplsOutSegmentIndex Integer32, - mplsOutSegmentIfIndex InterfaceIndex, - mplsOutSegmentPushTopLabel TruthValue, - mplsOutSegmentTopLabel MplsLabel, - mplsOutSegmentNextHopIpAddrType INTEGER, - mplsOutSegmentNextHopIpv4Addr IpAddress, - mplsOutSegmentNextHopIpv6Addr Ipv6Address, - mplsOutSegmentXCIndex Integer32, - mplsOutSegmentTSpecIndex Unsigned32, - mplsOutSegmentAdminStatus INTEGER, - mplsOutSegmentOperStatus INTEGER, - mplsOutSegmentRowStatus RowStatus - } - -mplsOutSegmentIndex OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Unique index for this row. While a value of 0 is - not valid as an index for this row it can be - supplied as a valid value to index mplsXCTable to - access entries for which no out-segment has been - configured." - ::= { mplsOutSegmentEntry 1 } - -mplsOutSegmentIfIndex OBJECT-TYPE - SYNTAX InterfaceIndex - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "Interface index of the outgoing interface." - ::= { mplsOutSegmentEntry 2 } - -mplsOutSegmentPushTopLabel OBJECT-TYPE - SYNTAX TruthValue - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "Whether a top label should be pushed onto the - outgoing packet's label stack. Its value has to be - true if the outgoing interface is ATM (which does - not support `pop-and-go') or if it is a tunnel - origination. Note also that the case where - mplsOutSegmentPushTopLabel is set to false but the - cross-connect entry that refers to this out-segment - has a non-zero mplsLabelStackIndex is an error which - the LSR should ensure doesn't happen." - ::= { mplsOutSegmentEntry 3 } - -mplsOutSegmentTopLabel OBJECT-TYPE - SYNTAX MplsLabel - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "If mplsOutSegmentPushTopLabel is true then this is - the label that should be pushed onto the outgoing - packet's label stack. Note that the contents of the - label field can be interpreted in an outgoing - interface specific fashion. For example, the label - carried in the MPLS shim header is 20 bits wide and - the top 12 bits must be zero. The Frame Relay label - is 24 bits wide and the top 8 bits must be zero. - For ATM interfaces the lowermost 16 bits are - interpreted as the VCI, the next 8 bits as the VPI - and the remaining bits must be zero." - ::= { mplsOutSegmentEntry 4 } - -mplsOutSegmentNextHopIpAddrType OBJECT-TYPE - SYNTAX INTEGER { none (1), ipV4 (2), ipV6 (3) } - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "Whether the next hop address is IPv4 or IPv6. A - value of none (1) is valid (only) when the outgoing - interface is of type point-to-point." - DEFVAL { none } - ::= { mplsOutSegmentEntry 5 } - -mplsOutSegmentNextHopIpv4Addr OBJECT-TYPE - SYNTAX IpAddress - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "IPv4 Address of the next hop. Its value is - significant only when - mplsOutSegmentNextHopIpAddrType is ipV4 (2), - otherwise it should return a value of 0." - ::= { mplsOutSegmentEntry 6 } - -mplsOutSegmentNextHopIpv6Addr OBJECT-TYPE - SYNTAX Ipv6Address - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "IPv6 address of the next hop. Its value is - significant only when - mplsOutSegmentNextHopIpAddrType is ipV6 (3), - otherwise it should return a value of 0." - ::= { mplsOutSegmentEntry 7 } - -mplsOutSegmentXCIndex OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "Index into mplsXCTable to identify which cross- - connect entry this segment is part of. A value of - zero indicates that it is not being referred to by - any cross-connect entry." - DEFVAL { 0 } - ::= { mplsOutSegmentEntry 8 } - -mplsOutSegmentTSpecIndex OBJECT-TYPE - SYNTAX Unsigned32 - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "Pointer into mplsTSpecTable indicating the TSpec to - be assigned for this segment. A value of zero - indicates best-effort treatment. Two or more - segments can indicate resource sharing by pointing - to the same entry in mplsTSpecTable." - DEFVAL { 0 } - ::= { mplsOutSegmentEntry 9 } - -mplsOutSegmentAdminStatus OBJECT-TYPE - SYNTAX INTEGER { - up(1), -- ready to pass packets - down(2), - testing(3) -- in some test mode - } - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "Desired status of this segment." - ::= { mplsOutSegmentEntry 10 } - -mplsOutSegmentOperStatus OBJECT-TYPE - SYNTAX INTEGER { - up(1), -- ready to pass packets - down(2), - testing(3), -- in some test mode - unknown(4), -- status cannot be determined for - -- some reason - dormant(5), - notPresent(6), -- some component is missing - lowerLayerNotPresent(7) - -- down due to the state of - -- lower layer interfaces - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The operational status of this segment." - ::= { mplsOutSegmentEntry 11 } - -mplsOutSegmentRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "For creating, modifying, and deleting this row." - ::= { mplsOutSegmentEntry 12 } - --- End of mplsOutSegmentTable - --- Out-segment performance table. - -mplsOutSegmentPerfTable OBJECT-TYPE - SYNTAX SEQUENCE OF MplsOutSegmentPerfEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "This table contains statistical information about - incoming segments to an LSR." - ::= { mplsTeObjects 9 } - -mplsOutSegmentPerfEntry OBJECT-TYPE - SYNTAX MplsOutSegmentPerfEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "An entry in this table contains statistical - information about one incoming segment configured in - mplsOutSegmentTable." - AUGMENTS { mplsOutSegmentEntry } - ::= { mplsOutSegmentPerfTable 1 } - -MplsOutSegmentPerfEntry ::= SEQUENCE { - mplsOutSegmentOctets Counter32, - mplsOutSegmentPackets Counter32, - mplsOutSegmentErrors Counter32, - mplsOutSegmentDiscards Counter32, - - -- HC counter - mplsOutSegmentHCOctets Counter64 - } - -mplsOutSegmentOctets OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Total number of octets sent." - ::= { mplsOutSegmentPerfEntry 1 } - -mplsOutSegmentPackets OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Total number of packets sent." - ::= { mplsOutSegmentPerfEntry 2 } - -mplsOutSegmentErrors OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Number of packets that could not be sent due to - errors." - ::= { mplsOutSegmentPerfEntry 3 } - -mplsOutSegmentDiscards OBJECT-TYPE - SYNTAX Counter32 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Number of outgoing packets that had to be dropped - either because of errors or for other reasons such - as buffer overflows." - ::= { mplsOutSegmentPerfEntry 4 } - -mplsOutSegmentHCOctets OBJECT-TYPE - SYNTAX Counter64 - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Total number of octets sent. This is the 64 bit - version of mplsOutSegmentOctets." - ::= { mplsOutSegmentPerfEntry 5 } - --- End of mplsOutSegmentPerfTable. - --- Cross-connect table. - -mplsXCTable OBJECT-TYPE - SYNTAX SEQUENCE OF MplsXCEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "This table specifies information for switching - between MPLS tunnels segments. It supports point-to- - point, point-to-multipoint and multipoint-to-point - connections. mplsLabelStackTable specifies the - label stack information for a cross-connect LSR and - is referred to from mplsXCTable." - ::= { mplsTeObjects 10 } - -mplsXCEntry OBJECT-TYPE - SYNTAX MplsXCEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "A row in this table represents one cross-connect - entry. It is indexed by the following objects: - - - cross-connect index mplsXCIndex that uniquely - identifies a group of cross-connect entries - - interface index of the in-segment, - mplsInSegmentIfIndex - - incoming label(s), mplsInSegmentLabel - - out-segment index, mplsOutSegmentIndex - - Originating LSPs: - These are represented by using the special - combination of values mplsInSegmentIfIndex=0 and - mplsInSegmentLabel=0 as indexes. In this case the - mplsOutSegmentIndex MUST be non-zero. - - Terminating LSPs: - These are represented by using the special value - mplsOutSegmentIndex=0 as index. - - Special labels: - Entries indexed by reserved MPLS label values 0 - through 15 imply terminating LSPs and MUST have - mplsOutSegmentIndex=0. - - An entry can be created by a network administrator - or by an SNMP agent as instructed by LDP or RSVP." - INDEX { mplsXCIndex, mplsInSegmentIfIndex, - mplsInSegmentLabel, mplsOutSegmentIndex } - ::= { mplsXCTable 1 } - -MplsXCEntry ::= SEQUENCE { - mplsXCIndex INTEGER, - mplsXCLabelStackIndex Integer32, - mplsXCCOS Integer32, - mplsXCIsPersistent TruthValue, - mplsXCAdminStatus INTEGER, - mplsXCOperStatus INTEGER, - mplsXCRowStatus RowStatus - } - -mplsXCIndex OBJECT-TYPE - SYNTAX INTEGER (0..4294967295) - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Primary index for the row identifying a group of - cross-connect segments." - ::= { mplsXCEntry 1 } - - mplsXCLabelStackIndex OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "Primary index into mplsLabelStackTable identifying a - stack of labels to be pushed beneath the top label. - Note that the top label is identified in the out- - segment which ensures that all the components of a - multipoint-to-point connection have the same - outgoing label. A value of 0 indicates that no - labels are to be stacked beneath the top label." - ::= { mplsXCEntry 2 } - -mplsXCCOS OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "Value to override the incoming COS field with for a - cross-connect or the value to assign to outgoing - packets for an outgoing segment of a tunnel." - ::= { mplsXCEntry 3 } - -mplsXCIsPersistent OBJECT-TYPE - SYNTAX TruthValue - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "Whether this cross-connect entry and associated in- - and out-segments should be restored automatically - after failures." - DEFVAL { false } - ::= { mplsXCEntry 4 } - -mplsXCAdminStatus OBJECT-TYPE - SYNTAX INTEGER { - up(1), -- ready to pass packets - down(2), - testing(3) -- in some test mode - } - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "Desired status of this segment." - ::= { mplsXCEntry 5 } - -mplsXCOperStatus OBJECT-TYPE - SYNTAX INTEGER { - up(1), -- ready to pass packets - down(2), - testing(3), -- in some test mode - unknown(4), -- status cannot be determined for - -- some reason - dormant(5), - notPresent(6), -- some component is missing - lowerLayerNotPresent(7) - -- down due to the state of - -- lower layer interfaces - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The operational status of this segment." - ::= { mplsXCEntry 6 } - -mplsXCRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "For creating, modifying, and deleting this row." - ::= { mplsXCEntry 7 } - --- End of mplsXCTable - --- Label stack table. - -mplsLabelStackTable OBJECT-TYPE - SYNTAX SEQUENCE OF MplsLabelStackEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "This table specifies the label stack to be pushed - onto a packet, beneath the top label. Entries into - this table are referred to from mplsXCTable." - ::= { mplsTeObjects 11 } - -mplsLabelStackEntry OBJECT-TYPE - SYNTAX MplsLabelStackEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "An entry in this table represents one label to be - pushed onto an outgoing packets beneath the top - label. An entry can be created by a network - administrator or by an SNMP agent as instructed by - LDP or RSVP." - INDEX { mplsLabelStackIndex } - ::= { mplsLabelStackTable 1 } - -MplsLabelStackEntry ::= SEQUENCE { - mplsLabelStackIndex Integer32, - mplsLabelStackLabelIndex Integer32, - mplsLabelStackLabel MplsLabel, - mplsLabelStackRowStatus RowStatus - } - -mplsLabelStackIndex OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Primary index for this row identifying a stack of - labels to be pushed on an outgoing packet beneath - the top label." - ::= { mplsLabelStackEntry 1 } - -mplsLabelStackLabelIndex OBJECT-TYPE - SYNTAX Integer32 - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "Secondary index for this row identifying one label - of the stack." - ::= { mplsLabelStackEntry 2 } - -mplsLabelStackLabel OBJECT-TYPE - SYNTAX MplsLabel - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "Label to pushed." - ::= { mplsLabelStackEntry 3 } - -mplsLabelStackRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "For creating, modifying, and deleting this row." - ::= { mplsLabelStackEntry 4 } - --- End of mplsLabelStackTable - --- TSpec table. - -mplsTSpecTable OBJECT-TYPE - SYNTAX SEQUENCE OF MplsTSpecEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "This table specifies TSpec objects for in and out- - segments." - ::= { mplsTeObjects 12 } - -mplsTSpecEntry OBJECT-TYPE - SYNTAX MplsTSpecEntry - MAX-ACCESS not-accessible - STATUS current - DESCRIPTION - "An entry in this table represents the TSpec objects - for one or more in or out segments. A single entry - can be pointed to by multiple segments indicating - resource sharing." - INDEX { mplsTSpecIndex } - ::= { mplsTSpecTable 1 } - -MplsTSpecEntry ::= SEQUENCE { - mplsTSpecIndex Unsigned32, - mplsTSpecIfIndex InterfaceIndex, - mplsTSpecDirection INTEGER, - mplsTSpecMaxRate BitRate, - mplsTSpecMeanRate BitRate, - mplsTSpecMaxBurstSize BurstSize, - mplsTSpecRowStatus RowStatus - } - -mplsTSpecIndex OBJECT-TYPE - SYNTAX Unsigned32 - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "Uniquely identifies this row of the table. Zero is - not a valid index." - ::= { mplsTSpecEntry 1 } - -mplsTSpecIfIndex OBJECT-TYPE - SYNTAX InterfaceIndex - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "Identifies the interface that this entry refers to." - ::= { mplsTSpecEntry 2 } - -mplsTSpecDirection OBJECT-TYPE - SYNTAX INTEGER { in(1), out(2) } - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "Direction that these objects pertain to, incoming or - outgoing." - ::= { mplsTSpecEntry 3 } - -mplsTSpecMaxRate OBJECT-TYPE - SYNTAX BitRate - UNITS "bits per second" - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "Maximum rate in bits/second." - ::= { mplsTSpecEntry 4 } - -mplsTSpecMeanRate OBJECT-TYPE - SYNTAX BitRate - UNITS "bits per second" - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "Mean rate in bits/second." - ::= { mplsTSpecEntry 5 } - -mplsTSpecMaxBurstSize OBJECT-TYPE - SYNTAX BurstSize - UNITS "bytes" - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "Maximum burst size in bytes." - ::= { mplsTSpecEntry 6 } - -mplsTSpecRowStatus OBJECT-TYPE - SYNTAX RowStatus - MAX-ACCESS read-create - STATUS current - DESCRIPTION - "For creating, modifying, and deleting this row." - ::= { mplsTSpecEntry 7 } - --- End of mplsTSpecTable - -- Notifications. --- Tunnel. - mplsTunnelUp NOTIFICATION-TYPE OBJECTS { mplsTunnelIndex, mplsTunnelAdminStatus, mplsTunnelOperStatus } STATUS current DESCRIPTION "This notification is generated when a mplsTunnelOperStatus object for one of the configured tunnels is about to leave the down state and transition into some other state (but not into the notPresent state). This other state is @@ -2240,204 +918,44 @@ STATUS current DESCRIPTION "This notification is generated when a mplsTunnelOperStatus object for one of the configured tunnels is about to enter the down state from some other state (but not from the notPresent state). This other state is indicated by the included value of mplsTunnelOperStatus." ::= { mplsTeNotifications 2 } --- Interface configuration. - -mplsInterfaceUp NOTIFICATION-TYPE - OBJECTS { mplsInterfaceConfIndex, - mplsInterfaceAdminStatus, mplsInterfaceOperStatus } - STATUS current - DESCRIPTION - "This notification is generated when a - mplsInterfaceOperStatus object for one of the - entries in mplsInterfaceConfTable is about to leave - the down state and transition into some other state - (but not into the notPresent state). This other - state is indicated by the included value of - mplsInterfaceOperStatus." - ::= { mplsTeNotifications 3 } - -mplsInterfaceDown NOTIFICATION-TYPE - OBJECTS { mplsInterfaceConfIndex, - mplsInterfaceAdminStatus, mplsInterfaceOperStatus } - STATUS current - DESCRIPTION - "This notification is generated when a - mplsInterfaceOperStatus object for one of the - entries in mplsInterfaceConfTable is about to enter - the down state from some other state (but not from - the notPresent state). This other state is - indicated by the included value of - mplsInterfaceOperStatus." - ::= { mplsTeNotifications 4 } - --- In-segment. - -mplsInSegmentUp NOTIFICATION-TYPE - OBJECTS { mplsInSegmentIfIndex, mplsInSegmentLabel, - mplsInSegmentAdminStatus, mplsInSegmentOperStatus } - STATUS current - DESCRIPTION - "This notification is generated when a - mplsInSegmentOperStatus object for one of the - configured in-segments is about to leave the down - state and transition into some other state (but not - into the notPresent state). This other state is - indicated by the included value of - mplsInSegmentOperStatus." - ::= { mplsTeNotifications 5 } - -mplsInSegmentDown NOTIFICATION-TYPE - OBJECTS { mplsInSegmentIfIndex, mplsInSegmentLabel, - mplsInSegmentAdminStatus, mplsInSegmentOperStatus } - STATUS current - DESCRIPTION - "This notification is generated when a - mplsInSegmentOperStatus object for one of the - configured in-segments is about to enter the down - state from some other state (but not from the - notPresent state). This other state is indicated by - the included value of mplsInSegmentOperStatus." - ::= { mplsTeNotifications 6 } - --- Out-segment. - -mplsOutSegmentUp NOTIFICATION-TYPE - OBJECTS { mplsOutSegmentIndex, mplsInSegmentAdminStatus, - mplsInSegmentOperStatus } - STATUS current - DESCRIPTION - "This notification is generated when a - mplsOutSegmentOperStatus object for one of the - configured out-segments is about to leave the down - state and transition into some other state (but not - into the notPresent state). This other state is - indicated by the included value of - mplsOutSegmentOperStatus." - ::= { mplsTeNotifications 7 } - -mplsOutSegmentDown NOTIFICATION-TYPE - OBJECTS { mplsOutSegmentIndex, mplsInSegmentAdminStatus, - mplsInSegmentOperStatus } - STATUS current - DESCRIPTION - "This notification is generated when a - mplsOutSegmentOperStatus object for one of the - configured out-segments is about to enter the down - state from some other state (but not from the - notPresent state). This other state is indicated by - the included value of mplsOutSegmentOperStatus." - ::= { mplsTeNotifications 8 } - --- Cross-connect. - -mplsXCUp NOTIFICATION-TYPE - OBJECTS { mplsXCIndex, - mplsInSegmentIfIndex, mplsInSegmentLabel, - mplsOutSegmentIndex, - mplsXCAdminStatus, mplsXCOperStatus } - STATUS current - DESCRIPTION - "This notification is generated when a - mplsXCOperStatus object for one of the configured - cross-connect entries is about to leave the down - state and transition into some other state (but not - into the notPresent state). This other state is - indicated by the included value of - mplsXCOperStatus." - ::= { mplsTeNotifications 9 } - -mplsXCDown NOTIFICATION-TYPE - OBJECTS { mplsXCIndex, - mplsInSegmentIfIndex, mplsInSegmentLabel, - mplsOutSegmentIndex, - mplsXCAdminStatus, mplsXCOperStatus } - STATUS current - DESCRIPTION - "This notification is generated when a - mplsXCOperStatus object for one of the configured - cross-connect entries is about to enter the down - state from some other state (but not from the - notPresent state). This other state is indicated by - the included value of mplsXCOperStatus." - ::= { mplsTeNotifications 10 } - -- End of notifications. -- Module compliance. mplsTeGroups OBJECT IDENTIFIER ::= { mplsTeConformance 1 } mplsTeCompliances OBJECT IDENTIFIER ::= { mplsTeConformance 2 } mplsTeModuleCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "Compliance statement for agents that support the MPLS TE MIB." MODULE -- this module - -- The mandatory groups have to be implemented by all LSRs. - -- However, they may all be supported as read-only objects - -- in the case where manual configuration is not - -- supported. - - MANDATORY-GROUPS { mplsInSegmentGroup, mplsOutSegmentGroup, - mplsXCGroup, mplsInterfaceGroup, - mplsPerfGroup } - - GROUP mplsHCInterfacePerfGroup - DESCRIPTION - "This group is mandatory for high-speed MPLS - capable interfaces for which the objects - mplsInterfaceInOctets and mplsInterfaceOutOctets - wrap around too quickly." - - GROUP mplsHCInSegmentPerfGroup - DESCRIPTION - "This group is mandatory for those in-segment - entries for which the object - mplsInSegmentOutOctets wraps around too - quickly." - - GROUP mplsHCOutSegmentPerfGroup - DESCRIPTION - "This group is mandatory for those out-segment - entries for which the object - mplsOutSegmentOctets wraps around too quickly." - - GROUP mplsTSpecGroup - DESCRIPTION - "This group is mandatory for those LSRs that - support int-serv style resource reservation." + -- The mandatory group has to be implemented by all LSRs + -- that originate/terminate ESLSPs/tunnels. + -- In addition, depending on the type of tunnels + -- supported, other groups become mandatory as explained + -- below. - GROUP mplsTunnelGroup - DESCRIPTION - "This group is mandatory for devices which - support tunnels. In addition, depending on the - type of the tunnel (for example, manually - configured or signalled, persistent or non- - persistent, etc.), the following other groups - are mandatory: mplsTunnelManualGroup and/or - mplsTunnelSignalledGroup, - mplsTunnelIsNotIntfcGroup and/or - mplsTunnelIsIntfcGroup, mplsTunnelIsPersistent - and/or mplsTunnelIsNotPersistent." + MANDATORY-GROUPS { mplsTunnelGroup } GROUP mplsTunnelManualGroup DESCRIPTION "This group is mandatory for devices which support manual configuration of tunnels, in addition to mplsTunnelGroup. The following constraints apply: mplsTunnelSignallingProto should be at least read-only with a value of none(1)." @@ -2475,508 +993,338 @@ read-only returning true(2)." GROUP mplsTunnelIsNotPersistentGroup DESCRIPTION "This group is mandatory for devices which support non-persistent tunnels, in addition to mplsTunnelGroup. The following constraints apply: mplsTunnelIsPersistent must at least be read-only returning false(1)." - -- Depending on whether the device implements persistent - -- cross-connects or not one of the following two groups - -- is mandatory. - - GROUP mplsXCIsPersistentGroup - DESCRIPTION - "This group is mandatory for devices which - support persistent cross-connects. The - following constraints apply: mplsXCIsPersistent - must at least be read-only returning true(2)." - - GROUP mplsXCIsNotPersistentGroup - DESCRIPTION - "This group is mandatory for devices which - support non-persistent cross-connects. The - following constraints apply: mplsXCIsPersistent - must at least be read-only returning false(1)." - -- mplsTunnelTable - OBJECT mplsTunnelDirection - SYNTAX INTEGER { in(1), out(2) } - DESCRIPTION - "in-out(3) need not be supported." - - OBJECT mplsTunnelAdminStatus - SYNTAX INTEGER { up (1), down (2) } - DESCRIPTION - "Only up and down states need to be supported." - - OBJECT mplsTunnelOperStatus - SYNTAX INTEGER { up (1), down (2) } - DESCRIPTION - "Only up and down states need to be supported." - - OBJECT mplsTunnelRowStatus - SYNTAX INTEGER { active(1), notInService(2), - createAndGo(4), destroy(6) } - DESCRIPTION - "The notReady(3) and createAndWait(5) states need - not be supported." - - -- mplsTunnelHopTable - - OBJECT mplsTunnelHopStrictOrLoose - SYNTAX INTEGER { strict(1) } - DESCRIPTION - "loose(2) need not be supported." - - OBJECT mplsTunnelHopRowStatus - SYNTAX INTEGER { active(1), notInService(2), - createAndGo(4), destroy(6) } + OBJECT mplsTunnelIndex + MIN-ACCESS read-only DESCRIPTION - "The notReady(3) and createAndWait(5) states need - not be supported." - - -- mplsInterfaceConfTable + "Write access is not required." - OBJECT mplsInterfaceAdminStatus - SYNTAX INTEGER { up(1), down(2) } + OBJECT mplsTunnelName MIN-ACCESS read-only DESCRIPTION - "A value of testing(3) need not be supported." + "Write access is not required." - OBJECT mplsInterfaceOperStatus - SYNTAX INTEGER { up(1), down(2) } + OBJECT mplsTunnelDescr MIN-ACCESS read-only DESCRIPTION - "Only up(1) and down(2) need to be supported." - - -- mplsInSegmentTable + "Write access is not required." - OBJECT mplsInSegmentIfIndex + OBJECT mplsTunnelIsIf MIN-ACCESS read-only DESCRIPTION "Write access is not required." - - OBJECT mplsInSegmentLabel + OBJECT mplsTunnelIfIndex MIN-ACCESS read-only DESCRIPTION "Write access is not required." - OBJECT mplsInSegmentXCIndex + OBJECT mplsTunnelDirection + SYNTAX INTEGER { out(2) } MIN-ACCESS read-only DESCRIPTION - "Write access is not required." + "The values in(1) and in-out(3) need not be + supported." - OBJECT mplsInSegmentTSpecIndex + OBJECT mplsTunnelXCIndex MIN-ACCESS read-only DESCRIPTION "Write access is not required." - OBJECT mplsInSegmentNPop + OBJECT mplsTunnelSignallingProto MIN-ACCESS read-only DESCRIPTION - "Write access if not required. This object - should be set to 1 if it is read-only." + "Write access is not required." - OBJECT mplsInSegmentAddrFamily - SYNTAX INTEGER { other(0) } + OBJECT mplsTunnelLocalCookie MIN-ACCESS read-only DESCRIPTION - "Write access is not required. A value of - other(0) should be supported." + "Write access is not required." - OBJECT mplsInSegmentAdminStatus - SYNTAX INTEGER { up(1), down(2) } + OBJECT mplsTunnelRemoteCookie MIN-ACCESS read-only DESCRIPTION - "A value of testing(3) need not be supported." - OBJECT mplsInSegmentOperStatus - SYNTAX INTEGER { up(1), down(2) } + "Write access is not required." + + OBJECT mplsTunnelIsMergeable MIN-ACCESS read-only DESCRIPTION - "Only up(1) and down(2) need to be supported." + "Write access is not required." - OBJECT mplsInSegmentRowStatus - SYNTAX INTEGER { active(1), notInService(2), - createAndGo(4), - destroy(6) } + OBJECT mplsTunnelSetupPrio MIN-ACCESS read-only DESCRIPTION - "The notReady(3) and createAndWait(5) states need - not be supported." - - -- mplsOutSegmentTable + "Write access is not required." - OBJECT mplsOutSegmentIndex + OBJECT mplsTunnelHoldingPrio MIN-ACCESS read-only DESCRIPTION "Write access is not required." - OBJECT mplsOutSegmentIfIndex + OBJECT mplsTunnelInMaxRate MIN-ACCESS read-only DESCRIPTION "Write access is not required." - OBJECT mplsOutSegmentPushTopLabel + OBJECT mplsTunnelInMeanRate MIN-ACCESS read-only DESCRIPTION "Write access is not required." - OBJECT mplsOutSegmentTopLabel + OBJECT mplsTunnelInMaxBurstSize MIN-ACCESS read-only DESCRIPTION "Write access is not required." - OBJECT mplsOutSegmentNextHopIpAddrType - SYNTAX INTEGER { none(1), ipV4(2) } + OBJECT mplsTunnelOutMaxRate MIN-ACCESS read-only DESCRIPTION - "ipV6(3) need not be supported." + "Write access is not required." - OBJECT mplsOutSegmentNextHopIpv4Addr + OBJECT mplsTunnelOutMeanRate MIN-ACCESS read-only DESCRIPTION "Write access is not required." - OBJECT mplsOutSegmentNextHopIpv6Addr + OBJECT mplsTunnelOutMaxBurstSize MIN-ACCESS read-only DESCRIPTION "Write access is not required." - OBJECT mplsOutSegmentXCIndex + OBJECT mplsTunnelIsPinned MIN-ACCESS read-only DESCRIPTION "Write access is not required." - OBJECT mplsOutSegmentTSpecIndex + OBJECT mplsTunnelIsPersistent MIN-ACCESS read-only DESCRIPTION "Write access is not required." - OBJECT mplsOutSegmentAdminStatus + OBJECT mplsTunnelAdminStatus SYNTAX INTEGER { up(1), down(2) } MIN-ACCESS read-only DESCRIPTION - "A value of testing(3) need not be supported." + "Only up and down states need to be supported. + Write access is not required." - OBJECT mplsOutSegmentOperStatus + OBJECT mplsTunnelOperStatus SYNTAX INTEGER { up(1), down(2) } MIN-ACCESS read-only DESCRIPTION - "Only up(1) and down(2) need to be supported." - - OBJECT mplsOutSegmentRowStatus + "Only up and down states need to be supported. + Write access is not required." + OBJECT mplsTunnelRowStatus SYNTAX INTEGER { active(1), notInService(2), - createAndGo(4), - destroy(6) } + createAndGo(4), destroy(6) } MIN-ACCESS read-only DESCRIPTION "The notReady(3) and createAndWait(5) states need - not be supported." + not be supported. Write access is not required." - -- mplsXCTable + -- mplsTunnelHopTable - OBJECT mplsXCIndex + OBJECT mplsTunnelHopIndex MIN-ACCESS read-only DESCRIPTION "Write access is not required." - OBJECT mplsXCLabelStackIndex + OBJECT mplsTunnelHopAddrType MIN-ACCESS read-only DESCRIPTION "Write access is not required." - OBJECT mplsXCCOS + OBJECT mplsTunnelHopIpv4Addr MIN-ACCESS read-only DESCRIPTION "Write access is not required." - OBJECT mplsXCIsPersistent + OBJECT mplsTunnelHopIpv4PrefixLen MIN-ACCESS read-only DESCRIPTION "Write access is not required." - OBJECT mplsXCAdminStatus - SYNTAX INTEGER { up(1), down(2) } + OBJECT mplsTunnelHopIpv6Addr MIN-ACCESS read-only DESCRIPTION - "A value of testing(3) need not be supported." + "Write access is not required." - OBJECT mplsXCOperStatus - SYNTAX INTEGER { up(1), down(2) } + OBJECT mplsTunnelHopIpv6PrefixLen MIN-ACCESS read-only DESCRIPTION - "Only up(1) and down(2) need to be supported." + "Write access is not required." - OBJECT mplsXCRowStatus - SYNTAX INTEGER { active(1), notInService(2), - createAndGo(4), - destroy(6) } + OBJECT mplsTunnelHopAsNumber MIN-ACCESS read-only DESCRIPTION - "The notReady(3) and createAndWait(5) states need - not be supported." - - ::= { mplsTeCompliances 1 } - --- Units of conformance. - -mplsInterfaceGroup OBJECT-GROUP - OBJECTS { mplsInterfaceConfIndex, - mplsInterfaceLabelMinIn, mplsInterfaceLabelMaxIn, - mplsInterfaceLabelMinOut, mplsInterfaceLabelMaxOut, - mplsInterfaceAdminStatus, mplsInterfaceOperStatus, - mplsInterfaceInLabelsUsed, mplsInterfaceOutLabelsUsed } - STATUS current - DESCRIPTION - "Collection of objects needed for MPLS interface - configuration and performance information." - ::= { mplsTeGroups 1 } - -mplsInSegmentGroup OBJECT-GROUP - OBJECTS { mplsInSegmentIfIndex, mplsInSegmentLabel, - mplsInSegmentNPop, mplsInSegmentAddrFamily, - mplsInSegmentXCIndex, mplsInSegmentTSpecIndex, - mplsInSegmentAdminStatus, mplsInSegmentOperStatus, - mplsInSegmentRowStatus, - mplsInSegmentOctets, mplsInSegmentDiscards } - STATUS current - DESCRIPTION - "Collection of objects needed to implement an in- - segment." - ::= { mplsTeGroups 2 } - -mplsOutSegmentGroup OBJECT-GROUP - OBJECTS { mplsOutSegmentIndex, mplsOutSegmentIfIndex, - mplsOutSegmentPushTopLabel, mplsOutSegmentTopLabel, - mplsOutSegmentNextHopIpAddrType, - mplsOutSegmentNextHopIpv4Addr, - mplsOutSegmentNextHopIpv6Addr, - mplsOutSegmentXCIndex, mplsOutSegmentTSpecIndex, - mplsOutSegmentAdminStatus, mplsOutSegmentOperStatus, - mplsOutSegmentRowStatus, - mplsOutSegmentOctets, mplsOutSegmentDiscards } - STATUS current - DESCRIPTION - "Collection of objects needed to implement an out- - segment." - ::= { mplsTeGroups 3 } - -mplsXCGroup OBJECT-GROUP - OBJECTS { mplsXCIndex, mplsXCLabelStackIndex, - mplsXCAdminStatus, mplsXCOperStatus, mplsXCRowStatus } - STATUS current - DESCRIPTION - "Collection of objects needed to implement a cross- - connect entry." - ::= { mplsTeGroups 4 } - -mplsPerfGroup OBJECT-GROUP - OBJECTS { mplsInterfaceInOctets, mplsInterfaceInPackets, - mplsInterfaceInDiscards, - mplsInterfaceOutOctets, mplsInterfaceOutPackets, - mplsInterfaceOutDiscards, - mplsInSegmentOctets, mplsInSegmentPackets, - mplsInSegmentDiscards, - mplsOutSegmentOctets, mplsOutSegmentPackets, - mplsOutSegmentDiscards } - STATUS current - DESCRIPTION - "Collection of objects providing performance - information about an LSR." - ::= { mplsTeGroups 5 } + "Write access is not required." -mplsHCInterfacePerfGroup OBJECT-GROUP - OBJECTS { mplsInterfaceInHCOctets, mplsInterfaceOutHCOctets } - STATUS current + OBJECT mplsTunnelHopStrictOrLoose + SYNTAX INTEGER { strict(1) } + MIN-ACCESS read-only DESCRIPTION - "Collection of objects providing performance - information specific to high-speed interfaces for - which the objects mplsInterfaceInOctets and - mplsInterfaceOutOctets wrap-around too quickly." - ::= { mplsTeGroups 6 } + "loose(2) need not be supported. Write access is + not required." -mplsHCInSegmentPerfGroup OBJECT-GROUP - OBJECTS { mplsInSegmentHCOctets } - STATUS current + OBJECT mplsTunnelHopRowStatus + SYNTAX INTEGER { active(1), notInService(2), + createAndGo(4), destroy(6) } + MIN-ACCESS read-only DESCRIPTION - "Object(s) providing performance information specific - to out-segments for which the object - mplsInterfaceInOctets wraps around too quickly." - ::= { mplsTeGroups 7 } + "The notReady(3) and createAndWait(5) states need + not be supported. Write access is not required." -mplsHCOutSegmentPerfGroup OBJECT-GROUP - OBJECTS { mplsOutSegmentHCOctets } - STATUS current - DESCRIPTION - "Object(s) providing performance information specific - to out-segments for which the object - mplsInterfaceOutOctets wraps around too quickly." - ::= { mplsTeGroups 8 } + ::= { mplsTeCompliances 1 } -mplsTSpecGroup OBJECT-GROUP - OBJECTS { mplsTSpecIndex, mplsTSpecIfIndex, mplsTSpecDirection, - mplsTSpecMaxRate, mplsTSpecMeanRate, - mplsTSpecMaxBurstSize, mplsTSpecRowStatus } - STATUS current - DESCRIPTION - "Object(s) required for supporting int-serv style - resource reservation." - ::= { mplsTeGroups 9 } +-- Units of conformance. mplsTunnelGroup OBJECT-GROUP OBJECTS { mplsTunnelIndex, mplsTunnelName, mplsTunnelDirection, mplsTunnelXCIndex, mplsTunnelIfIndex, mplsTunnelAdminStatus, mplsTunnelOperStatus, mplsTunnelRowStatus } STATUS current DESCRIPTION "Necessary, but not sufficient, set of objects to - implement tunnels. Other objects are required - depending on the type of tunnel supported, such as - signalled, manual etc., as defined in the groups - below." - ::= { mplsTeGroups 10 } + implement tunnels. In addition, depending on the + type of the tunnels supported (for example, manually + configured or signalled, persistent or non- + persistent, etc.), the following other groups + defined below are mandatory: mplsTunnelManualGroup + and/or mplsTunnelSignalledGroup, + mplsTunnelIsNotIntfcGroup and/or + mplsTunnelIsIntfcGroup, mplsTunnelIsPersistent + and/or mplsTunnelIsNotPersistent." + ::= { mplsTeGroups 1 } mplsTunnelManualGroup OBJECT-GROUP OBJECTS { mplsTunnelSignallingProto } STATUS current DESCRIPTION "Object(s) needed to implement manually configured tunnels." - ::= { mplsTeGroups 11 } + ::= { mplsTeGroups 2 } mplsTunnelSignalledGroup OBJECT-GROUP OBJECTS { mplsTunnelSignallingProto, mplsTunnelLocalCookie, mplsTunnelRemoteCookie, mplsTunnelHopIndex, mplsTunnelHopAddrType, mplsTunnelHopIpv4Addr, mplsTunnelHopIpv4PrefixLen, mplsTunnelHopIpv6Addr, mplsTunnelHopIpv6PrefixLen, mplsTunnelHopStrictOrLoose, mplsTunnelHopRowStatus } STATUS current DESCRIPTION "Object needed to implement signalled tunnels." - ::= { mplsTeGroups 12 } + ::= { mplsTeGroups 3 } mplsTunnelIsIntfcGroup OBJECT-GROUP OBJECTS { mplsTunnelIsIf } STATUS current DESCRIPTION "Objects needed to implement tunnels that are interfaces." - ::= { mplsTeGroups 13 } + ::= { mplsTeGroups 4 } mplsTunnelIsNotIntfcGroup OBJECT-GROUP OBJECTS { mplsTunnelIsIf } STATUS current DESCRIPTION "Objects needed to implement tunnels that are not interfaces." - ::= { mplsTeGroups 14 } + ::= { mplsTeGroups 5 } mplsTunnelIsPersistentGroup OBJECT-GROUP OBJECTS { mplsTunnelIsPersistent } STATUS current DESCRIPTION "Objects needed to support persistent tunnels." - ::= { mplsTeGroups 15 } + ::= { mplsTeGroups 6 } mplsTunnelIsNotPersistentGroup OBJECT-GROUP OBJECTS { mplsTunnelIsPersistent } STATUS current DESCRIPTION "Objects needed to support non-persistent tunnels." - ::= { mplsTeGroups 16 } - -mplsXCIsPersistentGroup OBJECT-GROUP - OBJECTS { mplsXCIsPersistent } - STATUS current - DESCRIPTION - "Objects needed to support persistent cross- - connects." - ::= { mplsTeGroups 17 } - -mplsXCIsNotPersistentGroup OBJECT-GROUP - OBJECTS { mplsXCIsPersistent } - STATUS current - DESCRIPTION - "Objects needed to support non-persistent cross- - connects." - ::= { mplsTeGroups 18 } + ::= { mplsTeGroups 7 } mplsTeNotificationGroup NOTIFICATION-GROUP - NOTIFICATIONS { mplsTunnelUp, mplsTunnelDown, - mplsInterfaceUp, mplsInterfaceDown, - mplsInSegmentUp, mplsInSegmentDown, - mplsOutSegmentUp, mplsOutSegmentDown, - mplsXCUp, mplsXCDown } + NOTIFICATIONS { mplsTunnelUp, mplsTunnelDown } STATUS current DESCRIPTION "Set of notifications implemented in this module. None is mandatory." - ::= { mplsTeGroups 19 } + ::= { mplsTeGroups 8 } -- End of MPLS-TE-MIB END -10. Security Considerations +8. Security Considerations - The MIBs specified in this document does not raise any security + The MIB specified in this document does not raise any security issues other than those present in the MPLS architecture [MPLSArch] or those imposed by SNMP itself. -11. Acknowledgments +9. Acknowledgments - We wish to thank Ron Bonica, Eric Gray, Patrick Kerharo, Pramod - Koppol, and Dan Tappan for their comments on this draft. + We wish to thank Eric Gray, Patrick Kerharo, and Pramod Koppol for + their comments on this draft. + +10. References -12. References [MPLSArch] Rosen, E., Viswanathan, A., and R. Callon, "Multiprotocol Label Switching Architecture", - Internet Draft , - February 1999 + Internet Draft , + February 1999. [MPLSFW] Callon, R., Doolan, P., Feldman, N., Fredette, A., Swallow, G., and A. Viswanathan, "A Framework for Multiprotocol Label Switching", Internet Draft , November 1997. - [LDPMIB] Cucchiara, J., Sjostrand, H., and J. Luciani, " - Definitions of Managed Objects for the + [LSRMIB] Srinivasan, C., and A. Viswanathan, "MPLS Label + Switch Router Management Information Base Using + SMIv2", Internet Draft , June 1999. + + [LDPMIB] Cucchiara, J., Sjostrand, H., and J. Luciani, + "Definitions of Managed Objects for the Multiprotocol Label Switching, Label Distribution Protocol (LDP)", Internet Draft , August 1998. [LblStk] Rosen, E., Rekhter, Y., Tappan, D., Farinacci, D., Federokow, G., Li, T., and A. Conta, "MPLS Label Stack Encoding", Internet Draft , September 1998. + label-encaps-04.txt>, April 1999. [RSVPTun] Awaduche, D., Berger, L., Der-Haw, G., Li, T., Swallow, G., and V. Srinivasan, "Extensions to RSVP for LSP Tunnels", Internet Draft , November 1998. + lsp-tunnel-02.txt>, March 1999. - [CRLDP] Andersson, L., Fredette, A., Jamoussi, B., Callon, - R., Doolan, P., Feldman, N., Gray, E., Halpern, J., - Heinenan, J., Kilty, T., Malis, A., Girish, M., - Sundell, K., Vaananen, P., T. Worster, Wu, L., and - Dantu, R., "Explicit Routing Over LDP - Specification", Internet Draft , November 1998. + [CRLDP] B. Jamoussi (Editor), "Constraint-Based LSP Setup + using LDP", Internet Draft , February 1999. [Assigned] Reynolds, J., and J. Postel, "Assigned Numbers", - RFC 1700, October 1994. + RFC 1700, October 1994. See also: + http://www.isi.edu/in-notes/iana/assignments/smi- + numbers [SNMPArch] Harrington, D., Presuhn, R., and B. Wijnen, "An Architecture for Describing SNMP Management Frameworks", RFC 2271, January 1998. [SMIv1] Rose, M., and K. McCloghrie, "Structure and Identification of Management Information for TCP/IP- based Internets", RFC 1155, May 1990. [SNMPv1MIBDef]Rose, M., and K. McCloghrie, "Concise MIB @@ -3030,27 +1378,27 @@ RFC 1905, January 1996. [SNMPv3App] Levi, D., Meyer, P., and B. Stewart, "SNMPv3 Applications", RFC 2273, January 1998 [SNMPv3VACM] Wijnen, B., Presuhn, R., and K. McCloghrie, "View- based Access Control Model (VACM) for the Simple Network Management Protocol (SNMP)", RFC 2275, January 1998 -13. Authors's Addresses +11. Authors's Addresses Cheenu Srinivasan - Lucent Technologies - 4F535, 101 Crawfords Corner Road - Holmdel, NJ 07733 + Tachion Network Technologies + 2 Meridian Road + Eatontown, NJ 07724 - Phone: +1-732-949-0709 - Email: cheenu@lucent.com + Phone: +1-732-542-7750 x234 + Email: cheenu@tachion.com Arun Viswanathan Lucent Technologies 4D537, 101 Crawfords Corner Road Holmdel, NJ 07733 - Phone: +1-732-332-5613 + Phone: +1-732-332-5163 Email: arunv@lucent.com