faqs.org - Internet FAQ Archives

RFC 3813 - Multiprotocol Label Switching (MPLS) Label Switching


Or Display the document by number



Network Working Group C. Srinivasan
Request for Comments: 3813 Bloomberg L.P.
Category: Standard Track A. Viswanathan
 Force10 Networks, Inc.
 T. Nadeau
 Cisco Systems, Inc.
 June 2004
 Multiprotocol Label Switching (MPLS) Label Switching
 Router (LSR) Management Information Base (MIB)
Status of this Memo
 This document specifies an Internet standards track protocol for the
 Internet community, and requests discussion and suggestions for
 improvements. Please refer to the current edition of the "Internet
 Official Protocol Standards" (STD 1) for the standardization state
 and status of this protocol. Distribution of this memo is unlimited.
Copyright Notice
 Copyright (C) The Internet Society (2004).
Abstract
 This memo defines an portion of the Management Information Base (MIB)
 for use with network management protocols in the Internet community.
 In particular, it describes managed objects to configure and/or
 monitor a Multiprotocol Label Switching (MPLS) Label Switching Router
 (LSR).
Table of Contents
 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2
 2. Terminology. . . . . . . . . . . . . . . . . . . . . . . . . . 3
 3. The SNMP Management Framework. . . . . . . . . . . . . . . . . 3
 4. Outline. . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
 4.1. Summary of LSR MIB Module. . . . . . . . . . . . . . . . 4
 5. Brief Description of MIB Module Objects. . . . . . . . . . . . 4
 5.1. mplsInterfaceTable . . . . . . . . . . . . . . . . . . . 4
 5.2. mplsInterfacePerfTable . . . . . . . . . . . . . . . . . 4
 5.3. mplsInSegmentTable . . . . . . . . . . . . . . . . . . . 5
 5.4. mplsInSegmentPerfTable . . . . . . . . . . . . . . . . . 5
 5.5. mplsOutSegmentTable. . . . . . . . . . . . . . . . . . . 5
 5.6. mplsOutSegmentPerfTable. . . . . . . . . . . . . . . . . 5
 5.7. mplsXCTable. . . . . . . . . . . . . . . . . . . . . . . 5
 5.8. mplsLabelStackTable. . . . . . . . . . . . . . . . . . . 6
 5.9. mplsInSegmentMapTable. . . . . . . . . . . . . . . . . . 6
 6. Use of 32-bit and 64-bit Counters. . . . . . . . . . . . . . . 6
 7. Example of LSP Setup . . . . . . . . . . . . . . . . . . . . . 6
 8. Application of the Interface Group to MPLS . . . . . . . . . . 8
 8.1. Support of the MPLS Layer by ifTable . . . . . . . . . . 9
 9. The Use of RowPointer. . . . . . . . . . . . . . . . . . . . . 10
 10. MPLS Label Switching Router MIB Module Definitions . . . . . . 11
 11. Security Considerations. . . . . . . . . . . . . . . . . . . . 55
 12. Acknowledgments. . . . . . . . . . . . . . . . . . . . . . . . 56
 13. IANA Considerations. . . . . . . . . . . . . . . . . . . . . . 56
 13.1. IANA Considerations for MPLS-LSR-STD-MIB . . . . . . . . 56
 14. References . . . . . . . . . . . . . . . . . . . . . . . . . . 57
 14.1. Normative References . . . . . . . . . . . . . . . . . . 57
 14.2. Informative References . . . . . . . . . . . . . . . . . 58
 15. Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 59
 16. Full Copyright Statement . . . . . . . . . . . . . . . . . . . 60
1. Introduction
 This memo defines an 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
 Multiprotocol 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 BCP 14, 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 a 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 analogous to an MPLS label.
 out-segment This is analogous 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 Framework
 For a detailed overview of the documents that describe the current
 Internet-Standard Management Framework, please refer to section 7 of
 RFC 3410 [RFC3410].
 Managed objects are 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 the
 Structure of Management Information (SMI). This memo specifies a MIB
 module that is compliant to the SMIv2, which is described in STD 58,
 RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58, RFC 2580
 [RFC2580].
4. 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.
4.1. Summary of LSR MIB Module
 The MIB objects for performing these actions consist of the following
 tables:
 - The interface table (mplsInterfaceTable), which is used for
 revealing 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.
 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.
5. Brief Description of MIB Module Objects
 Sections 5.1-5.2 describe objects pertaining to MPLS-capable
 interfaces of an LSR. The objects described in Sections 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]. It is appropriate to note that the in-segment,
 out-segment, and cross-connect tables were modeled after similar
 tables found in [RFC2515].
5.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.
5.2. mplsInterfacePerfTable
 This table contains objects to measure the MPLS performance of MPLS
 capable interfaces and is an AUGMENT to mplsInterfaceTable.
5.3. mplsInSegmentTable
 This table contains a description of the incoming MPLS segments to an
 LSR and their associated parameters. 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 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.
5.5. mplsOutSegmentTable
 The out-Segment Table contains a description of the outgoing MPLS
 segments at an LSR and their associated parameters.
5.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.
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-multipoint and
 multipoint-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.
5.8. mplsLabelStackTable
 The mplsLabelStackTable specifies the label stack to be pushed onto a
 packet, beneath the top label. Entries to this table are referred to
 from mplsXCTable.
5.9 mplsInSegmentMapTable
 The mplsInSegmentMapTable specifies the mapping from the
 mplsInSegmentIndex to the corresponding mplsInSegmentInterface and
 mplsInSegmentLabel objects. The purpose of this table is to provide
 the manager with an alternative means by which to locate in-segments.
 For instance, this table can be useful when tracing LSPs from LSR to
 LSR by first following the in-segment to out-segment, retrieving the
 outgoing label and out-going interface, and then proceeding to
 interrogate this table at the next-hop LSR to continue the trace.
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.
7. Example of LSP Setup
 In this section we provide a brief example of setting up an LSP using
 this MIB module's objects. While this example is not meant to
 illustrate every nuance of the 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 to impose 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.
 We first create a cross-connect entry that associates the desired
 segments together.
 In mplsXCTable:
 {
 mplsXCIndex = 0x02,
 mplsXCInSegmentIndex = 0x00000015,
 mplsXCOutSegmentIndex = 0x01,
 mplsXCLspId = 0x0102 -- unique ID
 mplsXCLabelStackIndex = 0x00, -- only a single
 -- outgoing label
 mplsXCRowStatus = createAndGo(4)
 }
 Next, we create the appropriate in-segment and out-segment entries
 based on the cross-connect. Note that some agents may wish to
 automatically create the in and out-segments based on the cross-
 connect creation.
 In mplsInSegmentTable:
 {
 mplsInSegmentIndex = 0x00000015
 mplsInSegmentLabel = 21, -- incoming label
 mplsInSegmentNPop = 1,
 mplsInSegmentInterface = 12, -- incoming interface
 -- RowPointer MUST point to the first accessible column.
 mplsInSegmentLabelPtr = 0.0,
 mplsInSegmentTrafficParamPtr = 0.0,
 mplsInSegmentRowStatus = createAndGo(4)
 }
 In mplsOutSegmentTable:
 {
 mplsOutSegmentIndex = 0x01,
 mplsOutSegmentInterface = 13, -- outgoing interface
 mplsOutSegmentPushTopLabel = true(1),
 mplsOutSegmentTopLabel = 22, -- outgoing label
 -- RowPointer MUST point to the first accessible column.
 mplsOutSegmentTrafficParamPtr = 0.0,
 mplsOutSegmentLabelPtr = 0.0,
 mplsOutSegmentRowStatus = createAndGo(4)
 }
 Note that the mplsInSegmentXCIndex and mplsOutSegmentXCIndex objects
 will automatically be populated with the string 0x02 when these
 segments are referred to from the corresponding cross-connect entry.
8. Application of the Interface Group to MPLS
 RFC2863 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.
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].
9. The Use of RowPointer
 RowPointer is a textual convention used to identify a conceptual row
 in a MIB Table by pointing to the first accessible object in that
 row. In this MIB module, the trafficParamPtr object from either the
 mplsInSegmentTable or mplsOutSegmentTable SHOULD indicate the first
 accessible column in an entry in the MplsTunnelResourceEntry in the
 MPLS-TE-STD-MIB [RFC3812] to indicate the traffic parameter settings
 for this segment, if it represents an LSP used for a TE tunnel.
 The trafficParamPtr object may optionally point at an externally
 defined traffic parameter specification table. A value of
 zeroDotZero indicates best-effort treatment. By having the same
 value of this object, two or more segments can indicate resource
 sharing of such things as LSP queue space, etc.
10. MPLS Label Switching Router MIB Module Definitions
MPLS-LSR-STD-MIB DEFINITIONS ::= BEGIN
IMPORTS
 MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
 Integer32, Counter32, Unsigned32, Counter64, Gauge32,
 zeroDotZero
 FROM SNMPv2-SMI -- [RFC2578]
 MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
 FROM SNMPv2-CONF -- [RFC2580]
 TruthValue, RowStatus, StorageType, RowPointer,
 TimeStamp, TEXTUAL-CONVENTION
 FROM SNMPv2-TC -- [RFC2579]
 InterfaceIndexOrZero, ifGeneralInformationGroup,
 ifCounterDiscontinuityGroup
 FROM IF-MIB -- [RFC2863]
 mplsStdMIB, MplsLSPID, MplsLabel, MplsBitRate,
 MplsOwner
 FROM MPLS-TC-STD-MIB -- [RFC3811]
 AddressFamilyNumbers
 FROM IANA-ADDRESS-FAMILY-NUMBERS-MIB -- [IANAFamily]
 InetAddress, InetAddressType
 FROM INET-ADDRESS-MIB -- [RFC3291]
 ;
mplsLsrStdMIB MODULE-IDENTITY
 LAST-UPDATED "200406030000Z" -- June 3, 2004
 ORGANIZATION "Multiprotocol Label Switching (MPLS) Working Group"
 CONTACT-INFO
 " Cheenu Srinivasan
 Bloomberg L.P.
 Email: cheenu@bloomberg.net
 Arun Viswanathan
 Force10 Networks, Inc.
 Email: arunv@force10networks.com
 Thomas D. Nadeau
 Cisco Systems, Inc.
 Email: tnadeau@cisco.com
 Comments about this document should be emailed
 directly to the MPLS working group mailing list at
 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, January 2001.
 Copyright (C) The Internet Society (2004). The
 initial version of this MIB module was published
 in RFC 3812. For full legal notices see the RFC
 itself or see:
 http://www.ietf.org/copyrights/ianamib.html"
 -- Revision history.
 REVISION
 "200406030000Z" -- June 3, 2004
 DESCRIPTION
 "Initial revision, published as part of RFC 3813."
 ::= { mplsStdMIB 2 }
-- TEXTUAL-CONVENTIONs
MplsIndexType ::= TEXTUAL-CONVENTION
 STATUS current
 DESCRIPTION
 "This is an octet string that can be used as a table
 index in cases where a large addressable space is
 required such as on an LSR where many applications
 may be provisioning labels.
 Note that the string containing the single octet with
 the value 0x00 is a reserved value used to represent
 special cases. When this TEXTUAL-CONVENTION is used
 as the SYNTAX of an object, the DESCRIPTION clause
 MUST specify if this special value is valid and if so
 what the special meaning is.
 In systems that provide write access to the MPLS-LSR-STD
 MIB, mplsIndexType SHOULD be used as a simple multi-digit
 integer encoded as an octet string.
 No further overloading of the meaning of an index SHOULD
 be made.
 In systems that do not offer write access to the MPLS-LSR-STD
 MIB, the mplsIndexType may contain implicit formatting that is
 specific to the implementation to convey additional
 information such as interface index, physical card or
 device, or application id. The interpretation of this
 additional formatting is implementation dependent and
 not covered in this document. Such formatting MUST
 NOT impact the basic functionality of read-only access
 to the MPLS-LSR-STD MIB by management applications that are
 not aware of the formatting rules."
 SYNTAX OCTET STRING (SIZE(1..24))
MplsIndexNextType ::= TEXTUAL-CONVENTION
 STATUS current
 DESCRIPTION
 "When a MIB module is used for configuration, an object with
 this SYNTAX always contains a legal value (a non-zero-length
 string) for an index that is not currently used in the relevant
 table. The Command Generator (Network Management Application)
 reads this variable and uses the (non-zero-length string)
 value read when creating a new row with an SNMP SET.
 When the SET is performed, the Command Responder (agent) must
 determine whether the value is indeed still unused; Two Network
 Management Applications may attempt to create a row
 (configuration entry) simultaneously and use the same value. If
 it is currently unused, the SET succeeds and the Command
 Responder (agent) changes the value of this object, according
 to an implementation-specific algorithm. If the value is in
 use, however, the SET fails. The Network Management
 Application must then re-read this variable to obtain a new
 usable value.
 Note that the string containing the single octet with
 the value 0x00 is a reserved value used to represent
 the special case where no additional indexes can be
 provisioned, or in systems that do not offer
 write access, objects defined using this TEXTUAL-CONVENTION
 MUST return the string containing the single
 octet with the value 0x00."
 SYNTAX OCTET STRING (SIZE(1..24))
-- Top level components of this MIB module.
-- Notifications
mplsLsrNotifications OBJECT IDENTIFIER ::= { mplsLsrStdMIB 0 }
-- Tables, Scalars
mplsLsrObjects OBJECT IDENTIFIER ::= { mplsLsrStdMIB 1 }
-- Conformance
mplsLsrConformance OBJECT IDENTIFIER ::= { mplsLsrStdMIB 2 }
-- MPLS Interface Table.
mplsInterfaceTable OBJECT-TYPE
 SYNTAX SEQUENCE OF MplsInterfaceEntry
 MAX-ACCESS not-accessible
 STATUS current
 DESCRIPTION
 "This table specifies per-interface MPLS capability
 and associated information."
 ::= { mplsLsrObjects 1 }
mplsInterfaceEntry OBJECT-TYPE
 SYNTAX MplsInterfaceEntry
 MAX-ACCESS not-accessible
 STATUS current
 DESCRIPTION
 "A conceptual row in this table is created
 automatically by an LSR for every interface capable
 of supporting MPLS and which is configured to do so.
 A conceptual row in this table will exist if and only if
 a corresponding entry in ifTable exists with ifType =
 mpls(166). If this associated entry in ifTable is
 operationally disabled (thus removing MPLS
 capabilities on that interface), the corresponding
 entry in this table MUST be deleted shortly thereafter.
 An conceptual row with index 0 is created if the LSR
 supports per-platform labels. This conceptual row
 represents the per-platform label space and contains
 parameters that apply to all interfaces that participate
 in the per-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 the mplsInterfaceEntry of 0 and not return
 the other rows. This will greatly reduce the number
 of objects returned. Further information about label
 space participation of an interface is provided in
 the DESCRIPTION clause of
 mplsInterfaceLabelParticipationType."
 INDEX { mplsInterfaceIndex }
 ::= { mplsInterfaceTable 1 }
MplsInterfaceEntry ::= SEQUENCE {
 mplsInterfaceIndex InterfaceIndexOrZero,
 mplsInterfaceLabelMinIn MplsLabel,
 mplsInterfaceLabelMaxIn MplsLabel,
 mplsInterfaceLabelMinOut MplsLabel,
 mplsInterfaceLabelMaxOut MplsLabel,
 mplsInterfaceTotalBandwidth MplsBitRate,
 mplsInterfaceAvailableBandwidth MplsBitRate,
 mplsInterfaceLabelParticipationType BITS
}
mplsInterfaceIndex OBJECT-TYPE
 SYNTAX InterfaceIndexOrZero
 MAX-ACCESS not-accessible
 STATUS current
 DESCRIPTION
 "This is a unique index for an entry in the
 MplsInterfaceTable. A non-zero index for an
 entry indicates the ifIndex for the corresponding
 interface entry of the MPLS-layer in the ifTable.
 The entry with index 0 represents the per-platform
 label space and contains parameters that apply to all
 interfaces that participate in the per-platform label
 space. Other entries defined in this table represent
 additional MPLS interfaces that may participate in either
 the per-platform or per-interface label spaces, or both."
 REFERENCE
 "RFC 2863 - The Interfaces Group MIB, McCloghrie, K.,
 and F. Kastenholtz, June 2000"
 ::= { mplsInterfaceEntry 1 }
mplsInterfaceLabelMinIn OBJECT-TYPE
 SYNTAX MplsLabel
 MAX-ACCESS read-only
 STATUS current
 DESCRIPTION
 "This is the minimum value of an MPLS label that this
 LSR is willing to receive on this interface."
 ::= { mplsInterfaceEntry 2 }
mplsInterfaceLabelMaxIn OBJECT-TYPE
 SYNTAX MplsLabel
 MAX-ACCESS read-only
 STATUS current
 DESCRIPTION
 "This is the maximum value of an MPLS label that this
 LSR is willing to receive on this interface."
 ::= { mplsInterfaceEntry 3 }
mplsInterfaceLabelMinOut OBJECT-TYPE
 SYNTAX MplsLabel
 MAX-ACCESS read-only
 STATUS current
 DESCRIPTION
 "This is the minimum value of an MPLS label that this
 LSR is willing to send on this interface."
 ::= { mplsInterfaceEntry 4 }
mplsInterfaceLabelMaxOut OBJECT-TYPE
 SYNTAX MplsLabel
 MAX-ACCESS read-only
 STATUS current
 DESCRIPTION
 "This is the maximum value of an MPLS label that this
 LSR is willing to send on this interface."
 ::= { mplsInterfaceEntry 5 }
mplsInterfaceTotalBandwidth OBJECT-TYPE
 SYNTAX MplsBitRate
 UNITS "kilobits per second"
 MAX-ACCESS read-only
 STATUS current
 DESCRIPTION
 "This value indicates the total amount of usable
 bandwidth on this interface and is specified in
 kilobits per second (Kbps). This variable is not
 applicable when applied to the interface with index
 0. When this value cannot be measured, this value
 should contain the nominal bandwidth."
::= { mplsInterfaceEntry 6 }
mplsInterfaceAvailableBandwidth OBJECT-TYPE
 SYNTAX MplsBitRate
 MAX-ACCESS read-only
 STATUS current
 DESCRIPTION
 "This value indicates the total amount of available
 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 to the interface with index
 0. When this value cannot be measured, this value
 should contain the nominal bandwidth."
::= { mplsInterfaceEntry 7 }
mplsInterfaceLabelParticipationType OBJECT-TYPE
 SYNTAX BITS {
 perPlatform (0),
 perInterface (1)
 }
 MAX-ACCESS read-only
 STATUS current
 DESCRIPTION
 "If the value of the mplsInterfaceIndex for this
 entry is zero, then this entry corresponds to the
 per-platform label space for all interfaces configured
 to use that label space. In this case the perPlatform(0)
 bit MUST be set; the perInterface(1) bit is meaningless
 and MUST be ignored.
 The remainder of this description applies to entries
 with a non-zero value of mplsInterfaceIndex.
 If the perInterface(1) bit is set then the value of
 mplsInterfaceLabelMinIn, mplsInterfaceLabelMaxIn,
 mplsInterfaceLabelMinOut, and
 mplsInterfaceLabelMaxOut for this entry reflect the
 label ranges for this interface.
 If only the perPlatform(0) bit is set, then the value of
 mplsInterfaceLabelMinIn, 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 the entry
 with index 0 if both the perPlatform(0) and perInterface(1)
 bits are set.
 In all cases, at a minimum one of the perPlatform(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 an
 inconsistentValue error when they do not."
 REFERENCE
 "Rosen, E., Viswanathan, A., and R. Callon,
 Multiprotocol Label Switching Architecture, RFC
 3031, January 2001."
::= { mplsInterfaceEntry 8 }
-- End of mplsInterfaceTable
-- MPLS Interface Performance Table.
mplsInterfacePerfTable OBJECT-TYPE
 SYNTAX SEQUENCE OF MplsInterfacePerfEntry
 MAX-ACCESS not-accessible
 STATUS current
 DESCRIPTION
 "This table provides MPLS performance information on
 a per-interface basis."
 ::= { mplsLsrObjects 2 }
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 the mplsInterfaceEntry table.
 Note that the discontinuity behavior of entries in
 this table MUST be based on the corresponding
 ifEntry's ifDiscontinuityTime."
 AUGMENTS { mplsInterfaceEntry }
 ::= { mplsInterfacePerfTable 1 }
MplsInterfacePerfEntry ::= SEQUENCE {
 -- incoming direction
 mplsInterfacePerfInLabelsInUse Gauge32,
 mplsInterfacePerfInLabelLookupFailures Counter32,
 -- outgoing direction
 mplsInterfacePerfOutLabelsInUse Gauge32,
 mplsInterfacePerfOutFragmentedPkts Counter32
 }
mplsInterfacePerfInLabelsInUse OBJECT-TYPE
 SYNTAX Gauge32
 MAX-ACCESS read-only
 STATUS current
 DESCRIPTION
 "This object 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
 only the per-platform label space, then the value of
 the instance of this object MUST be identical to
 the value of the 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 per-interface labels that
 are in use on this interface."
 ::= { mplsInterfacePerfEntry 1 }
mplsInterfacePerfInLabelLookupFailures OBJECT-TYPE
 SYNTAX Counter32
 MAX-ACCESS read-only
 STATUS current
 DESCRIPTION
 "This object counts the number of labeled packets
 that have been received on this 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."
 ::= { mplsInterfacePerfEntry 2 }
mplsInterfacePerfOutLabelsInUse OBJECT-TYPE
 SYNTAX Gauge32
 MAX-ACCESS read-only
 STATUS current
 DESCRIPTION
 "This object counts the number of top-most labels in
 the outgoing label stacks that are in use at this
 point in time on this interface. This object MUST
 count on a per-interface basis regardless of which
 label space the interface participates in."
 ::= { mplsInterfacePerfEntry 3 }
mplsInterfacePerfOutFragmentedPkts OBJECT-TYPE
 SYNTAX Counter32
 MAX-ACCESS read-only
 STATUS current
 DESCRIPTION
 "This object counts the number of outgoing MPLS
 packets that required fragmentation before
 transmission on this interface. This object MUST
 count on a per-interface basis regardless of which
 label space the interface participates in."
::= { mplsInterfacePerfEntry 4 }
-- mplsInterfacePerf Table end.
mplsInSegmentIndexNext OBJECT-TYPE
 SYNTAX MplsIndexNextType
 MAX-ACCESS read-only
 STATUS current
 DESCRIPTION
 "This object contains the next available value to
 be used for mplsInSegmentIndex when creating entries
 in the mplsInSegmentTable. The special value of a
 string containing the single octet 0x00 indicates
 that no new entries can be created in this table.
 Agents not allowing managers to create entries
 in this table MUST set this object to this special
 value."
 ::= { mplsLsrObjects 3 }
-- 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 MPLS
 segments (labels) to an LSR and their associated parameters.
 The 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 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
 column in the appropriate extension table's row.
 In this case an additional table MUST
 be provided and MUST be indexed by at least the indexes
 used by this table. In all other cases when the label is
 represented within the mplsInSegmentLabel object, the
 mplsInSegmentLabelPtr MUST be set to 0.0. Due to the
 fact that MPLS labels may not exceed 24 bits, the
 mplsInSegmentLabelPtr object is only a provision for
 future-proofing the MIB module. Thus, the definition
 of any extension tables is beyond the scope of this
 MIB module."
 ::= { mplsLsrObjects 4 }
mplsInSegmentEntry OBJECT-TYPE
 SYNTAX MplsInSegmentEntry
 MAX-ACCESS not-accessible
 STATUS current
 DESCRIPTION
 "An entry in this table represents one incoming
 segment as is represented in an LSR's LFIB.
 An entry can be created by a network
 administrator or an SNMP agent, or an MPLS signaling
 protocol. The creator of the entry is denoted by
 mplsInSegmentOwner.
 The value of mplsInSegmentRowStatus cannot be active(1)
 unless the ifTable entry corresponding to
 mplsInSegmentInterface exists. An entry in this table
 must match any incoming packets, and indicates an
 instance of mplsXCEntry based on which forwarding
 and/or switching actions are taken."
 INDEX { mplsInSegmentIndex }
 ::= { mplsInSegmentTable 1 }
MplsInSegmentEntry ::= SEQUENCE {
 mplsInSegmentIndex MplsIndexType,
 mplsInSegmentInterface InterfaceIndexOrZero,
 mplsInSegmentLabel MplsLabel,
 mplsInSegmentLabelPtr RowPointer,
 mplsInSegmentNPop Integer32,
 mplsInSegmentAddrFamily AddressFamilyNumbers,
 mplsInSegmentXCIndex MplsIndexType,
 mplsInSegmentOwner MplsOwner ,
 mplsInSegmentTrafficParamPtr RowPointer,
 mplsInSegmentRowStatus RowStatus,
 mplsInSegmentStorageType StorageType
}
mplsInSegmentIndex OBJECT-TYPE
 SYNTAX MplsIndexType
 MAX-ACCESS not-accessible
 STATUS current
 DESCRIPTION
 "The index for this in-segment. The
 string containing the single octet 0x00
 MUST not be used as an index."
 ::= { mplsInSegmentEntry 1 }
mplsInSegmentInterface OBJECT-TYPE
 SYNTAX InterfaceIndexOrZero
 MAX-ACCESS read-create
 STATUS current
 DESCRIPTION
 "This object represents the
 interface index for the incoming MPLS interface. A
 value of zero represents all interfaces participating in
 the per-platform label space. This may only be used
 in cases where the incoming interface and label
 are associated with the same mplsXCEntry. Specifically,
 given a label 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 to unique mplsXCEntries."
 ::= { mplsInSegmentEntry 2 }
mplsInSegmentLabel OBJECT-TYPE
 SYNTAX MplsLabel
 MAX-ACCESS read-create
 STATUS current
 DESCRIPTION
 "If the corresponding instance of mplsInSegmentLabelPtr is
 zeroDotZero then this object MUST contain the incoming label
 associated with this in-segment. If not this object SHOULD
 be zero and MUST be ignored."
 ::= { mplsInSegmentEntry 3 }
mplsInSegmentLabelPtr OBJECT-TYPE
 SYNTAX RowPointer
 MAX-ACCESS read-create
 STATUS current
 DESCRIPTION
 "If the label for this segment cannot be represented
 fully within the mplsInSegmentLabel 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 mplsInSegmentTopLabel
 object SHOULD be set to 0 and ignored. This object MUST
 be set to zeroDotZero otherwise."
 DEFVAL { zeroDotZero }
 ::= { mplsInSegmentEntry 4 }
mplsInSegmentNPop OBJECT-TYPE
 SYNTAX Integer32 (1..2147483647)
 MAX-ACCESS read-create
 STATUS current
 DESCRIPTION
 "The number of labels to pop from the incoming
 packet. Normally only the top label is popped from
 the packet and used for all switching decisions for
 that packet. This is indicated by setting this
 object to the default value of 1. If an LSR supports
 popping of more than one label, this object MUST
 be set to that number. This object cannot be modified
 if mplsInSegmentRowStatus is active(1)."
 DEFVAL { 1 }
 ::= { mplsInSegmentEntry 5 }
mplsInSegmentAddrFamily OBJECT-TYPE
 SYNTAX AddressFamilyNumbers
 MAX-ACCESS read-create
 STATUS current
 DESCRIPTION
 "The IANA address family [IANAFamily] 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 the family type is
 either unknown or undefined; this SHOULD NOT be used
 at an egress LSR. This object cannot be
 modified if mplsInSegmentRowStatus is active(1)."
 REFERENCE
 "Internet Assigned Numbers Authority (IANA), ADDRESS
 FAMILY NUMBERS, (http://www.iana.org/assignments/
 address-family-numbers), for MIB see:
 http://www.iana.org/assignments/
 ianaaddressfamilynumbers-mib
"
 DEFVAL { other }
 ::= { mplsInSegmentEntry 6 }
mplsInSegmentXCIndex OBJECT-TYPE
 SYNTAX MplsIndexType
 MAX-ACCESS read-only
 STATUS current
 DESCRIPTION
 "Index into mplsXCTable which identifies which cross-
 connect entry this segment is part of. The string
 containing the single octet 0x00 indicates that this
 entry is not referred to by any cross-connect entry.
 When a cross-connect entry is created which this
 in-segment is a part of, this object is automatically
 updated to reflect the value of mplsXCIndex of that
 cross-connect entry."
 ::= { mplsInSegmentEntry 7 }
mplsInSegmentOwner OBJECT-TYPE
 SYNTAX MplsOwner
 MAX-ACCESS read-only
 STATUS current
 DESCRIPTION
 "Denotes the entity that created and is responsible
 for managing this segment."
 ::= { mplsInSegmentEntry 8 }
mplsInSegmentTrafficParamPtr OBJECT-TYPE
 SYNTAX RowPointer
 MAX-ACCESS read-create
 STATUS current
 DESCRIPTION
 "This variable represents a pointer to the traffic
 parameter specification for this in-segment. This
 value may point at an entry in the
 mplsTunnelResourceTable in the MPLS-TE-STD-MIB (RFC3812)
 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 of this object,
 two or more segments can indicate resource sharing
 of such things as LSP queue space, etc.
 This object cannot be modified if mplsInSegmentRowStatus
 is active(1). For entries in this table that
 are preserved after a re-boot, the agent MUST ensure
 that their integrity be preserved, or this object should
 be set to 0.0 if it cannot."
 DEFVAL { zeroDotZero }
 ::= { mplsInSegmentEntry 9 }
mplsInSegmentRowStatus OBJECT-TYPE
 SYNTAX RowStatus
 MAX-ACCESS read-create
 STATUS current
 DESCRIPTION
 "This variable is used to create, modify, and/or
 delete a row in this table. When a row in this
 table has a row in the active(1) state, no
 objects in this row can be modified except the
 mplsInSegmentRowStatus and mplsInSegmentStorageType."
 ::= { mplsInSegmentEntry 10 }
mplsInSegmentStorageType OBJECT-TYPE
 SYNTAX StorageType
 MAX-ACCESS read-create
 STATUS current
 DESCRIPTION
 "This variable indicates the storage type for this
 object. 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."
 REFERENCE
 "See RFC2579."
 DEFVAL { volatile }
 ::= { mplsInSegmentEntry 11 }
-- End of mplsInSegmentTable
-- in-segment performance table.
mplsInSegmentPerfTable OBJECT-TYPE
 SYNTAX SEQUENCE OF MplsInSegmentPerfEntry
 MAX-ACCESS not-accessible
 STATUS current
 DESCRIPTION
 "This table contains statistical information for
 incoming MPLS segments to an LSR."
 ::= { mplsLsrObjects 5 }
mplsInSegmentPerfEntry OBJECT-TYPE
 SYNTAX MplsInSegmentPerfEntry
 MAX-ACCESS not-accessible
 STATUS current
 DESCRIPTION
 "An entry in this table contains statistical
 information about one incoming segment which is
 configured in the mplsInSegmentTable. The counters
 in this entry should behave in a manner similar to
 that of the interface.
 mplsInSegmentPerfDiscontinuityTime indicates the
 time of the last discontinuity in all of these
 objects."
 AUGMENTS { mplsInSegmentEntry }
 ::= { mplsInSegmentPerfTable 1 }
MplsInSegmentPerfEntry ::= SEQUENCE {
 mplsInSegmentPerfOctets Counter32,
 mplsInSegmentPerfPackets Counter32,
 mplsInSegmentPerfErrors Counter32,
 mplsInSegmentPerfDiscards Counter32,
 -- high capacity counter
 mplsInSegmentPerfHCOctets Counter64,
 mplsInSegmentPerfDiscontinuityTime TimeStamp
 }
mplsInSegmentPerfOctets 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
 mplsInSegmentPerfHCOctets
 if mplsInSegmentPerfHCOctets is 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."
 ::= { mplsInSegmentPerfEntry 2 }
mplsInSegmentPerfErrors OBJECT-TYPE
 SYNTAX Counter32
 MAX-ACCESS read-only
 STATUS current
 DESCRIPTION
 "The number of errored packets received on this
 segment."
 ::= { mplsInSegmentPerfEntry 3 }
mplsInSegmentPerfDiscards OBJECT-TYPE
 SYNTAX Counter32
 MAX-ACCESS read-only
 STATUS current
 DESCRIPTION
 "The number of labeled 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 a labeled packet could be to free up
 buffer space."
 ::= { mplsInSegmentPerfEntry 4 }
mplsInSegmentPerfHCOctets OBJECT-TYPE
 SYNTAX Counter64
 MAX-ACCESS read-only
 STATUS current
 DESCRIPTION
 "The total number of octets received. This is the 64
 bit version of mplsInSegmentPerfOctets,
 if mplsInSegmentPerfHCOctets is supported according to
 the rules spelled out in RFC2863."
 ::= { mplsInSegmentPerfEntry 5 }
mplsInSegmentPerfDiscontinuityTime OBJECT-TYPE
 SYNTAX TimeStamp
 MAX-ACCESS read-only
 STATUS current
 DESCRIPTION
 "The value of sysUpTime on the most 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 this object contains a zero value."
 ::= { mplsInSegmentPerfEntry 6 }
-- End of mplsInSegmentPerfTable.
-- out-segment table.
mplsOutSegmentIndexNext OBJECT-TYPE
 SYNTAX MplsIndexNextType
 MAX-ACCESS read-only
 STATUS current
 DESCRIPTION
 "This object contains the next available value to
 be used for mplsOutSegmentIndex when creating entries
 in the mplsOutSegmentTable. The special value of a
 string containing the single octet 0x00
 indicates that no new entries can be created in this
 table. Agents not allowing managers to create entries
 in this table MUST set this object to this special
 value."
 ::= { mplsLsrObjects 6 }
mplsOutSegmentTable OBJECT-TYPE
 SYNTAX SEQUENCE OF MplsOutSegmentEntry
 MAX-ACCESS not-accessible
 STATUS current
 DESCRIPTION
 "This table contains a representation of the outgoing
 segments from an LSR."
 ::= { mplsLsrObjects 7 }
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, an SNMP agent, or an MPLS signaling
 protocol. The object mplsOutSegmentOwner indicates
 the creator of this entry. The value of
 mplsOutSegmentRowStatus cannot be active(1) unless
 the ifTable entry corresponding to
 mplsOutSegmentInterface exists.
 Note that the indexing of this table 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 is possible to have an
 equal-cost multi-path situation where two identical
 out-going labels are assigned to the same
 cross-connect (i.e.: they go to two different neighboring
 LSRs); thus, requiring two out-segments. In order to
 preserve the uniqueness of the references
 by the mplsXCEntry, an arbitrary integer must be used as
 the index for this table."
 INDEX { mplsOutSegmentIndex }
 ::= { mplsOutSegmentTable 1 }
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
 SYNTAX MplsIndexType
 MAX-ACCESS not-accessible
 STATUS current
 DESCRIPTION
 "This value contains a unique index for this row.
 While a value of a string containing the single
 octet 0x00 is not valid as an index for entries
 in this table, it can be supplied as a valid value
 to index the mplsXCTable to represent entries for
 which no out-segment has been configured or
 exists."
 ::= { mplsOutSegmentEntry 1 }
mplsOutSegmentInterface OBJECT-TYPE
 SYNTAX InterfaceIndexOrZero
 MAX-ACCESS read-create
 STATUS current
 DESCRIPTION
 "This value must contain the interface index of the
 outgoing interface. This object cannot be modified
 if mplsOutSegmentRowStatus is active(1). The
 mplsOutSegmentRowStatus cannot be set to active(1)
 until this object is set to a value corresponding to
 a valid ifEntry."
 ::= { mplsOutSegmentEntry 2 }
mplsOutSegmentPushTopLabel OBJECT-TYPE
 SYNTAX TruthValue
 MAX-ACCESS read-create
 STATUS current
 DESCRIPTION
 "This value indicates whether or not a top label
 should be pushed onto the outgoing packet's label
 stack. The value of this 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 this 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 }
 ::= { mplsOutSegmentEntry 3 }
mplsOutSegmentTopLabel OBJECT-TYPE
 SYNTAX MplsLabel
 MAX-ACCESS read-create
 STATUS current
 DESCRIPTION
 "If mplsOutSegmentPushTopLabel is true then this
 represents the label that should be pushed onto the
 top of the outgoing packet's label stack. Otherwise
 this 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 }
 ::= { mplsOutSegmentEntry 4 }
mplsOutSegmentTopLabelPtr OBJECT-TYPE
 SYNTAX RowPointer
 MAX-ACCESS read-create
 STATUS current
 DESCRIPTION
 "If the label for this segment cannot be represented
 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 to 0 and ignored. This object
 MUST be set to zeroDotZero otherwise."
 DEFVAL { zeroDotZero }
 ::= { mplsOutSegmentEntry 5 }
mplsOutSegmentNextHopAddrType OBJECT-TYPE
 SYNTAX InetAddressType
 MAX-ACCESS read-create
 STATUS current
 DESCRIPTION
 "Indicates the next hop Internet address type.
 Only values unknown(0), ipv4(1) or ipv6(2)
 have to be supported.
 A value of unknown(0) is allowed only when
 the outgoing interface is of 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."
 ::= { mplsOutSegmentEntry 6 }
mplsOutSegmentNextHopAddr OBJECT-TYPE
 SYNTAX InetAddress
 MAX-ACCESS read-create
 STATUS current
 DESCRIPTION
 "The internet address of the next hop. The type of
 this address is determined by the value of the
 mplslOutSegmentNextHopAddrType object.
 This object cannot be modified if
 mplsOutSegmentRowStatus is active(1)."
 ::= { mplsOutSegmentEntry 7 }
mplsOutSegmentXCIndex OBJECT-TYPE
 SYNTAX MplsIndexType
 MAX-ACCESS read-only
 STATUS current
 DESCRIPTION
 "Index into mplsXCTable which identifies which cross-
 connect entry this segment is part of. A value of
 the string containing the single octet 0x00
 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 object MUST be updated by the agent to reflect
 the value of mplsXCIndex of that cross-connect
 entry."
 ::= { mplsOutSegmentEntry 8 }
mplsOutSegmentOwner OBJECT-TYPE
 SYNTAX MplsOwner
 MAX-ACCESS read-only
 STATUS current
 DESCRIPTION
 "Denotes the entity which created and is responsible
 for managing this segment."
 ::= { mplsOutSegmentEntry 9 }
mplsOutSegmentTrafficParamPtr OBJECT-TYPE
 SYNTAX RowPointer
 MAX-ACCESS read-create
 STATUS current
 DESCRIPTION
 "This variable represents a pointer to the traffic
 parameter specification for this out-segment. This
 value may point at an entry in the
 MplsTunnelResourceEntry in the MPLS-TE-STD-MIB (RFC3812)
 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 of this object,
 two or more segments can indicate resource sharing
 of such things as LSP queue space, etc.
 This object cannot be modified if
 mplsOutSegmentRowStatus is active(1).
 For entries in this table that
 are preserved after a re-boot, the agent MUST ensure
 that their integrity be preserved, or this object should
 be set to 0.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 the active(1)
 state, no objects in this row can be modified
 except the mplsOutSegmentRowStatus or
 mplsOutSegmentStorageType."
 ::= { mplsOutSegmentEntry 11 }
mplsOutSegmentStorageType OBJECT-TYPE
 SYNTAX StorageType
 MAX-ACCESS read-create
 STATUS current
 DESCRIPTION
 "This variable indicates the storage type for this
 object. 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."
 DEFVAL { volatile }
 ::= { 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
 outgoing segments from an LSR. The counters in this
 entry should behave in a manner similar to that of
 the interface."
 ::= { mplsLsrObjects 8 }
mplsOutSegmentPerfEntry OBJECT-TYPE
 SYNTAX MplsOutSegmentPerfEntry
 MAX-ACCESS not-accessible
 STATUS current
 DESCRIPTION
 "An entry in this table contains statistical
 information about one outgoing segment configured in
 mplsOutSegmentTable. The object
 mplsOutSegmentPerfDiscontinuityTime indicates the
 time of the last discontinuity in these objects. "
 AUGMENTS { mplsOutSegmentEntry }
 ::= { mplsOutSegmentPerfTable 1 }
MplsOutSegmentPerfEntry ::= SEQUENCE {
 mplsOutSegmentPerfOctets Counter32,
 mplsOutSegmentPerfPackets Counter32,
 mplsOutSegmentPerfErrors Counter32,
 mplsOutSegmentPerfDiscards Counter32,
 -- HC counter
 mplsOutSegmentPerfHCOctets Counter64,
 mplsOutSegmentPerfDiscontinuityTime TimeStamp
 }
mplsOutSegmentPerfOctets OBJECT-TYPE
 SYNTAX Counter32
 MAX-ACCESS read-only
 STATUS current
 DESCRIPTION
 "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."
 ::= { mplsOutSegmentPerfEntry 1 }
mplsOutSegmentPerfPackets OBJECT-TYPE
 SYNTAX Counter32
 MAX-ACCESS read-only
 STATUS current
 DESCRIPTION
 "This value contains the total number of packets sent
 on this segment."
 ::= { mplsOutSegmentPerfEntry 2 }
mplsOutSegmentPerfErrors OBJECT-TYPE
 SYNTAX Counter32
 MAX-ACCESS read-only
 STATUS current
 DESCRIPTION
 "Number of packets that could not be sent due to
 errors on this segment."
 ::= { mplsOutSegmentPerfEntry 3 }
mplsOutSegmentPerfDiscards OBJECT-TYPE
 SYNTAX Counter32
 MAX-ACCESS read-only
 STATUS current
 DESCRIPTION
 "The number of labeled packets attempted to be transmitted
 on this out-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 a labeled packet could be to free up
 buffer space."
 ::= { mplsOutSegmentPerfEntry 4 }
mplsOutSegmentPerfHCOctets OBJECT-TYPE
 SYNTAX Counter64
 MAX-ACCESS read-only
 STATUS current
 DESCRIPTION
 "Total number of octets sent. This is the 64 bit
 version of mplsOutSegmentPerfOctets,
 if mplsOutSegmentPerfHCOctets is supported according to
 the rules spelled out in RFC2863."
 ::= { mplsOutSegmentPerfEntry 5 }
mplsOutSegmentPerfDiscontinuityTime OBJECT-TYPE
 SYNTAX TimeStamp
 MAX-ACCESS read-only
 STATUS current
 DESCRIPTION
 "The value of sysUpTime on the most 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 this object contains a zero value."
 ::= { mplsOutSegmentPerfEntry 6 }
-- End of mplsOutSegmentPerfTable.
-- Cross-connect table.
mplsXCIndexNext OBJECT-TYPE
 SYNTAX MplsIndexNextType
 MAX-ACCESS read-only
 STATUS current
 DESCRIPTION
 "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 this value
 to the zero length string."
 ::= { mplsLsrObjects 9 }
mplsXCTable OBJECT-TYPE
 SYNTAX SEQUENCE OF MplsXCEntry
 MAX-ACCESS not-accessible
 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 the
 label stack information for a cross-connect LSR and
 is referred to from mplsXCTable."
 ::= { mplsLsrObjects 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
 - in-segment index, mplsXCInSegmentIndex
 - out-segment index, mplsXCOutSegmentIndex
 LSPs originating at this LSR:
 These are represented by using the special
 of value of mplsXCInSegmentIndex set to the
 string containing a single octet 0x00. In
 this case the mplsXCOutSegmentIndex
 MUST not be the 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 the string
 containing a single octet 0x00 can be distinguished
 from LSPs originating at this 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 { mplsXCIndex, mplsXCInSegmentIndex,
 mplsXCOutSegmentIndex }
 ::= { mplsXCTable 1 }
MplsXCEntry ::= SEQUENCE {
 mplsXCIndex MplsIndexType,
 mplsXCInSegmentIndex MplsIndexType,
 mplsXCOutSegmentIndex MplsIndexType,
 mplsXCLspId MplsLSPID,
 mplsXCLabelStackIndex MplsIndexType,
 mplsXCOwner MplsOwner ,
 mplsXCRowStatus RowStatus,
 mplsXCStorageType StorageType,
 mplsXCAdminStatus INTEGER,
 mplsXCOperStatus INTEGER
 }
mplsXCIndex OBJECT-TYPE
 SYNTAX MplsIndexType
 MAX-ACCESS not-accessible
 STATUS current
 DESCRIPTION
 "Primary index for the conceptual row identifying a
 group of cross-connect segments. The string
 containing a single octet 0x00 is an invalid index."
 ::= { mplsXCEntry 1 }
mplsXCInSegmentIndex OBJECT-TYPE
 SYNTAX MplsIndexType
 MAX-ACCESS not-accessible
 STATUS current
 DESCRIPTION
 "Incoming label index.
 If this object is set to the string containing
 a single octet 0x00, this indicates a special
 case outlined in the table's description above.
 In this case no corresponding mplsInSegmentEntry
 shall exist."
 ::= { mplsXCEntry 2 }
mplsXCOutSegmentIndex OBJECT-TYPE
 SYNTAX MplsIndexType
 MAX-ACCESS not-accessible
 STATUS current
 DESCRIPTION
 "Index of out-segment for LSPs not terminating on
 this LSR if not set to the string containing the
 single octet 0x00. If the segment identified by this
 entry is terminating, then this object MUST be set to
 the string containing a single octet 0x00 to indicate
 that no corresponding mplsOutSegmentEntry shall
 exist."
 ::= { mplsXCEntry 3 }
mplsXCLspId 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."
 ::= { mplsXCEntry 4 }
mplsXCLabelStackIndex OBJECT-TYPE
 SYNTAX MplsIndexType
 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 identified by the out-
 segment ensures that all the components of a
 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)."
 ::= { mplsXCEntry 5 }
mplsXCOwner OBJECT-TYPE
 SYNTAX MplsOwner
 MAX-ACCESS read-only
 STATUS current
 DESCRIPTION
 "Denotes the entity that created and is responsible
 for managing this cross-connect."
 ::= { mplsXCEntry 6 }
mplsXCRowStatus 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 the active(1)
 state, no objects in this row except this object
 and the mplsXCStorageType can be modified. "
 ::= { mplsXCEntry 7 }
mplsXCStorageType OBJECT-TYPE
 SYNTAX StorageType
 MAX-ACCESS read-create
 STATUS current
 DESCRIPTION
 "This variable indicates the storage type for this
 object. 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."
 ::= { mplsXCEntry 10 }
-- End of mplsXCTable
-- Label stack table.
mplsMaxLabelStackDepth OBJECT-TYPE
 SYNTAX Unsigned32 (1..2147483647)
 MAX-ACCESS read-only
 STATUS current
 DESCRIPTION
 "The maximum stack depth supported by this LSR."
::= { mplsLsrObjects 11 }
mplsLabelStackIndexNext OBJECT-TYPE
 SYNTAX MplsIndexNextType
 MAX-ACCESS read-only
 STATUS current
 DESCRIPTION
 "This object contains the next available value to
 be used for mplsLabelStackIndex when creating entries
 in the mplsLabelStackTable. The special string
 containing the single octet 0x00
 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 this value
 to the string containing the single octet 0x00."
::= { mplsLsrObjects 12 }
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."
 ::= { mplsLsrObjects 13 }
mplsLabelStackEntry OBJECT-TYPE
 SYNTAX MplsLabelStackEntry
 MAX-ACCESS not-accessible
 STATUS current
 DESCRIPTION
 "An entry in this table represents one label which is
 to be pushed onto an outgoing packet, beneath the
 top label. An entry can be created by a network
 administrator or by an SNMP agent as instructed by
 an MPLS signaling protocol."
 INDEX { mplsLabelStackIndex, 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."
 ::= { 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. Note that an 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."
 ::= { mplsLabelStackEntry 2 }
mplsLabelStackLabel OBJECT-TYPE
 SYNTAX MplsLabel
 MAX-ACCESS read-create
 STATUS current
 DESCRIPTION
 "The label to pushed."
 ::= { mplsLabelStackEntry 3 }
mplsLabelStackLabelPtr OBJECT-TYPE
 SYNTAX RowPointer
 MAX-ACCESS read-create
 STATUS current
 DESCRIPTION
 "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 in 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 }
 ::= { mplsLabelStackEntry 4 }
mplsLabelStackRowStatus 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 the active(1)
 state, no objects in this row except this object
 and the mplsLabelStackStorageType can be modified."
 ::= { mplsLabelStackEntry 5 }
mplsLabelStackStorageType OBJECT-TYPE
 SYNTAX StorageType
 MAX-ACCESS read-create
 STATUS current
 DESCRIPTION
 "This variable indicates the storage type for this
 object. This object cannot be modified if
 mplsLabelStackRowStatus is active(1).
 No objects are required to be writable for
 rows in this table with this object set to
 permanent(4).
 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 }
 ::= { mplsLabelStackEntry 6 }
-- End of mplsLabelStackTable
-- Begin mplsInSegmentMapTable
mplsInSegmentMapTable OBJECT-TYPE
 SYNTAX SEQUENCE OF MplsInSegmentMapEntry
 MAX-ACCESS not-accessible
 STATUS current
 DESCRIPTION
 "This table specifies the mapping from the
 mplsInSegmentIndex to the corresponding
 mplsInSegmentInterface and mplsInSegmentLabel
 objects. The purpose of this table is to
 provide the manager with an alternative
 means by which to locate in-segments."
 ::= { mplsLsrObjects 14 }
mplsInSegmentMapEntry OBJECT-TYPE
 SYNTAX MplsInSegmentMapEntry
 MAX-ACCESS not-accessible
 STATUS current
 DESCRIPTION
 "An entry in this table represents one interface
 and incoming label pair.
 In cases where the label cannot fit into the
 mplsInSegmentLabel object, the mplsInSegmentLabelPtr
 will indicate this by being set to the first accessible
 column in the appropriate extension table's row,
 and the mplsInSegmentLabel SHOULD be set to 0.
 In all other cases when the label is
 represented within the mplsInSegmentLabel object, the
 mplsInSegmentLabelPtr MUST be 0.0.
 Implementors need to be aware that if the value of
 the mplsInSegmentMapLabelPtrIndex (an OID) has more
 that 111 sub-identifiers, then OIDs of column
 instances in this table will have more than 128
 sub-identifiers and cannot be accessed using SNMPv1,
 SNMPv2c, or SNMPv3."
 INDEX { mplsInSegmentMapInterface,
 mplsInSegmentMapLabel,
 mplsInSegmentMapLabelPtrIndex }
 ::= { mplsInSegmentMapTable 1 }
MplsInSegmentMapEntry ::= SEQUENCE {
 mplsInSegmentMapInterface InterfaceIndexOrZero,
 mplsInSegmentMapLabel MplsLabel,
 mplsInSegmentMapLabelPtrIndex RowPointer,
 mplsInSegmentMapIndex MplsIndexType
 }
mplsInSegmentMapInterface OBJECT-TYPE
 SYNTAX InterfaceIndexOrZero
 MAX-ACCESS not-accessible
 STATUS current
 DESCRIPTION
 "This index contains the same value as the
 mplsInSegmentIndex in the mplsInSegmentTable."
 ::= { mplsInSegmentMapEntry 1 }
mplsInSegmentMapLabel OBJECT-TYPE
 SYNTAX MplsLabel
 MAX-ACCESS not-accessible
 STATUS current
 DESCRIPTION
 "This index contains the same value as the
 mplsInSegmentLabel in the mplsInSegmentTable."
 ::= { mplsInSegmentMapEntry 2 }
mplsInSegmentMapLabelPtrIndex OBJECT-TYPE
 SYNTAX RowPointer
 MAX-ACCESS not-accessible
 STATUS current
 DESCRIPTION
 "This index contains the same value as the
 mplsInSegmentLabelPtr.
 If the label for the InSegment cannot be represented
 fully within the mplsInSegmentLabel object,
 this index MUST point to the first accessible
 column of a conceptual row in an external table containing
 the label. In this case, the mplsInSegmentTopLabel
 object SHOULD be set to 0 and ignored. This object MUST
 be set to zeroDotZero otherwise."
 ::= { mplsInSegmentMapEntry 3 }
mplsInSegmentMapIndex OBJECT-TYPE
 SYNTAX MplsIndexType
 MAX-ACCESS read-only
 STATUS current
 DESCRIPTION
 "The mplsInSegmentIndex that corresponds
 to the mplsInSegmentInterface and
 mplsInSegmentLabel, or the mplsInSegmentInterface
 and mplsInSegmentLabelPtr, if applicable.
 The string containing the single octet 0x00
 MUST not be returned."
 ::= { mplsInSegmentMapEntry 4 }
-- End mplsInSegmentMapTable
-- 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 module in this document."
 DEFVAL { false }
 ::= { mplsLsrObjects 15 }
-- 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 some other state. The included values of
 mplsXCOperStatus MUST both be set equal to this
 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 notification is generated when the
 mplsXCOperStatus object for one or more contiguous
 entries in mplsXCTable are about to enter the
 down(2) state from some other state. The included values
 of mplsXCOperStatus MUST both be set equal to this
 down(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 be identical."
 ::= { mplsLsrNotifications 2 }
-- End of notifications.
-- Module compliance.
mplsLsrGroups
 OBJECT IDENTIFIER ::= { mplsLsrConformance 1 }
mplsLsrCompliances
 OBJECT IDENTIFIER ::= { mplsLsrConformance 2 }
-- Compliance requirement for fully compliant implementations.
mplsLsrModuleFullCompliance MODULE-COMPLIANCE
 STATUS current
 DESCRIPTION "Compliance statement for agents that provide full
 support for MPLS-LSR-STD-MIB. Such devices can
 then be monitored and also be configured using
 this MIB module."
 MODULE IF-MIB -- The Interfaces Group MIB, RFC 2863.
 MANDATORY-GROUPS {
 ifGeneralInformationGroup,
 ifCounterDiscontinuityGroup
 }
 MODULE -- This module.
 MANDATORY-GROUPS {
 mplsInterfaceGroup,
 mplsInSegmentGroup,
 mplsOutSegmentGroup,
 mplsXCGroup,
 mplsPerfGroup
 }
 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 too quickly based on the criteria specified in
 RFC 2863 for high-capacity counters.
 "
 GROUP mplsHCOutSegmentPerfGroup
 DESCRIPTION "This group is mandatory for those out-segment entries
 for which the object mplsOutSegmentPerfOctets wraps
 around too quickly based on the criteria specified in
 RFC 2863 for high-capacity counters.
 "
 GROUP mplsLsrNotificationGroup
 DESCRIPTION "This group is only mandatory for those implementations
 which can efficiently implement the notifications
 contained in this group."
 OBJECT mplsInSegmentRowStatus
 SYNTAX RowStatus { active(1), notInService(2) }
 WRITE-SYNTAX RowStatus { active(1), notInService(2),
 createAndGo(4), destroy(6)
 }
 DESCRIPTION "Support for createAndWait and notReady is
 not required."
 OBJECT mplsOutSegmentNextHopAddrType
 SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) }
 DESCRIPTION "Only unknown(0), ipv4(1) and ipv6(2) support
 is required."
 OBJECT mplsOutSegmentNextHopAddr
 SYNTAX InetAddress (SIZE(0|4|16))
 DESCRIPTION "An implementation is only required to support
 unknown(0), ipv4(1) and ipv6(2) sizes."
 OBJECT mplsOutSegmentRowStatus
 SYNTAX RowStatus { active(1), notInService(2) }
 WRITE-SYNTAX RowStatus { active(1), notInService(2),
 createAndGo(4), destroy(6)
 }
 DESCRIPTION "Support for createAndWait and notReady is not
 required."
 OBJECT mplsLabelStackRowStatus
 SYNTAX RowStatus { active(1), notInService(2) }
 WRITE-SYNTAX RowStatus { active(1), notInService(2),
 createAndGo(4), destroy(6)
 }
 DESCRIPTION "Support for createAndWait and notReady is not
 required."
 OBJECT mplsXCRowStatus
 SYNTAX RowStatus { active(1), notInService(2) }
 WRITE-SYNTAX RowStatus { active(1), notInService(2),
 createAndGo(4), destroy(6)
 }
 DESCRIPTION "Support for createAndWait and notReady is not
 required."
 ::= { mplsLsrCompliances 1 }
-- Compliance requirement for read-only implementations.
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 module.
 "
 MODULE IF-MIB -- The interfaces Group MIB, RFC 2863
 MANDATORY-GROUPS {
 ifGeneralInformationGroup,
 ifCounterDiscontinuityGroup
 }
 MODULE -- This module
 MANDATORY-GROUPS {
 mplsInterfaceGroup,
 mplsInSegmentGroup,
 mplsOutSegmentGroup,
 mplsXCGroup,
 mplsPerfGroup
 }
 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 too quickly based on the criteria specified in
 RFC 2863 for high-capacity counters.
 "
 GROUP mplsHCOutSegmentPerfGroup
 DESCRIPTION "This group is mandatory for those out-segment entries
 for which the object mplsOutSegmentPerfOctets wraps
 around too quickly based on the criteria specified in
 RFC 2863 for high-capacity counters.
 "
 GROUP mplsLsrNotificationGroup
 DESCRIPTION "This group is only mandatory for those implementations
 which can efficiently implement the notifications
 contained in this group.
 "
 -- mplsInSegmentTable
 OBJECT mplsInSegmentLabel
 MIN-ACCESS read-only
 DESCRIPTION "Write access is not required."
 OBJECT mplsInSegmentLabelPtr
 MIN-ACCESS read-only
 DESCRIPTION "Write access is not required."
 OBJECT mplsInSegmentNPop
 SYNTAX Integer32 (1..1)
 MIN-ACCESS read-only
 DESCRIPTION "Write access is not required. This object
 SHOULD be set to 1 if it is read-only.
 "
 OBJECT mplsInSegmentAddrFamily
 MIN-ACCESS read-only
 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.
 "
 OBJECT mplsInSegmentRowStatus
 SYNTAX RowStatus { active(1) }
 MIN-ACCESS read-only
 DESCRIPTION "Write access is not required."
 OBJECT mplsInSegmentStorageType
 MIN-ACCESS read-only
 DESCRIPTION "Write access is not required."
 -- mplsOutSegmentTable
 OBJECT mplsOutSegmentInterface
 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."
 OBJECT mplsOutSegmentTopLabelPtr
 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 "Write access is not required. Only unknown(0),
 ipv4(1) and ipv6(2) support is required.
 "
 OBJECT mplsOutSegmentNextHopAddr
 SYNTAX InetAddress (SIZE(0|4|16))
 MIN-ACCESS read-only
 DESCRIPTION "Write access is not required. An implementation is
 only required to support unknown(0), ipv4(1) and
 ipv6(2) sizes."
 OBJECT mplsOutSegmentRowStatus
 SYNTAX RowStatus { active(1) }
 MIN-ACCESS read-only
 DESCRIPTION "Write access is not required."
 OBJECT mplsOutSegmentStorageType
 MIN-ACCESS read-only
 DESCRIPTION "Write access is not required."
 -- mplsXCTable
 OBJECT mplsXCLabelStackIndex
 MIN-ACCESS read-only
 DESCRIPTION "Write access is not required."
 OBJECT mplsXCAdminStatus
 MIN-ACCESS read-only
 DESCRIPTION "Read only support is required."
 OBJECT mplsXCRowStatus
 SYNTAX RowStatus { active(1) }
 MIN-ACCESS read-only
 DESCRIPTION "Write access is not required."
 OBJECT mplsXCStorageType
 MIN-ACCESS read-only
 DESCRIPTION "Write access is not required."
 OBJECT mplsLabelStackLabel
 MIN-ACCESS read-only
 DESCRIPTION "Write access is not required."
 OBJECT mplsLabelStackLabelPtr
 MIN-ACCESS read-only
 DESCRIPTION "Write access is not required."
 OBJECT mplsLabelStackRowStatus
 MIN-ACCESS read-only
 DESCRIPTION "Write access is not required."
 OBJECT mplsLabelStackStorageType
 MIN-ACCESS read-only
 DESCRIPTION "Write access is not required."
 ::= { mplsLsrCompliances 2 }
-- Units of conformance.
mplsInterfaceGroup OBJECT-GROUP
 OBJECTS {
 mplsInterfaceLabelMinIn,
 mplsInterfaceLabelMaxIn,
 mplsInterfaceLabelMinOut,
 mplsInterfaceLabelMaxOut,
 mplsInterfaceTotalBandwidth,
 mplsInterfaceAvailableBandwidth,
 mplsInterfaceLabelParticipationType
 }
 STATUS current
 DESCRIPTION
 "Collection of objects needed for MPLS interface
 and interface performance information."
 ::= { mplsLsrGroups 1 }
mplsInSegmentGroup OBJECT-GROUP
 OBJECTS {
 mplsInSegmentIndexNext,
 mplsInSegmentInterface,
 mplsInSegmentLabel,
 mplsInSegmentLabelPtr,
 mplsInSegmentNPop,
 mplsInSegmentAddrFamily,
 mplsInSegmentXCIndex,
 mplsInSegmentOwner,
 mplsInSegmentRowStatus,
 mplsInSegmentStorageType,
 mplsInSegmentTrafficParamPtr,
 mplsInSegmentMapIndex
 }
 STATUS current
 DESCRIPTION
 "Collection of objects needed to implement an in-
 segment."
 ::= { mplsLsrGroups 2 }
mplsOutSegmentGroup OBJECT-GROUP
 OBJECTS {
 mplsOutSegmentIndexNext,
 mplsOutSegmentInterface,
 mplsOutSegmentPushTopLabel,
 mplsOutSegmentTopLabel,
 mplsOutSegmentTopLabelPtr,
 mplsOutSegmentNextHopAddrType,
 mplsOutSegmentNextHopAddr,
 mplsOutSegmentXCIndex,
 mplsOutSegmentOwner,
 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
 }
 STATUS current
 DESCRIPTION
 "Collection of objects needed to implement a
 cross-connect entry."
 ::= { mplsLsrGroups 4 }
mplsPerfGroup OBJECT-GROUP
 OBJECTS {
 mplsInSegmentPerfOctets,
 mplsInSegmentPerfPackets,
 mplsInSegmentPerfErrors,
 mplsInSegmentPerfDiscards,
 mplsInSegmentPerfDiscontinuityTime,
 mplsOutSegmentPerfOctets,
 mplsOutSegmentPerfPackets,
 mplsOutSegmentPerfDiscards,
 mplsOutSegmentPerfDiscontinuityTime,
 mplsInterfacePerfInLabelsInUse,
 mplsInterfacePerfInLabelLookupFailures,
 mplsInterfacePerfOutFragmentedPkts,
 mplsInterfacePerfOutLabelsInUse
 }
 STATUS current
 DESCRIPTION
 "Collection of objects providing performance
 information
 about an LSR."
 ::= { mplsLsrGroups 5 }
mplsHCInSegmentPerfGroup OBJECT-GROUP
 OBJECTS { mplsInSegmentPerfHCOctets }
 STATUS current
 DESCRIPTION
 "Object(s) providing performance information
 specific to out-segments for which the object
 mplsInterfaceInOctets wraps around too quickly."
 ::= { mplsLsrGroups 6 }
mplsHCOutSegmentPerfGroup OBJECT-GROUP
 OBJECTS { mplsOutSegmentPerfHCOctets }
 STATUS current
 DESCRIPTION
 "Object(s) providing performance information
 specific to out-segments for which the object
 mplsInterfaceOutOctets wraps around too
 quickly."
 ::= { mplsLsrGroups 7 }
mplsLabelStackGroup OBJECT-GROUP
 OBJECTS {
 mplsLabelStackLabel,
 mplsLabelStackLabelPtr,
 mplsLabelStackRowStatus,
 mplsLabelStackStorageType,
 mplsMaxLabelStackDepth,
 mplsLabelStackIndexNext
 }
 STATUS current
 DESCRIPTION
 "Objects needed to support label stacking."
 ::= { mplsLsrGroups 8 }
mplsLsrNotificationGroup NOTIFICATION-GROUP
 NOTIFICATIONS {
 mplsXCUp,
 mplsXCDown
 }
 STATUS current
 DESCRIPTION
 "Set of notifications implemented in this
 module."
 ::= { mplsLsrGroups 9 }
END
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.
 There are a number of management objects defined in this MIB module
 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.
 SNMP versions prior to SNMPv3 did not include adequate security.
 Even if the network itself is secure "for example by using 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" the objects
 in this MIB module.
 It is RECOMMENDED that implementers consider the security features as
 provided by the SNMPv3 framework "see [RFC3410], section 8",
 including full support for the SNMPv3 cryptographic mechanisms "for
 authentication and privacy".
 Further, deployment of SNMP versions prior to SNMPv3 is NOT
 RECOMMENDED. Instead, it is RECOMMENDED to deploy SNMPv3 and to
 enable cryptographic security. It is then a customer/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" that have legitimate
 rights to indeed GET or SET "change/create/delete" them.
12. Acknowledgments
 We wish to thank Ron Bonica, Adrian Farrel, Eric Gray, Tim Mancour,
 Keith McCloghrie, Bala Rajagopalan, Dan Tappan, Vasanthi Thirumalai,
 Joseph Benoit, Mike Piecuch, Joan Cucchiara. A special thanks to Bert
 Wijnen and Mike MacFaden for really getting the MIB module into
 shape.
13. IANA Considerations
 As described in [MPLSMGMT] and as requested in the MPLS-TC-STD-MIB
 [RFC3811], MPLS related standards track MIB modules should be rooted
 under the mplsStdMIB subtree. There are 4 MPLS MIB Modules contained
 in this document, each of the following "IANA Considerations"
 subsections requests IANA for a new assignment under the mplsStdMIB
 subtree. New assignments can only be made via a Standards Action as
 specified in [RFC2434].
13.1. IANA Considerations for MPLS-LSR-STD-MIB
 The IANA has assigned { mplsStdMIB 2 } to the MPLS-LSR-STD-MIB module
 specified in this document.
14. References
14.1. Normative References
 [RFC2119] Bradner, S., "Key Words for use in RFCs to Indicate
 Requirement Levels", RFC 2119, BCP 14, March 1997.
 [RFC2515] Tesink, K., Ed., "Definitions of Managed Objects for
 ATM Management", RFC 2515, February 1999.
 [RFC2578] McCloghrie, K., Perkins, D., and J. Schoenwaelder,
 "Structure of Management Information Version 2
 (SMIv2)", STD 58, RFC 2578, April 1999.
 [RFC2579] McCloghrie, K., Perkins, D., and J. Schoenwaelder,
 "Textual Conventions for SMIv2", STD 58, RFC 2579,
 April 1999.
 [RFC2580] McCloghrie, K., Perkins, D., and J. Schoenwaelder,
 "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., and J.
 Schoenwaelder, "Textual Conventions for Internet
 Network Addresses", RFC 3291, May 2002.
 [RFC3411] Harrington, D., Presuhn, R., and B. Wijnen, "An
 Architecture for Describing Simple Network Management
 Protocol (SNMP) Management Frameworks", STD 62, RFC
 3411, December 2002.
 [RFC3811] Nadeau, T. and J. Cucchiara, Eds., "Definition of
 Textual Conventions (TCs) for Multiprotocol Label
 Switching (MPLS) Management", RFC 3811, June 2004.
 [RFC3812] Srinivasan, C., Viswanathan, A., and T. Nadeau,
 "Multiprotocol Label Switching (MPLS) Traffic
 Engineering (TE) Management Information Base (MIB)",
 RFC 3812, June 2004.
 [IANAFamiy] Internet Assigned Numbers Authority (IANA), ADDRESS
 FAMILY NUMBERS,
 (http://www.iana.org/assignments/address-family-
 numbers), for MIB see:
 http://www.iana.org/assignments/
 ianaaddressfamilynumbers-mib
14.2. Informative References
 [MPLSMGMT] Nadeau, T., Srinivasan, C., and A. Farrel,
 "Multiprotocol Label Switching (MPLS) Management
 Overview", Work in Progress, September 2003.
 [RFC2434] Narten, T. and H. Alvestrand, "Guidelines for Writing
 an IANA Considerations Section in RFCs", BCP 26, RFC
 2434, October 1998.
 [RFC3413] Levi, D., Meyer, P. and B. Stewart, "Simple Network
 Management Protocol (SNMP) Applications", STD 62, RFC
 3413, December 2002.
 [RFC3410] Case, J., Mundy, R., Partain, D. and B. Stewart,
 "Introduction and Applicability Statements for
 Internet-Standard Management Framework", RFC 3410,
 December 2002.
15. Authors' Addresses
 Cheenu Srinivasan
 Bloomberg L.P.
 499 Park Ave., New York, NY 10022
 Phone: +1-212-893-3682
 EMail: cheenu@bloomberg.net
 Arun Viswanathan
 Force10 Networks, Inc.
 1440 McCarthy Blvd
 Milpitas, CA 95035
 Phone: +1-408-571-3516
 EMail: arunv@force10networks.com
 Thomas D. Nadeau
 Cisco Systems, Inc.
 300 Beaver Brook Road
 Boxboro, MA 01719
 Phone: +1-978-936-1470
 EMail: tnadeau@cisco.com
16. Full Copyright Statement
 Copyright (C) The Internet Society (2004). This document is subject
 to the rights, licenses and restrictions contained in BCP 78, and
 except as set forth therein, the authors retain all their rights.
 This document and the information contained herein are provided on an
 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
 ENGINEERING TASK FORCE DISCLAIM 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.
Intellectual Property
 The IETF takes no position regarding the validity or scope of any
 Intellectual Property Rights 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; nor does it represent that it has
 made any independent effort to identify any such rights. Information
 on the procedures with respect to rights in RFC documents can be
 found in BCP 78 and BCP 79.
 Copies of IPR disclosures made to the IETF Secretariat 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 implementers or users of this
 specification can be obtained from the IETF on-line IPR repository at
 http://www.ietf.org/ipr.
 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 implement
 this standard. Please address the information to the IETF at ietf-
 ipr@ietf.org.
Acknowledgement
 Funding for the RFC Editor function is currently provided by the
 Internet Society.

User Contributions:

Comment about this RFC, ask questions, or add new information about this topic:




AltStyle によって変換されたページ (->オリジナル) /