draft-ietf-mpls-lsr-mib-09.txt   draft-ietf-mpls-lsr-mib-10.txt 
Network Working Group Cheenu Srinivasan Network Working Group Cheenu Srinivasan
Internet Draft Parama Networks, Inc. Internet Draft Parama Networks, Inc.
Expires: April 2003 Expires: December 2003
Arun Viswanathan Arun Viswanathan
Force10 Networks, Inc. Force10 Networks, Inc.
Thomas D. Nadeau Thomas D. Nadeau
Cisco Systems, Inc. Cisco Systems, Inc.
October 2002 June 2003
Multiprotocol Label Switching (MPLS) Label Switching Router (LSR) Multiprotocol Label Switching (MPLS) Label Switching
Management Information Base Router (LSR) Management Information Base
draft-ietf-mpls-lsr-mib-09.txt draft-ietf-mpls-lsr-mib-10.txt
Status of this Memo Status of this Memo
This document is an Internet-Draft and is in full conformance with This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC 2026. all provisions of Section 10 of RFC 2026.
Internet-Drafts are working documents of the In ternet Engineering Internet-Drafts are working documents of the In ternet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet- other groups may also distribute working documents as Internet-
Drafts. Drafts.
skipping to change at page 1, line 43 skipping to change at page 1, line 43
in progress." in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
Abstract Abstract
This memo defines a portion of the Management Information Base This memo defines an portion of the Management
(MIB) for use with network management protocols in the Internet Information Base (MIB) for use with network management protocols
community. In particular, it describes managed objects for in the Internet community. In particular, it describes managed
modeling a Multiprotocol Label Switching (MPLS) Label Switching objects to configure and/or monitor a Multi-Protocol Label
Router (LSR). Switching (MPLS) Label Switching Router (LSR).
Table of Contents Table of Contents
1. Introduction 2 Abstract .................................................1
2. Terminology 3 1. Introduction .............................................2
3. The SNMP Management Framework 3 2. Terminology ..............................................2
3. The SNMP Management Framework ............................3
4. Feature Checklist 4 4. Outline ..................................................3
5. Outline 5 4.1 Summary of LSR MIB Module ................................3
5.1. Summary of LSR MIB 5 5. Brief Description of MIB Module Objects ..................4
6. Brief Description of MIB Objects 5 5.1. mplsInterfaceTable .......................................4
6.1. mplsInterfaceConfTable 6 5.2. mplsInterfacePerfTable ...................................4
6.2. mplsInterfacePerfTable 6 5.3. mplsInSegmentTable .......................................4
6.3. mplsInSegmentTable 6 5.4. mplsInSegmentPerfTable ...................................5
6.4. mplsInSegmentPerfTable 6 5.5. mplsOutSegmentTable ......................................5
6.5. mplsOutSegmentTable 6 5.6. mplsOutSegmentPerfTable ..................................5
6.6. mplsOutSegmentPerfTable 6 5.7. mplsXCTable ..............................................5
6.7. mplsXCTable 6 5.8. mplsLabelStackTable ......................................5
6.8. mplsLabelStackTable 7 6. Use of 32-bit and 64-bit Counters ........................6
6.9. mplsTrafficParamTable 7 7. Example of LSP Setup .....................................6
7. Use of 32-bit and 64-bit Counters 7 8. Application of the Interface Group to MPLS ...............8
8. Example of LSP Setup 7 8.1. Support of the MPLS Layer by ifTable .....................8
9. Application of the Interface Group to MPLS 9 9. The Use of RowPointer ....................................10
9.1. Support of the MPLS Layer by ifTable 9 10. MPLS Label Switching Router MIB Module Definitions ........10
10. The Use of RowPointer 10 11. Security Considerations ...................................49
11. MPLS Label Switching Router MIB Definitions 11 12. Acknowledgments ...........................................50
12. Security Considerations 41 13. References ................................................51
13. Acknowledgments 42 13.1. Normative References ...................................51
14. References 42 13.2. Informative References .................................52
15. Authors' Addresses 44 14. Authors' Addresses ........................................52
16. Full Copyright Statement 44 15. Full Copyright Statement ..................................53
16. Intellectual Property Notice ..............................53
1. Introduction 1. Introduction
This memo defines a portion of the Management Information Base This memo defines an portion of the Management
(MIB) for use with network management protocols in the Internet Information Base (MIB) for use with network management protocols
community. In particular, it describes managed objects for in the Internet community. In particular, it describes managed
modeling a Multi-Protocol Label Switching (MPLS) [RFC3031] Label objects for modeling a Multi-Protocol Label Switching (MPLS)
Switching Router (LSR). [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 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in "OPTIONAL" in this document are to be interpreted as described in
RFC 2119, reference [RFC2119]. RFC 2119, reference [RFC2119].
2. Terminology 2. Terminology
This document uses terminology from the document describing the This document uses terminology from the document describing the
MPLS architecture [RFC3031]. A label switched path (LSP) is MPLS architecture [RFC3031]. A label switched path (LSP) is
modeled as a connection consisting of one or more incoming modeled as a connection consisting of one or more incoming
segments (in-segments) and/or one or more outgoing segments (out- segments (in-segments) and/or one or more outgoing segments (out-
segments) at a Label Switching Router (LSR). The association or segments) at a LSR. The association or interconnection
interconnection of the in-segments and out-segments is of the in-segments and out-segments is accomplished by
accomplished by using a cross-connect. We use the terminology using a cross-connect. We use the terminology
"connection" and "LSP" interchangeably where the meaning is clear "connection" and "LSP" interchangeably where the meaning is clear
from the context. from the context.
3. The SNMP Management Framework in-segment This is analagous to an MPLS label.
out-segment This is analagous to an MPLS label.
The SNMP Management Framework presently consists of five major cross-connect This describes the conceptual connection
components: between a set of in-segments and out-segments.
Note that either set may be 0; that is, a
- An overall architecture, described in RFC 2571 [RFC2571]. cross-connect may connect only out-segments
together with no in-segments in the case
- Mechanisms for describing and naming objects and events for the where an LSP is originating on an LSR.
purpose of management. The first version of this Structure of
Management Information (SMI) is called SMIv1 and described in
STD 16, RFC 1155 [RFC1155], STD 16, RFC 1212 [RFC1212] and STD
16, RFC 1215 [RFC1215]. The second version, called SMIv2, is
described in STD 58, RFC 2578 [RFC2578], STD 58, RFC 2579
[RFC2579] and STD 58, RFC 2580 [RFC2580].
- Message protocols for transferring management information. The
first version of the SNMP message protocol is called SNMPv1
and described in STD 15, RFC 1157 [RFC1157]. A second version
of the SNMP message protocol, which is not an Internet
standards track protocol, is called SNMPv2c and described in
RFC 1901 [RFC1901] and RFC 1906 [RFC1906]. The third version
of the message protocol is called SNMPv3 and described in RFC
1906 [RFC1906], RFC 2572 [RFC2572] and RFC 2574 [RFC2574].
- Protocol operations for accessing management information. The
first set of protocol operations and associated PDU formats is
described in STD 15, RFC 1157 [RFC1157]. A second set of
protocol operations and associated PDU formats is described in
RFC 1905 [RFC1905].
- A set of fundamental applications described in RFC 2573
[RFC2573] and the view-based access control mechanism
described in RFC 2575 [RFC2575].
A more detailed introduction to the current SNMP Management
Framework can be found in RFC 2570 [RFC2570].
Managed objects are accessed via a virtual information store,
termed the Management Information Base or MIB. Objects in the MIB
are defined using the mechanisms defined in the SMI.
This memo specifies a MIB module that is compliant to the SMIv2.
A MIB conforming to the SMIv1 can be produced through the
appropriate translations. The resulting translated MIB must be
semantically equivalent, except where objects or events are
omitted because no translation is possible (use of Counter64).
Some machine readable information in SMIv2 will be converted into
textual descriptions in SMIv1 during the translation process.
However, this loss of machine readable information is not
considered to change the semantics of the MIB.
4. Feature Checklist
The MPLS Label Switching Router MIB (LSR MIB) is designed to
satisfy the following requirements and constraints:
- The MIB supports LSP establishment via an MPLS signaling
protocol wherein the LSP parameters are specified using this
MIB at the head end of the LSP and end-to-end LSP
establishment is accomplished via signaling. The MIB also
supports manually configured LSPs, i.e. those for which label
associations at each hop of the LSP are provisioned by the
administrator via this MIB.
- The MIB supports the enabling and disabling of MPLS capability
on MPLS capable interfaces of an LSR.
- The MIB allows resource sharing between two or more LSPs, i.e.
it allows specification of sharing of bandwidth and other LSR
resources between different LSPs.
- Both per-platform and per-interface label spaces are supported.
- MPLS packets can be forwarded solely based on an incoming top
label [RFC3031, RFC3032].
- Support is provided for next-hop resolution when the outgoing
interface is a shared media interface. In the point-to-
multipoint case, each outgoing segment can reside on a
different shared media interface.
- The MIB supports point-to-point, point-to-multipoint and
multipoint-to-point connections at an LSR.
- For multipoint-to-point connections all outgoing packets can
have the same top label.
- For multipoint-to-point connections, the outgoing resources of
the merged connections can be shared.
- For multipoint-to-point connections, packets from different
incoming connections can have distinct outgoing label stacks
beneath the (identical) top label.
- In the point-to-multipoint case each outgoing connection can
have a distinct label stack including the top label.
- All the members of a point-to-multipoint connection can share
the resources allocated for the ingress segments.
- The MIB provides cross-connect capability to "pop" an incoming 3. The SNMP Management Framework
label and forward the packet with the remainder of the label
stack unchanged and without pushing any labels ("pop-and-go")
[RFC3032].
- The MIB supports persistent as well as non-persistent LSPs. For a detailed overview of the documents that describe the current
Internet-Standard Management Framework, please refer to section 7 of
RFC 3410 [RFC3410].
- Performance counters are provided for in-segments and out- Managed objects are accessed via a virtual information store, termed
segments as well as for measuring MPLS performance on a per- the Management Information Base or MIB. MIB objects are generally
interface basis. 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].
5. Outline 4. Outline
Configuring LSPs through an LSR involves the following steps: Configuring LSPs through an LSR involves the following steps:
- Enabling MPLS on MPLS capable interfaces. - Enabling MPLS on MPLS capable interfaces.
- Configuring in-segments and out-segments. - Configuring in-segments and out-segments.
- Setting up the cross-connect table to associate segments and/or - Setting up the cross-connect table to associate segments and/or
to indicate connection origination and termination. to indicate connection origination and termination.
- Optionally specifying label stack actions. - Optionally specifying label stack actions.
- Optionally specifying segment traffic parameters. - Optionally specifying segment traffic parameters.
5.1. Summary of LSR MIB 4.1. Summary of LSR MIB Module
The MIB objects for performing these actions consist of the The MIB objects for performing these actions consist of the
following tables: following tables:
- The interface configuration table (mplsInterfaceConfTable), - The interface table (mplsInterfaceTable),
which is used for enabling the MPLS protocol on MPLS-capable which is used for revealing the MPLS protocol on
interfaces. MPLS-capable interfaces.
- The in-segment (mplsInSegmentTable) and out-segment - The in-segment (mplsInSegmentTable) and out-segment
(mplsOutSegmentTable) tables, which are used for configuring (mplsOutSegmentTable) tables, which are used for configuring
LSP segments at an LSR. LSP segments at an LSR.
- The cross-connect table (mplsXCTable), which is used to - The cross-connect table (mplsXCTable), which is used to
associate in and out segments together, in order to form a associate in and out segments together, in order to form a
cross-connect. cross-connect.
- The label stack table (mplsLabelStackTable), which is used for - The label stack table (mplsLabelStackTable), which is used for
specifying label stack operations. specifying label stack operations.
- The Traffic Parameter table (mplsTrafficParamTable), which is
used for specifying LSP-related traffic parameters.
Further, the MPLS in-segment and out-segment performance tables, Further, the MPLS in-segment and out-segment performance tables,
mplsInSegmentPerfTable and mplsOutSegmentPerfTable, contain the mplsInSegmentPerfTable and mplsOutSegmentPerfTable, contain the
objects necessary to measure the performance of LSPs, and objects necessary to measure the performance of LSPs, and
mplsInterfacePerfTable has objects to measure MPLS performance on mplsInterfacePerfTable has objects to measure MPLS performance on
a per-interface basis. a per-interface basis.
These tables are described in the subsequent sections. These tables are described in the subsequent sections.
6. Brief Description of MIB Objects 5. Brief Description of MIB Module Objects
Sections 6.1-6.2 describe objects pertaining to MPLS-capable Sections 5.1-5.2 describe objects pertaining to MPLS-capable
interfaces of an LSR. The objects described in Sections 6.3-6.8, 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 were derived from the Incoming Label Map (ILM) and Next Hop Label
Forwarding Entry (NHLFE) as specified in the MPLS architecture Forwarding Entry (NHLFE) as specified in the MPLS architecture
document [RFC3031]. Section 6.9 describes objects for specifying document [RFC3031]. It is appropriate to note that the in-segment,
traffic parameters for in and out segments. It is appropriate to out-segment, and cross-connect tables were modeled after similar
note that the in-segment, out-segment, and cross-connect tables tables found in [RFC2515].
were modeled after similar tables found in [RFC2515].
6.1. mplsInterfaceConfTable 5.1. mplsInterfaceTable
This table represents the interfaces that are MPLS capable. An This table represents the interfaces that are MPLS capable. An
LSR creates an entry in this table for every MPLS capable LSR creates an entry in this table for every MPLS capable
interface on that LSR. interface on that LSR.
6.2. mplsInterfacePerfTable 5.2. mplsInterfacePerfTable
This table contains objects to measure the MPLS performance of This table contains objects to measure the MPLS performance of
MPLS capable interfaces and is an AUGMENT to MPLS capable interfaces and is an AUGMENT to
mplsInterfaceConfTable. mplsInterfaceTable.
6.3. mplsInSegmentTable 5.3. mplsInSegmentTable
This table contains a description of the incoming MPLS segments to This table contains a description of the incoming MPLS segments
an LSR and their associated parameters. 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.
6.4. mplsInSegmentPerfTable 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).
The MPLS In-Segment Performance Table has objects to help measure 5.4. mplsInSegmentPerfTable
The MPLS in-Segment Performance Table has objects to measure
the performance of an incoming segment configured on an LSR. It the performance of an incoming segment configured on an LSR. It
is an AUGMENT to mplsInSegmentTable. High capacity counters are is an AUGMENT to mplsInSegmentTable. High capacity counters are
provided for objects that are likely to wrap around quickly on provided for objects that are likely to wrap around quickly on
high-speed interfaces. high-speed interfaces.
6.5. mplsOutSegmentTable 5.5. mplsOutSegmentTable
The Out-Segment Table contains a description of the outgoing MPLS The out-Segment Table contains a description of the outgoing MPLS
segments at an LSR and their associated parameters. segments at an LSR and their associated parameters.
6.6. mplsOutSegmentPerfTable 5.6. mplsOutSegmentPerfTable
The MPLS Out-Segment Table contains objects to help measure the The MPLS out-Segment Table contains objects to measure the
performance of an outgoing segment configured on an LSR. It is an performance of an outgoing segment configured on an LSR. It is
AUGMENT to mplsOutSegmentTable. High capacity counters are an AUGMENT to mplsOutSegmentTable. High capacity counters are
provided for objects that are likely to wrap around quickly on provided for objects that are likely to wrap around quickly on
high-speed interfaces. high-speed interfaces.
6.7. mplsXCTable 5.7. mplsXCTable
The mplsXCTable specifies information for associating segments The mplsXCTable specifies information for associating segments
together in order to instruct the LSR to switch between the together in order to instruct the LSR to switch between the
specified segments. It supports point-to-point, point-to-multi- specified segments. It supports point-to-point, point-to-multi-
point and multi-point-to-point connections. point and multi-point-to-point connections.
The operational status object indicates the packet forwarding The operational status object indicates the packet forwarding
state of a cross-connect entry. For example, when the operational state of a cross-connect entry. For example, when the operational
status objects is 'down' it indicates that the specified cross- status objects is 'down' it indicates that the specified cross-
connect entry will not forward packets. Likewise, when it is set connect entry will not forward packets. Likewise, when it is set
to 'up' it indicates that packets will be forwarded. to 'up' it indicates that packets will be forwarded.
The administrative status object indicates the forwarding state The administrative status object indicates the forwarding state
desired by the operator. desired by the operator.
6.8. mplsLabelStackTable 5.8. mplsLabelStackTable
The mplsLabelStackTable specifies the label stack to be pushed The mplsLabelStackTable specifies the label stack to be pushed
onto a packet, beneath the top label. Entries to this table are onto a packet, beneath the top label. Entries to this table are
referred to from mplsXCTable. referred to from mplsXCTable.
6.9. mplsTrafficParamTable 6. Use of 32-bit and 64-bit Counters
The mplsTrafficParamTable contains objects for specifying the
traffic parameters of in-segments and out-segments. Entries in
this table are referred to from mplsInSegmentTable and
mplsOutSegmentTable.
7. Use of 32-bit and 64-bit Counters
64-bit counters are provided in this MIB for high speed interfaces 64-bit counters are provided in this MIB module for high speed
where the use of 32-bit counters might be impractical. The interfaces where the use of 32-bit counters might be impractical.
requirements on the use of 32-bit and 64-bit counters (copied The requirements on the use of 32-bit and 64-bit counters (copied
verbatim from [RFC2863]) are as follows. verbatim from [RFC2863]) are as follows.
For interfaces that operate at 20,000,000 (20 million) bits per For interfaces that operate at 20,000,000 (20 million) bits per
second or less, 32-bit byte and packet counters MUST be supported. second or less, 32-bit byte and packet counters MUST be supported.
For interfaces that operate faster than 20,000,000 bits/second, For interfaces that operate faster than 20,000,000 bits/second,
and slower than 650,000,000 bits/second, 32-bit packet counters and slower than 650,000,000 bits/second, 32-bit packet counters
MUST be supported and 64-bit octet counters MUST be supported. MUST be supported and 64-bit octet counters MUST be supported.
For interfaces that operate at 650,000,000 bits/second or faster, For interfaces that operate at 650,000,000 bits/second or faster,
64-bit packet counters AND 64-bit octet counters MUST be 64-bit packet counters AND 64-bit octet counters MUST be
supported. supported.
8. Example of LSP Setup 7. Example of LSP Setup
In this section we provide a brief example of setting up an LSP In this section we provide a brief example of setting up an LSP
using the MIB objects described in section 11. While this example using this MIB module's objects. While this example
is not meant to illustrate every nuance of the MIB, it is intended is not meant to illustrate every nuance of the MIB module, it
as an aid to understanding some of the key concepts. It is meant is intended as an aid to understanding some of the key concepts.
to be read after going through the MIB itself. It is meant to be read after going through the MIB module itself.
Suppose that one would like to manually create a best-effort, Suppose that one would like to manually create a best-effort,
unidirectional LSP. Assume that the LSP enters the LSR via MPLS unidirectional LSP. Assume that the LSP enters the LSR via MPLS
interface A with ifIndex 12 and exits the LSR via MPLS interface B 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 have a with ifIndex 13. Let us assume that we do not wish to impose any
label stack beneath the top label on the outgoing labeled packets. additional label stack beneath the top label on the outgoing
The following example illustrates which rows and corresponding labeled packets. The following example illustrates which rows and
objects might be created to accomplish this. Those objects corresponding objects might be created to accomplish this. Those
relevant to illustrating the relationships amongst different objects relevant to illustrating the relationships amongst
tables are shown here. Other objects may be needed before different tables are shown here. Other objects may be needed
conceptual row activation can happen. before conceptual row activation can happen.
The RowStatus values shown in this section are those to be used in 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 set request, typically createAndGo(4) which is used to create
the conceptual row and have its status immediately set to active. the conceptual row and have its status immediately set to active.
A subsequent retrieval operation on the conceptual will return a Note that the proper use of createAndGo(4) requires that all
different value, such as active(1). Please see [RFC2579] for a columns that do not have a DEFVAL to be specified in order for
detailed discussion on the use of RowStatus. the SET to succeed. In the example below we have not specify all
such columns for the sake of keeping the example short. Please
First, the traffic parameter entries must be set-up for both keep in mind that all such fields must be send during a real SET
segments. 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.
In mplsTrafficParamTable for the incoming direction: We first create a cross-connect entry that associates the
desired segments together.
In mplsXCTable:
{ {
mplsTrafficParamIndex = 5 mplsXCIndex = 0x02,
mplsTrafficParamMaxRate = 100000, mplsXcInSegmentIndex = 0x00000015,
mplsTrafficParamMeanRate = 100000, mplsXcOutSegmentIndex = 0x01,
mplsTrafficParamMaxBurstSize = 2000,
mplsTrafficParamRowStatus = createAndGo(4)
}
In mplsTrafficParamTable for the outgoing direction: mplsXCLspId = 'c021041502'H, -- 192.33.4.21.2
{ mplsXcLabelStackIndex = 0x00, -- only a single
mplsTrafficParamIndex = 6 -- outgoing label
mplsTrafficParamMaxRate = 100000, mplsXCRowStatus = createAndGo(4)
mplsTrafficParamMeanRate = 100000,
mplsTrafficParamMaxBurstSize = 2000,
mplsTrafficParamRowStatus = createAndGo(4)
} }
Note that if we were setting up a bi-directional LSP, the segments Next, we create the appropriate in-segment and out-segment
in the reverse direction can share the traffic parameter entries entries based on the cross-connect. Note that some agents
(and hence resources) with the segments in the forward direction. may wish to automatically create the in and out-segments
based on the cross-connect creation.
We must next create the appropriate in-segment and out-segment
entries with suitable traffic parameters by pointing to the
appropriate traffic parameter entries that we have just created.
In mplsInSegmentTable: In mplsInSegmentTable:
{ {
mplsInSegmentIfIndex = 12, -- incoming interface mplsInSegmentIndex = 0x00000015
mplsInSegmentLabel = 21, -- incoming label mplsInSegmentLabel = 21, -- incoming label
mplsInSegmentNPop = 1, mplsInSegmentNPop = 1,
mplsInSegmentInterface = 12, -- incoming interface
-- RowPointer MUST point to the first accesible column. -- RowPointer MUST point to the first accesible column.
mplsInSegmentTrafficParamPtr = mplsTrafficParamMaxRate.5, mplsInSegmentLabelPtr = 0.0,
mplsInSegmentTrafficParamPtr = 0.0,
mplsInSegmentRowStatus = createAndGo(4) mplsInSegmentRowStatus = createAndGo(4)
} }
In mplsOutSegmentTable: In mplsOutSegmentTable:
{ {
mplsOutSegmentIndex = 1, mplsOutSegmentIndex = 0x01,
mplsOutSegmentIfIndex = 13, -- outgoing interface mplsOutSegmentInterface = 13, -- outgoing interface
mplsOutSegmentPushTopLabel = true(1), mplsOutSegmentPushTopLabel = true(1),
mplsOutSegmentTopLabel = 22, -- outgoing label mplsOutSegmentTopLabel = 22, -- outgoing label
-- RowPointer MUST point to the first accesible column. -- RowPointer MUST point to the first accesible column.
mplsOutSegmentTrafficParamPtr = mplsTrafficParamMaxRate.6, mplsOutSegmentTrafficParamPtr = 0.0,
-- Other mandatory parameters needed to activate the row go mplsOutSegmentLabelPtr = 0.0,
here.
mplsOutSegmentRowStatus = createAndGo(4)
}
Next, a cross-connect entry is created thereby associating the
newly created segments together.
In mplsXCTable: mplsOutSegmentRowStatus = createAndGo(4)
{
mplsXCIndex = 2,
mplsXCLspId = 'c021041502'H, -- 192.33.4.21.2
mplsInSegmentIfIndex = 12,
mplsInSegmentLabel = 21,
mplsOutSegmentIndex = 1,
mplsXCIsPersistent = false (1),
mplsLabelStackIndex = 0, -- only a single
-- outgoing label
-- Other mandatory parameters for activating the row go here.
mplsXCRowStatus = createAndGo(4)
} }
Note that the mplsInSegmentXCIndex and mplsOutSegmentXCIndex Note that the mplsInSegmentXCIndex and mplsOutSegmentXCIndex
objects will automatically be populated with the value 2 when objects will automatically be populated with the string 0x02
these segments are referred to from the corresponding cross- when these segments are referred to from the corresponding
connect entry. cross- connect entry.
9. Application of the Interface Group to MPLS 8. Application of the Interface Group to MPLS
The Interfaces Group of MIB II defines generic managed objects for RFC2863 defines generic managed objects for managing
managing interfaces. This memo contains the media-specific interfaces. This memo contains the media-specific
extensions to the Interfaces Group for managing MPLS interfaces. extensions to the Interfaces Group for managing MPLS interfaces.
This memo assumes the interpretation of the Interfaces Group to be This memo assumes the interpretation of the Interfaces Group to be
in accordance with [RFC2863] which states that the interfaces in accordance with [RFC2863] which states that the interfaces
table (ifTable) contains information on the managed resource's table (ifTable) contains information on the managed resource's
interfaces and that each sub-layer below the internetwork layer of interfaces and that each sub-layer below the internetwork layer of
a network interface is considered an interface. Thus, the MPLS a network interface is considered an interface. Thus, the MPLS
interface is represented as an entry in the ifTable. The inter- interface is represented as an entry in the ifTable. The inter-
relation of entries in the ifTable is defined by Interfaces Stack relation of entries in the ifTable is defined by Interfaces Stack
Group defined in [RFC2863]. Group defined in [RFC2863].
skipping to change at page 11, line 5 skipping to change at page 8, line 37
+----------------------------------------+ +----------------------------------------+
| MPLS interface; ifType = mpls(166) + | MPLS interface; ifType = mpls(166) +
+----------------------------------------+ +----------------------------------------+
| Underlying Layer + | Underlying Layer +
+----------------------------------------+ +----------------------------------------+
In the above diagram, "Underlying Layer" refers to the ifIndex of In the above diagram, "Underlying Layer" refers to the ifIndex of
any interface type for which MPLS interworking has been defined. any interface type for which MPLS interworking has been defined.
Examples include ATM, Frame Relay, Ethernet, etc. Examples include ATM, Frame Relay, Ethernet, etc.
9.1. Support of the MPLS Layer by ifTable 8.1. Support of the MPLS Layer by ifTable
Some specific interpretations of ifTable for the MPLS layer Some specific interpretations of ifTable for the MPLS layer
follow. follow.
Object Use for the MPLS layer Object Use for the MPLS layer
ifIndex Each MPLS interface is represented by an ifEntry. ifIndex Each MPLS interface is represented by an ifEntry.
ifDescr Description of the MPLS interface. ifDescr Description of the MPLS interface.
skipping to change at page 12, line 25 skipping to change at page 10, line 8
ifHCOutOctets The 64-bit version of ifOutOctets; supported if ifHCOutOctets The 64-bit version of ifOutOctets; supported if
required by the compliance statements in [RFC2863]. required by the compliance statements in [RFC2863].
ifAlias The non-volatile 'alias' name for the interface as ifAlias The non-volatile 'alias' name for the interface as
specified by a network manager. specified by a network manager.
ifCounterDiscontinuityTime ifCounterDiscontinuityTime
See [RFC2863]. See [RFC2863].
10. The Use of RowPointer 9. The Use of RowPointer
RowPointer is a textual convention used to identify a conceptual RowPointer is a textual convention used to identify a conceptual
row in an SNMP Table by pointing to one of its objects. In this row in a MIB Table by pointing to the first accessible object
MIB, it is used in mplsInSegmentTable and mplsOutSegmentTable for in that row. In this MIB module, the trafficParamPtr object from
the following purposes. First, it indicates a particular traffic either the mplsInSegmentTable or mplsOutSegmentTable SHOULD
parameter table. An example of such a table is indicate the first accessible column in an entry in the
mplsTrafficParamTable. Second, it is used to indicate a specific MplsTunnelResourceEntry in the MPLS-TE-STD-MIB [TEMIB]
instance of a traffic parameter entry that is associated with a to indicate the traffic parameter settings for this
given in-segment or out-segment entry. In the in-segment and out- segment, if it represents an LSP used for a TE tunnel.
segment tables, mplsTrafficParamPtr MUST point to the first
column of the appropriate conceptual row [].
11. MPLS Label Switching Router MIB Definitions 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.
MPLS-LSR-MIB DEFINITIONS ::= BEGIN 10. MPLS Label Switching Router MIB Module Definitions
MPLS-LSR-STD-MIB DEFINITIONS ::= BEGIN
IMPORTS IMPORTS
MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
Integer32, Counter32, Unsigned32, Counter64, Gauge32, Integer32, Counter32, Unsigned32, Counter64, Gauge32,
zeroDotZero zeroDotZero
FROM SNMPv2-SMI FROM SNMPv2-SMI
MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
FROM SNMPv2-CONF FROM SNMPv2-CONF
TruthValue, RowStatus, StorageType, RowPointer, TruthValue, RowStatus, StorageType, RowPointer,
TimeStamp TimeStamp, TEXTUAL-CONVENTION
FROM SNMPv2-TC FROM SNMPv2-TC
InterfaceIndex, InterfaceIndexOrZero InterfaceIndexOrZero
FROM IF-MIB FROM IF-MIB
mplsMIB, MplsLSPID, MplsLabel, MplsBitRate, MplsBurstSize, mplsStdMIB, MplsLSPID, MplsLabel, MplsBitRate,
MplsOwner MplsOwner
FROM MPLS-TC-MIB FROM MPLS-TC-STD-MIB
AddressFamilyNumbers AddressFamilyNumbers
FROM IANA-ADDRESS-FAMILY-NUMBERS-MIB FROM IANA-ADDRESS-FAMILY-NUMBERS-MIB
InetAddress, InetAddressType InetAddress, InetAddressType
FROM INET-ADDRESS-MIB FROM INET-ADDRESS-MIB
; ;
mplsLsrMIB MODULE-IDENTITY mplsLsrStdMIB MODULE-IDENTITY
LAST-UPDATED "200210051200Z" -- 5 October 2002 12:00:00 GMT LAST-UPDATED "200306061200Z" -- 6 June 2003 12:00:00 GMT
ORGANIZATION "Multiprotocol Label Switching (MPLS) Working Group" ORGANIZATION "Multiprotocol Label Switching (MPLS) Working Group"
CONTACT-INFO CONTACT-INFO
" "
Cheenu Srinivasan Cheenu Srinivasan
Postal: Parama Networks, Inc. Parama Networks, Inc.
1030 Broad Street
Shrewsbury, NJ 07702
Tel: +1-732-544-9120 x731
Email: cheenu@paramanet.com Email: cheenu@paramanet.com
Arun Viswanathan Arun Viswanathan
Postal: Force10 Networks, Inc. Force10 Networks, Inc.
1440 McCarthy Blvd
Milpitas, CA 95035
Tel: +1-408-571-3516
Email: arun@force10networks.com Email: arun@force10networks.com
Thomas D. Nadeau Thomas D. Nadeau
Postal: Cisco Systems, Inc. Cisco Systems, Inc.
250 Apollo Drive
Chelmsford, MA 01824
Tel: +1-978-244-3051
Email: tnadeau@cisco.com Email: tnadeau@cisco.com
Comments about this document should be emailed Comments about this document should be emailed
directly to the MPLS working group mailing list at directly to the MPLS working group mailing list at
mpls@uu.net. mpls@uu.net."
"
DESCRIPTION DESCRIPTION
"This MIB contains managed object definitions for the "This MIB module contains managed object definitions for
Multiprotocol Label Switching (MPLS) Router as the Multiprotocol Label Switching (MPLS) Router as
defined in: Rosen, E., Viswanathan, A., and R. defined in: Rosen, E., Viswanathan, A., and R.
Callon, Multiprotocol Label Switching Architecture, Callon, Multiprotocol Label Switching Architecture,
RFC 3031, January 2001." RFC 3031, January 2001.
Copyright (C) The Internet Society (2003). This
version of this MIB module is part of RFCXXX; see
the RFC itself for full legal notices."
-- Revision history. -- Revision history.
REVISION REVISION
"200210051200Z" -- 5 October 2002 12:00:00 GMT "200306061200Z" -- 6 June 2003 12:00:00 GMT
DESCRIPTION DESCRIPTION
"Initial revision, published as part of RFC XXXX." "Initial revision, published as part of RFC XXXX."
::= { mplsMIB 2 } ::= { 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 DESCRITPION clause
MUST specify if this special value is valid and if so
what the special meaning of is.
When a MIB module is used for configuration, an object with
this SYNTAX always contains a legal value (if 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.
An OBJECT-TYPE definition using this SYNTAX MUST specify the
relevant table for which the object is providing this
functionality."
SYNTAX OCTET STRING (SIZE(1..24))
-- Top level components of this MIB module.
-- Notifications -- Notifications
mplsLsrNotifications OBJECT IDENTIFIER ::= { mplsLsrMIB 0 } mplsLsrNotifications OBJECT IDENTIFIER ::= { mplsLsrStdMIB 0 }
-- Tables, Scalars -- Tables, Scalars
mplsLsrObjects OBJECT IDENTIFIER ::= { mplsLsrMIB 1 } mplsLsrObjects OBJECT IDENTIFIER ::= { mplsLsrStdMIB 1 }
mplsLsrConformance OBJECT IDENTIFIER ::= { mplsLsrMIB 2 }
-- Conformance
mplsLsrConformance OBJECT IDENTIFIER ::= { mplsLsrStdMIB 2 }
mplsInterfaceConfTable OBJECT-TYPE -- MPLS Interface Table.
SYNTAX SEQUENCE OF MplsInterfaceConfEntry mplsInterfaceTable OBJECT-TYPE
SYNTAX SEQUENCE OF MplsInterfaceEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This table specifies per-interface MPLS capability "This table specifies per-interface MPLS capability
and associated information." and associated information."
::= { mplsLsrObjects 1 } ::= { mplsLsrObjects 1 }
mplsInterfaceConfEntry OBJECT-TYPE mplsInterfaceEntry OBJECT-TYPE
SYNTAX MplsInterfaceConfEntry SYNTAX MplsInterfaceEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"A conceptual row in this table is created "A conceptual row in this table is created
automatically by an LSR for every interface capable automatically by an LSR for every interface capable
of supporting MPLS and is enabled to do so. A of supporting MPLS and which is configured to do so.
conceptual row in this table will exist iff a A conceptual row in this table will exist iff a
corresponding entry in ifTable exists with ifType = corresponding entry in ifTable exists with ifType =
mpls(166). If this associated entry in ifTable is mpls(166). If this associated entry in ifTable is
operationally disabled (thus disabling MPLS on that operationally disabled (thus removing MPLS
interface), the corresponding entry in this table capabilities on that interface), the corresponding
MUST be deleted shortly thereafter. An conceptual entry in this table MUST be deleted shortly thereafter.
row with index 0 is created if the LSR supports per- An conceptual row with index 0 is created if the LSR
platform labels. This conceptual row represents the supports per-platform labels. This conceptual row
per-platform label space and contains parameters represents the per-platform label space and contains
that apply to all interfaces that participate in the parameters that apply to all interfaces that participate
per-platform label space. Other conceptual rows in in the per-platform label space. Other conceptual rows
this table represent MPLS interfaces that may in this table represent MPLS interfaces that may
participate in either the per-platform or per- participate in either the per-platform or per-
interface label spaces, or both. Further information interface label spaces, or both. Implementations
about label space participation of an interface is that either only support per-platform labels,
provided in the DESCRIPTION clause of 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 numebr
of objects returned. Further information about label
space participation of an interface is provided in
the DESCRIPTION clause of
mplsInterfaceLabelParticipationType." mplsInterfaceLabelParticipationType."
INDEX { mplsInterfaceConfIndex } INDEX { mplsInterfaceIndex }
::= { mplsInterfaceConfTable 1 } ::= { mplsInterfaceTable 1 }
MplsInterfaceConfEntry ::= SEQUENCE { MplsInterfaceEntry ::= SEQUENCE {
mplsInterfaceConfIndex InterfaceIndexOrZero, mplsInterfaceIndex InterfaceIndexOrZero,
mplsInterfaceLabelMinIn MplsLabel, mplsInterfaceLabelMinIn MplsLabel,
mplsInterfaceLabelMaxIn MplsLabel, mplsInterfaceLabelMaxIn MplsLabel,
mplsInterfaceLabelMinOut MplsLabel, mplsInterfaceLabelMinOut MplsLabel,
mplsInterfaceLabelMaxOut MplsLabel, mplsInterfaceLabelMaxOut MplsLabel,
mplsInterfaceTotalBandwidth MplsBitRate, mplsInterfaceTotalBandwidth MplsBitRate,
mplsInterfaceAvailableBandwidth MplsBitRate, mplsInterfaceAvailableBandwidth MplsBitRate,
mplsInterfaceLabelParticipationType BITS mplsInterfaceLabelParticipationType BITS
} }
mplsInterfaceConfIndex OBJECT-TYPE mplsInterfaceIndex OBJECT-TYPE
SYNTAX InterfaceIndexOrZero SYNTAX InterfaceIndexOrZero
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This is a unique index for an entry in the "This is a unique index for an entry in the
MplsInterfaceConfTable. A non-zero index for an MplsInterfaceTable. A non-zero index for an
entry indicates the ifIndex for the corresponding entry indicates the ifIndex for the corresponding
interface entry in of the MPLS-layer in the ifTable. interface entry of the MPLS-layer in the ifTable.
Note that the per-platform label space may apply to The entry with index 0 represents the per-platform
several interfaces, and therefore the configuration label space and contains parameters that apply to all
of the per-platform label space interface parameters interfaces that participate in the per-platform label
will apply to all of the interfaces that are space. Other entries defined in this table represent
participating in the per-platform label space." additional MPLS interfaces that may participate in either
the per-platform or per-interface label spaces, or both."
REFERENCE REFERENCE
"RFC 2863 - The Interfaces Group MIB, McCloghrie, K., "RFC 2863 - The Interfaces Group MIB, McCloghrie, K.,
and F. Kastenholtz, June 2000" and F. Kastenholtz, June 2000"
::= { mplsInterfaceConfEntry 1 } ::= { mplsInterfaceEntry 1 }
mplsInterfaceLabelMinIn OBJECT-TYPE mplsInterfaceLabelMinIn OBJECT-TYPE
SYNTAX MplsLabel SYNTAX MplsLabel
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This is the minimum value of an MPLS label that this "This is the minimum value of an MPLS label that this
LSR is willing to receive on this interface." LSR is willing to receive on this interface."
::= { mplsInterfaceConfEntry 2 } ::= { mplsInterfaceEntry 2 }
mplsInterfaceLabelMaxIn OBJECT-TYPE mplsInterfaceLabelMaxIn OBJECT-TYPE
SYNTAX MplsLabel SYNTAX MplsLabel
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This is the maximum value of an MPLS label that this "This is the maximum value of an MPLS label that this
LSR is willing to receive on this interface." LSR is willing to receive on this interface."
::= { mplsInterfaceConfEntry 3 } ::= { mplsInterfaceEntry 3 }
mplsInterfaceLabelMinOut OBJECT-TYPE mplsInterfaceLabelMinOut OBJECT-TYPE
SYNTAX MplsLabel SYNTAX MplsLabel
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This is the minimum value of an MPLS label that this "This is the minimum value of an MPLS label that this
LSR is willing to send on this interface." LSR is willing to send on this interface."
::= { mplsInterfaceConfEntry 4 } ::= { mplsInterfaceEntry 4 }
mplsInterfaceLabelMaxOut OBJECT-TYPE mplsInterfaceLabelMaxOut OBJECT-TYPE
SYNTAX MplsLabel SYNTAX MplsLabel
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This is the maximum value of an MPLS label that this "This is the maximum value of an MPLS label that this
LSR is willing to send on this interface." LSR is willing to send on this interface."
::= { mplsInterfaceConfEntry 5 } ::= { mplsInterfaceEntry 5 }
mplsInterfaceTotalBandwidth OBJECT-TYPE mplsInterfaceTotalBandwidth OBJECT-TYPE
SYNTAX MplsBitRate SYNTAX MplsBitRate
UNITS "kilobits per second"
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This value indicates the total amount of usable "This value indicates the total amount of usable
bandwidth on this interface and is specified in bandwidth on this interface and is specified in
kilobits per second (Kbps). This variable is not kilobits per second (Kbps). This variable is not
applicable when applied to the interface with index applicable when applied to the interface with index
0. When this value cannot be measured, this value 0. When this value cannot be measured, this value
should contain the nominal bandwidth." should contain the nominal bandwidth."
::= { mplsInterfaceConfEntry 6 } ::= { mplsInterfaceEntry 6 }
mplsInterfaceAvailableBandwidth OBJECT-TYPE mplsInterfaceAvailableBandwidth OBJECT-TYPE
SYNTAX MplsBitRate SYNTAX MplsBitRate
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This value indicates the total amount of available "This value indicates the total amount of available
bandwidth available on this interface and is bandwidth available on this interface and is
specified in kilobits per second (Kbps). This value specified in kilobits per second (Kbps). This value
is calculated as the difference between the amount is calculated as the difference between the amount
of bandwidth currently in use and that specified in of bandwidth currently in use and that specified in
mplsInterfaceTotalBandwidth. This variable is not mplsInterfaceTotalBandwidth. This variable is not
applicable when applied to the interface with index applicable when applied to the interface with index
0. When this value cannot be measured, this value 0. When this value cannot be measured, this value
should contain the nominal bandwidth." should contain the nominal bandwidth."
::= { mplsInterfaceConfEntry 7 } ::= { mplsInterfaceEntry 7 }
mplsInterfaceLabelParticipationType OBJECT-TYPE mplsInterfaceLabelParticipationType OBJECT-TYPE
SYNTAX BITS { SYNTAX BITS {
perPlatform (0), perPlatform (0),
perInterface (1) perInterface (1)
} }
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Either the perPlatform(0) or perInterface(1) bit "If the value of the mplsInterfaceIndex for this
MUST be set. Note however that an interface could entry is zero, then this entry corresponds to the
participate in both label spaces in which case both per-platform label space for all interfaces configured
bits would be set. If the value of the to use that label space. In this case the perPlatform(0)
mplsInterfaceConfIndex for this entry is zero, then bit MUST be set; the perInterface(1) bit is meaningless
only the perPlatform(0) bit MUST be set and the and MUST be ignored.
perInterface(1) bit is meaningless. If the
perInterface(1) bit is set then the value of 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, mplsInterfaceLabelMinIn, mplsInterfaceLabelMaxIn,
mplsInterfaceLabelMinOut, and mplsInterfaceLabelMinOut, and
mplsInterfaceLabelMaxOut for this entry reflect the mplsInterfaceLabelMaxOut for this entry reflect the
label ranges for this interface. If only the label ranges for this interface.
perPlatform(0) bit is set, then the value of
If only the perPlatform(0) bit is set, then the value of
mplsInterfaceLabelMinIn, mplsInterfaceLabelMaxIn, mplsInterfaceLabelMinIn, mplsInterfaceLabelMaxIn,
mplsInterfaceLabelMinOut, and mplsInterfaceLabelMinOut, and
mplsInterfaceLabelMaxOut for this entry must be mplsInterfaceLabelMaxOut for this entry MUST be
identical to the instance of these objects with identical to the instance of these objects with
index 0." 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 REFERENCE
"Rosen, E., Viswanathan, A., and R. Callon, "Rosen, E., Viswanathan, A., and R. Callon,
Multiprotocol Label Switching Architecture, RFC Multiprotocol Label Switching Architecture, RFC
3031, January 2001." 3031, January 2001."
::= { mplsInterfaceConfEntry 8 } ::= { mplsInterfaceEntry 8 }
-- End of mplsInterfaceTable
-- MPLS Interface Performance Table. -- MPLS Interface Performance Table.
mplsInterfacePerfTable OBJECT-TYPE mplsInterfacePerfTable OBJECT-TYPE
SYNTAX SEQUENCE OF MplsInterfacePerfEntry SYNTAX SEQUENCE OF MplsInterfacePerfEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This table provides MPLS performance information on "This table provides MPLS performance information on
a per-interface basis." a per-interface basis."
::= { mplsLsrObjects 2 } ::= { mplsLsrObjects 2 }
mplsInterfacePerfEntry OBJECT-TYPE mplsInterfacePerfEntry OBJECT-TYPE
SYNTAX MplsInterfacePerfEntry SYNTAX MplsInterfacePerfEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An entry in this table is created by the LSR for "An entry in this table is created by the LSR for
every interface capable of supporting MPLS. Its is every interface capable of supporting MPLS. Its is
an extension to the mplsInterfaceConfEntry table." an extension to the mplsInterfaceEntry table.
AUGMENTS { mplsInterfaceConfEntry } Note that the discontinuity behavior of entries in
this table MUST be based on the corresponding
ifEntry's ifDiscontinuityTime."
AUGMENTS { mplsInterfaceEntry }
::= { mplsInterfacePerfTable 1 } ::= { mplsInterfacePerfTable 1 }
MplsInterfacePerfEntry ::= SEQUENCE { MplsInterfacePerfEntry ::= SEQUENCE {
-- incoming direction -- incoming direction
mplsInterfaceInLabelsUsed Gauge32, mplsInterfacePerfInLabelsInUse Gauge32,
mplsInterfaceLabelLookupFailures Counter32, mplsInterfacePerfInLabelLookupFailures Counter32,
-- outgoing direction -- outgoing direction
mplsInterfaceOutLabelsUsed Gauge32, mplsInterfacePerfOutLabelsInUse Gauge32,
mplsInterfaceOutFragments Counter32 mplsInterfacePerfOutFragmentedPkts Counter32
} }
mplsInterfaceInLabelsUsed OBJECT-TYPE mplsInterfacePerfInLabelsInUse OBJECT-TYPE
SYNTAX Gauge32 SYNTAX Gauge32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This object counts the number of labels that are in "This object counts the number of labels that are in
use at this point in time on this interface in the use at this point in time on this interface in the
incoming direction. If the interface participates in incoming direction. If the interface participates in
the per-platform label space only, then the value of only the per-platform label space, then the value of
this instance of this object MUST be identical with the instance of this object MUST be identical to
the value of the instance with index 0. If the the value of the instance with index 0. If the
interface participates in the per-interface label interface participates in the per-interface label
space, then this instance of this object MUST space, then the instance of this object MUST
represent the number of of per-interface labels that represent the number of of per-interface labels that
are in use at this point in time on this interface." are in use on this interface."
::= { mplsInterfacePerfEntry 1 } ::= { mplsInterfacePerfEntry 1 }
mplsInterfaceLabelLookupFailures OBJECT-TYPE mplsInterfacePerfInLabelLookupFailures OBJECT-TYPE
SYNTAX Counter32 SYNTAX Counter32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This object counts the number of labeled packets "This object counts the number of labeled packets
that have been received on this interface and were that have been received on this interface and which
discarded because there was no matching cross- were discarded because there was no matching cross-
connect entry. This object MUST count on a per- connect entry. This object MUST count on a per-
interface basis regardless of which label space the interface basis regardless of which label space the
interface participates in." interface participates in."
::= { mplsInterfacePerfEntry 2 } ::= { mplsInterfacePerfEntry 2 }
mplsInterfaceOutLabelsUsed OBJECT-TYPE mplsInterfacePerfOutLabelsInUse OBJECT-TYPE
SYNTAX Gauge32 SYNTAX Gauge32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This object counts the number of top-most labels in "This object counts the number of top-most labels in
the outgoing label stacks that are in use at this the outgoing label stacks that are in use at this
point in time on this interface. This object MUST point in time on this interface. This object MUST
count on a per-interface basis regardless of which count on a per-interface basis regardless of which
label space the interface participates in." label space the interface participates in."
::= { mplsInterfacePerfEntry 3 } ::= { mplsInterfacePerfEntry 3 }
mplsInterfaceOutFragments OBJECT-TYPE mplsInterfacePerfOutFragmentedPkts OBJECT-TYPE
SYNTAX Counter32 SYNTAX Counter32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This object counts the number of outgoing MPLS "This object counts the number of outgoing MPLS
packets that required fragmentation before packets that required fragmentation before
transmission on this interface. This object MUST transmission on this interface. This object MUST
count on a per-interface basis regardless of which count on a per-interface basis regardless of which
label space the interface participates in." label space the interface participates in."
::= { mplsInterfacePerfEntry 4 } ::= { mplsInterfacePerfEntry 4 }
-- mplsInterfacePerf Table end.
mplsInSegmentIndexNext OBJECT-TYPE
SYNTAX MplsIndexType
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
a string containing the single octet 0x00 indicates
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 mplsInSegmentTable OBJECT-TYPE
SYNTAX SEQUENCE OF MplsInSegmentEntry SYNTAX SEQUENCE OF MplsInSegmentEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This table contains the collection of incoming "This table contains a description of the incoming MPLS
segments to an LSR." segments (labels) to an LSR and their associated parameters.
::= { mplsLsrObjects 3 } 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
colum 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 mlsinSegmentLabel 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 mplsInSegmentEntry OBJECT-TYPE
SYNTAX MplsInSegmentEntry SYNTAX MplsInSegmentEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An entry in this table represents one incoming "An entry in this table represents one incoming
segment. An entry can be created by a network 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 administrator or an SNMP agent, or an MPLS signaling
protocol. The creator of the entry is denoted by protocol. The creator of the entry is denoted by
mplsInSegmentOwner. An entry in this table is mplsInSegmentOwner.
indexed by the ifIndex of the incoming interface and
the (top) label. The value of mplsInSegmentRowStatus The value of mplsInSegmentRowStatus cannot be active(1)
cannot be active(1)unless the ifTable entry unless the ifTable entry corresponding to
corresponding to mplsInSegmentIfIndex exists. An mplsInSegmentInterface exists. An entry in this table
entry in this table must match any incoming packets must match any incoming packets, and indicates an
for further processing. A match indicates an instance of mplsXCEntry based on which forwarding
instance of mplsXCEntry based on which and/or switching actions are taken."
forwarding/switching actions are taken." INDEX { mplsInSegmentIndex }
INDEX { mplsInSegmentIfIndex, mplsInSegmentLabel }
::= { mplsInSegmentTable 1 } ::= { mplsInSegmentTable 1 }
MplsInSegmentEntry ::= SEQUENCE { MplsInSegmentEntry ::= SEQUENCE {
mplsInSegmentIfIndex InterfaceIndexOrZero, mplsInSegmentIndex MplsIndexType,
mplsInSegmentInterface InterfaceIndexOrZero,
mplsInSegmentLabel MplsLabel, mplsInSegmentLabel MplsLabel,
mplsInSegmentLabelPtr RowPointer,
mplsInSegmentNPop Integer32, mplsInSegmentNPop Integer32,
mplsInSegmentAddrFamily AddressFamilyNumbers, mplsInSegmentAddrFamily AddressFamilyNumbers,
mplsInSegmentXCIndex Unsigned32, mplsInSegmentXCIndex MplsIndexType,
mplsInSegmentOwner MplsOwner , mplsInSegmentOwner MplsOwner ,
mplsInSegmentTrafficParamPtr RowPointer, mplsInSegmentTrafficParamPtr RowPointer,
mplsInSegmentRowStatus RowStatus, mplsInSegmentRowStatus RowStatus,
mplsInSegmentStorageType StorageType mplsInSegmentStorageType StorageType
} }
mplsInSegmentIfIndex OBJECT-TYPE mplsInSegmentIndex OBJECT-TYPE
SYNTAX InterfaceIndexOrZero SYNTAX MplsIndexType
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This is a unique index for an entry in the "The index for for this in-segment. The
MplsInSegmentTable. This value represents the string containing the single octet 0x00
interface index for the incoming MPLS interface. A MUST not be used as an index."
value of zero represents an incoming label from the
per-platform label space. In this case, the
mplsInSegmentLabel is interpreted to be an MPLS-type
label."
::= { mplsInSegmentEntry 1 } ::= { 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 mplsInSegmentLabel OBJECT-TYPE
SYNTAX MplsLabel SYNTAX MplsLabel
MAX-ACCESS not-accessible MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The incoming label for this segment." "If the corresponding instance of mplsInSegmentLabelPtr is
::= { mplsInSegmentEntry 2 } 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 mplsInSegmentNPop OBJECT-TYPE
SYNTAX Integer32 (1..2147483647) SYNTAX Integer32 (1..2147483647)
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The number of labels to pop from the incoming "The number of labels to pop from the incoming
packet. Normally only the top label is popped from packet. Normally only the top label is popped from
the packet and used for all switching decisions for the packet and used for all switching decisions for
that packet. Note that technologies which do not that packet. This is indicated by setting this
support label popping should set this value to its object to the default value of 1. If an LSR supports
default value of 1. This object cannot be modified popping of more than one label, this object MUST
be set to that number. This object cannot be modified
if mplsInSegmentRowStatus is active(1)." if mplsInSegmentRowStatus is active(1)."
DEFVAL { 1 } DEFVAL { 1 }
::= { mplsInSegmentEntry 3 } ::= { mplsInSegmentEntry 5 }
mplsInSegmentAddrFamily OBJECT-TYPE mplsInSegmentAddrFamily OBJECT-TYPE
SYNTAX AddressFamilyNumbers SYNTAX AddressFamilyNumbers
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The IANA address family [IANAFamily] of the incoming "The IANA address family of packets
packet which is used at an egress LSR to deliver received on this segment, which is used at an egress
packets to the appropriate layer 3 entity. A value LSR to deliver them to the appropriate layer 3 entity.
of other(0) indicates that the family type is either A value of other(0) indicates that the family type is
unknown or undefined; this is not a legal value at either unknown or undefined; this SHOULD NOT be used
an egress LSR. This object cannot be modified if at an egress LSR. This object cannot be
mplsInSegmentRowStatus is active(1)." modified if mplsInSegmentRowStatus is active(1)."
::= { mplsInSegmentEntry 4 } REFERENCE
"See Internet Assigned Numbers Authority (IANA),
ADDRESS FAMILY NUMBERS."
DEFVAL { other }
::= { mplsInSegmentEntry 6 }
mplsInSegmentXCIndex OBJECT-TYPE mplsInSegmentXCIndex OBJECT-TYPE
SYNTAX Unsigned32 (0..4294967295) SYNTAX MplsIndexType
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Index into mplsXCTable which identifies which cross- "Index into mplsXCTable which identifies which cross-
connect entry this segment is part of. A value of connect entry this segment is part of. The string
zero indicates that this entry is not referred to by containing the single octet 0x00 indicates that this
any cross-connect entry. When a cross-connect entry entry is not referred to by any cross-connect entry.
is created which this in-segment is a part of, this When a cross-connect entry is created which this
object is automatically updated to reflect the value in-segment is a part of, this object is automatically
of mplsXCIndex of that cross-connect entry." updated to reflect the value of mplsXCIndex of that
::= { mplsInSegmentEntry 5 } cross-connect entry."
::= { mplsInSegmentEntry 7 }
mplsInSegmentOwner OBJECT-TYPE mplsInSegmentOwner OBJECT-TYPE
SYNTAX MplsOwner SYNTAX MplsOwner
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Denotes the entity that created and is responsible "Denotes the entity that created and is responsible
for managing this segment." for managing this segment."
::= { mplsInSegmentEntry 6 } ::= { mplsInSegmentEntry 8 }
mplsInSegmentTrafficParamPtr OBJECT-TYPE mplsInSegmentTrafficParamPtr OBJECT-TYPE
SYNTAX RowPointer SYNTAX RowPointer
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This variable represents a pointer to the traffic "This variable represents a pointer to the traffic
parameter specification for this in-segment. This parameter specification for this out-segment. This
value may point at an entry in the value may point at an entry in the
mplsTrafficParamTable to indicate which mplsTunnelResourceTable in the MPLS-TE-STD-MIB (RFCnnnn)
mplsTrafficParamEntry is to be assigned to this
segment. This value may optionally point at an 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 externally defined traffic parameter specification
table. A value of zeroDotZero indicates best-effort table. A value of zeroDotZero indicates best-effort
treatment. By having the same value of this object, treatment. By having the same value of this object,
two or more segments can indicate resource sharing. two or more segments can indicate resource sharing
This object cannot be modified if of such things as LSP queue space, etc.
mplsInSegmentRowStatus is active(1)."
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 } DEFVAL { zeroDotZero }
::= { mplsInSegmentEntry 7 } ::= { mplsInSegmentEntry 9 }
mplsInSegmentRowStatus OBJECT-TYPE mplsInSegmentRowStatus OBJECT-TYPE
SYNTAX RowStatus SYNTAX RowStatus
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This variable is used to create, modify, and/or "This variable is used to create, modify, and/or
delete a row in this table." delete a row in this table. When a row in this
::= { mplsInSegmentEntry 8 } 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 mplsInSegmentStorageType OBJECT-TYPE
SYNTAX StorageType SYNTAX StorageType
MAX-ACCESS read-create MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This variable indicates the storage type for this "This variable indicates the storage type for this
object. This object cannot be modified if object. If this object is set to readOnly(5), and the
mplsInSegmentRowStatus is active(1). If this
variable is set to readOnly(5), and the
corresponding LFIB entry is removed, then the agent corresponding LFIB entry is removed, then the agent
must remove this row shortly thereafter [RFC2579]." MUST remove this row shortly thereafter.
::= { mplsInSegmentEntry 9 } The agent MUST ensure that this object's value
remains consistent with the associated mplsXCEntry.
Conceptual rows having the value 'permanent'
need not allow write-access to any columnar
objects in the row.
The default value is volatile(2)."
REFERENCE
"See RFC2579."
DEFVAL { volatile }
::= { mplsInSegmentEntry 11 }
-- End of mplsInSegmentTable -- End of mplsInSegmentTable
-- in-segment performance table.
mplsInSegmentPerfTable OBJECT-TYPE mplsInSegmentPerfTable OBJECT-TYPE
SYNTAX SEQUENCE OF MplsInSegmentPerfEntry SYNTAX SEQUENCE OF MplsInSegmentPerfEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This table contains statistical information for "This table contains statistical information for
incoming MPLS segments to an LSR." incoming MPLS segments to an LSR."
::= { mplsLsrObjects 4 } ::= { mplsLsrObjects 5 }
mplsInSegmentPerfEntry OBJECT-TYPE mplsInSegmentPerfEntry OBJECT-TYPE
SYNTAX MplsInSegmentPerfEntry SYNTAX MplsInSegmentPerfEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An entry in this table contains statistical "An entry in this table contains statistical
information about one incoming segment which was information about one incoming segment which is
configured in the mplsInSegmentTable. The counters configured in the mplsInSegmentTable. The counters
in this entry should behave in a manner similar to in this entry should behave in a manner similar to
that of the interface. that of the interface.
mplsInSegmentPerfDiscontinuityTime indicates the mplsInSegmentPerfDiscontinuityTime indicates the
time of the last discontinuity in these objects." time of the last discontinuity in all of these
objects."
AUGMENTS { mplsInSegmentEntry } AUGMENTS { mplsInSegmentEntry }
::= { mplsInSegmentPerfTable 1 } ::= { mplsInSegmentPerfTable 1 }
MplsInSegmentPerfEntry ::= SEQUENCE { MplsInSegmentPerfEntry ::= SEQUENCE {
mplsInSegmentOctets Counter32, mplsInSegmentPerfOctets Counter32,
mplsInSegmentPackets Counter32, mplsInSegmentPerfPackets Counter32,
mplsInSegmentErrors Counter32, mplsInSegmentPerfErrors Counter32,
mplsInSegmentDiscards Counter32, mplsInSegmentPerfDiscards Counter32,
-- high capacity counter -- high capacity counter
mplsInSegmentHCOctets Counter64, mplsInSegmentPerfHCOctets Counter64,
mplsInSegmentPerfDiscontinuityTime TimeStamp mplsInSegmentPerfDiscontinuityTime TimeStamp
} }
mplsInSegmentOctets OBJECT-TYPE mplsInSegmentPerfOctets OBJECT-TYPE
SYNTAX Counter32 SYNTAX Counter32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This value represents the total number of octets "This value represents the total number of octets
received by this segment. It MUST be equal to the received by this segment. It MUST be equal to the
least significant 32 bits of mplsInSegmentHCOctets." least significant 32 bits of
mplsInSegmentPerfHCOctets
if mplsInSegmentPerfHCOctets is supported according to
the rules spelled out in RFC2863."
::= { mplsInSegmentPerfEntry 1 } ::= { mplsInSegmentPerfEntry 1 }
mplsInSegmentPackets OBJECT-TYPE mplsInSegmentPerfPackets OBJECT-TYPE
SYNTAX Counter32 SYNTAX Counter32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Total number of packets received by this segment." "Total number of packets received by this segment."
::= { mplsInSegmentPerfEntry 2 } ::= { mplsInSegmentPerfEntry 2 }
mplsInSegmentErrors OBJECT-TYPE mplsInSegmentPerfErrors OBJECT-TYPE
SYNTAX Counter32 SYNTAX Counter32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The number of errored packets received on this "The number of errored packets received on this
segment." segment."
::= { mplsInSegmentPerfEntry 3 } ::= { mplsInSegmentPerfEntry 3 }
mplsInSegmentDiscards OBJECT-TYPE mplsInSegmentPerfDiscards OBJECT-TYPE
SYNTAX Counter32 SYNTAX Counter32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The number of labeled packets received on this in- "The number of labeled packets received on this in-
segment, which were chosen to be discarded even segment, which were chosen to be discarded even
though no errors had been detected to prevent their though no errors had been detected to prevent their
being transmitted. One possible reason for being transmitted. One possible reason for
discarding such a labeled packet could be to free up discarding such a labeled packet could be to free up
buffer space." buffer space."
::= { mplsInSegmentPerfEntry 4 } ::= { mplsInSegmentPerfEntry 4 }
mplsInSegmentHCOctets OBJECT-TYPE mplsInSegmentPerfHCOctets OBJECT-TYPE
SYNTAX Counter64 SYNTAX Counter64
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The total number of octets received. This is the 64 "The total number of octets received. This is the 64
bit version of mplsInSegmentOctets." bit version of mplsInSegmentPerfOctets,
if mplsInSegmentPerfHCOctets is supported according to
the rules spelled out in RFC2863."
::= { mplsInSegmentPerfEntry 5 } ::= { mplsInSegmentPerfEntry 5 }
mplsInSegmentPerfDiscontinuityTime OBJECT-TYPE mplsInSegmentPerfDiscontinuityTime OBJECT-TYPE
SYNTAX TimeStamp SYNTAX TimeStamp
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The value of sysUpTime on the most recent occasion "The value of sysUpTime on the most recent occasion
at which any one or more of this segment's Counter32 at which any one or more of this segment's Counter32
or Counter64 suffered a discontinuity. If no such or Counter64 suffered a discontinuity. If no such
discontinuities have occurred since the last re- discontinuities have occurred since the last re-
initialization of the local management subsystem, initialization of the local management subsystem,
then this object contains a zero value." then this object contains a zero value."
::= { mplsInSegmentPerfEntry 6 } ::= { mplsInSegmentPerfEntry 6 }
-- End of mplsInSegmentPerfTable. -- End of mplsInSegmentPerfTable.
-- out-segment table.
mplsOutSegmentIndexNext OBJECT-TYPE mplsOutSegmentIndexNext OBJECT-TYPE
SYNTAX Unsigned32 (0..4294967295) SYNTAX MplsIndexType
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This object contains the next appropriate value to "This object contains the next available value to
be used for mplsOutSegmentIndex when creating be used for mplsOutSegmentIndex when creating entries
entries in the mplsOutSegmentTable. If the number in the mplsOutSegmentTable. The special value of a
of unassigned entries is exhausted, this object will a string containing the single octet 0x00 indicates
take on the value of 0. To obtain the indicates that no new entries can be created in this
mplsOutSegmentIndex value for a new entry, the table. Agents not allowing managers to create entries
manager must first issue a management protocol in this table MUST set this object to this special
retrieval operation to obtain the current value of value."
this object. The agent should modify the value to ::= { mplsLsrObjects 6 }
reflect the next unassigned index after each
retrieval operation. After a manager retrieves a
value the agent will determine through its local
policy when this index value will be made available
for reuse."
::= { mplsLsrObjects 5 }
mplsOutSegmentTable OBJECT-TYPE mplsOutSegmentTable OBJECT-TYPE
SYNTAX SEQUENCE OF MplsOutSegmentEntry SYNTAX SEQUENCE OF MplsOutSegmentEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This table contains a representation of the outgoing "This table contains a representation of the outgoing
segments from an LSR." segments from an LSR."
::= { mplsLsrObjects 6 } ::= { mplsLsrObjects 7 }
mplsOutSegmentEntry OBJECT-TYPE mplsOutSegmentEntry OBJECT-TYPE
SYNTAX MplsOutSegmentEntry SYNTAX MplsOutSegmentEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An entry in this table represents one outgoing "An entry in this table represents one outgoing
segment. An entry can be created by a network segment. An entry can be created by a network
administrator or an SNMP agent, or an MPLS signaling administrator, an SNMP agent, or an MPLS signaling
protocol. The object mplsOutSegmentOwner indicates protocol. The object mplsOutSegmentOwner indicates
the creator of this entry. The value of the creator of this entry. The value of
mplsOutSegmentRowStatus cannot be active(1)unless mplsOutSegmentRowStatus cannot be active(1)unless
the ifTable entry corresponding to the ifTable entry corresponding to
mplsOutSegmentIfIndex exists." 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 } INDEX { mplsOutSegmentIndex }
::= { mplsOutSegmentTable 1 } ::= { mplsOutSegmentTable 1 }
MplsOutSegmentEntry ::= SEQUENCE { MplsOutSegmentEntry ::= SEQUENCE {
mplsOutSegmentIndex Unsigned32, mplsOutSegmentIndex MplsIndexType,
mplsOutSegmentIfIndex InterfaceIndexOrZero, mplsOutSegmentInterface InterfaceIndexOrZero,
mplsOutSegmentPushTopLabel TruthValue, mplsOutSegmentPushTopLabel TruthValue,
mplsOutSegmentTopLabel MplsLabel, mplsOutSegmentTopLabel MplsLabel,
mplsOutSegmentNextHopIpAddrType InetAddressType, mplsOutSegmentTopLabelPtr RowPointer,
mplsOutSegmentNextHopIpAddr InetAddress, mplsOutSegmentNextHopAddrType InetAddressType,
mplsOutSegmentXCIndex Unsigned32, mplsOutSegmentNextHopAddr InetAddress,
mplsOutSegmentXCIndex MplsIndexType,
mplsOutSegmentOwner MplsOwner , mplsOutSegmentOwner MplsOwner ,
mplsOutSegmentTrafficParamPtr RowPointer, mplsOutSegmentTrafficParamPtr RowPointer,
mplsOutSegmentRowStatus RowStatus, mplsOutSegmentRowStatus RowStatus,
mplsOutSegmentStorageType StorageType mplsOutSegmentStorageType StorageType
} }
mplsOutSegmentIndex OBJECT-TYPE mplsOutSegmentIndex OBJECT-TYPE
SYNTAX Unsigned32(0..2147483647) SYNTAX MplsIndexType
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This value contains a unique index for this row. "This value contains a unique index for this row.
While a value of 0 is not valid as an index for this While a value of a string containing the single
row it can be supplied as a valid value to index octet 0x00 is not valid as an index for entries
mplsXCTable to access entries for which no out- in this table, it can be supplied as a valid value
segment has been configured." to index the mplsXCTable to represent entries for
which no out-segment has been configured or
exists."
::= { mplsOutSegmentEntry 1 } ::= { mplsOutSegmentEntry 1 }
mplsOutSegmentIfIndex OBJECT-TYPE mplsOutSegmentInterface OBJECT-TYPE
SYNTAX InterfaceIndex SYNTAX InterfaceIndexOrZero
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This value must contain the interface index of the "This value must contain the interface index of the
outgoing interface. This object cannot be modified outgoing interface. This object cannot be modified
if mplsOutSegmentRowStatus is active(1). The if mplsOutSegmentRowStatus is active(1). The
mplsOutSegmentRowStatus cannot be set to active(1) mplsOutSegmentRowStatus cannot be set to active(1)
until this object is set to a value corresponding to until this object is set to a value corresponding to
a valid ifEntry." a valid ifEntry."
::= { mplsOutSegmentEntry 2 } ::= { mplsOutSegmentEntry 2 }
mplsOutSegmentPushTopLabel OBJECT-TYPE mplsOutSegmentPushTopLabel OBJECT-TYPE
SYNTAX TruthValue SYNTAX TruthValue
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This value indicates whether or not a top label "This value indicates whether or not a top label
should be pushed onto the outgoing packet's label should be pushed onto the outgoing packet's label
stack. The value of this variable MUST be set to stack. The value of this variable MUST be set to
true if the outgoing interface does not support pop- true(1) if the outgoing interface does not support
and-go (for example an ATM interface) or if it is a pop-and-go (and no label stack remains). For example,
tunnel origination. Note that it is considered an on ATM interface, or if the segment represents a
error in the case that mplsOutSegmentPushTopLabel is tunnel origination. Note that it is considered
set to false, but the cross-connect entry which 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 refers to this out-segment has a non-zero
mplsLabelStackIndex. The LSR MUST ensure that this mplsLabelStackIndex. The LSR MUST ensure that this
situation does not happen. This object cannot be situation does not happen. This object cannot be
modified if mplsOutSegmentRowStatus is active(1)." modified if mplsOutSegmentRowStatus is active(1)."
DEFVAL { true } DEFVAL { true }
::= { mplsOutSegmentEntry 3 } ::= { mplsOutSegmentEntry 3 }
mplsOutSegmentTopLabel OBJECT-TYPE mplsOutSegmentTopLabel OBJECT-TYPE
SYNTAX MplsLabel SYNTAX MplsLabel
MAX-ACCESS read-create MAX-ACCESS read-create
skipping to change at page 27, line 13 skipping to change at page 28, line 18
"If mplsOutSegmentPushTopLabel is true then this "If mplsOutSegmentPushTopLabel is true then this
represents the label that should be pushed onto the represents the label that should be pushed onto the
top of the outgoing packet's label stack. Otherwise top of the outgoing packet's label stack. Otherwise
this value SHOULD be set to 0 by the management this value SHOULD be set to 0 by the management
station and MUST be ignored by the agent. This station and MUST be ignored by the agent. This
object cannot be modified if mplsOutSegmentRowStatus object cannot be modified if mplsOutSegmentRowStatus
is active(1)." is active(1)."
DEFVAL { 0 } DEFVAL { 0 }
::= { mplsOutSegmentEntry 4 } ::= { mplsOutSegmentEntry 4 }
mplsOutSegmentNextHopIpAddrType OBJECT-TYPE mplsOutSegmentTopLabelPtr OBJECT-TYPE
SYNTAX InetAddressType SYNTAX RowPointer
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Indicates that the next hop address type is IPv4 "If the label for this segment cannot be represented
when set to ipv4 (1) or IPv6 when set to ipv6 (2). fully within the mplsOutSegmentLabel object,
A value of unknown (0) is allowed only when the this object MUST point to the first accessible
outgoing interface is of type point-to-point. If any column of a conceptual row in an external table containing
other values are attempted in a set operation the the label. In this case, the mplsOutSegmentTopLabel
agent MUST return an inconsistentValue error. This object SHOULD be set to 0 and ignored. This object
object cannot be modified if mplsOutSegmentRowStatus MUST be set to zeroDotZero otherwise."
is active(1)." DEFVAL { zeroDotZero }
::= { mplsOutSegmentEntry 5 } ::= { mplsOutSegmentEntry 5 }
mplsOutSegmentNextHopIpAddr OBJECT-TYPE 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 SYNTAX InetAddress
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The IPv4 or IPv6 address of the next hop. Its value "The internet address of the next hop. The type of
is significant only when this address is determined by the value of the
mplsOutSegmentNextHopIpAddrType is ipv4 (1) or ipv6 mplslOutSegmentNextHopAddrType object.
(2). Otherwise a management entity SHOULD set this
to 0 and an agent MUST ignore it. Likewise an agent
MUST return a value of 0 for a retrieval operation.
This object cannot be modified if This object cannot be modified if
mplsOutSegmentRowStatus is active(1)." mplsOutSegmentRowStatus is active(1)."
::= { mplsOutSegmentEntry 6 } ::= { mplsOutSegmentEntry 7 }
mplsOutSegmentXCIndex OBJECT-TYPE mplsOutSegmentXCIndex OBJECT-TYPE
SYNTAX Unsigned32 (0..4294967295) SYNTAX MplsIndexType
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Index into mplsXCTable which identifies which cross- "Index into mplsXCTable which identifies which cross-
connect entry this segment is part of. A value of connect entry this segment is part of. A value of
zero indicates that this entry is not referred to by the string containing the single octet 0x00
any cross-connect entry. When a cross-connect entry indicates that this entry is not referred
is created which this out-segment is a part of, this to by any cross-connect entry. When a cross-connect
object is MUST be updated by the agent to reflect 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 the value of mplsXCIndex of that cross-connect
entry." entry."
::= { mplsOutSegmentEntry 7 } ::= { mplsOutSegmentEntry 8 }
mplsOutSegmentOwner OBJECT-TYPE mplsOutSegmentOwner OBJECT-TYPE
SYNTAX MplsOwner SYNTAX MplsOwner
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Denotes the entity which created and is responsible "Denotes the entity which created and is responsible
for managing this segment." for managing this segment."
::= { mplsOutSegmentEntry 8 } ::= { mplsOutSegmentEntry 9 }
mplsOutSegmentTrafficParamPtr OBJECT-TYPE mplsOutSegmentTrafficParamPtr OBJECT-TYPE
SYNTAX RowPointer SYNTAX RowPointer
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This variable represents a pointer to the traffic "This variable represents a pointer to the traffic
parameter specification for this out-segment. This parameter specification for this out-segment. This
value may point at an entry in the value may point at an entry in the
mplsTrafficParamTable to indicate which MplsTunnelResourceEntry in the MPLS-TE-STD-MIB (RFCnnnn)
mplsTrafficParamEntry is to be assigned to this
segment. This value may optionally point at an 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 externally defined traffic parameter specification
table. A value of zeroDotZero indicates best-effort table. A value of zeroDotZero indicates best-effort
treatment. By having the same value of this object, treatment. By having the same value of this object,
two or more segments can indicate resource sharing. two or more segments can indicate resource sharing
of such things as LSP queue space, etc.
This object cannot be modified if This object cannot be modified if
mplsOutSegmentRowStatus is active(1)." 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 } DEFVAL { zeroDotZero }
::= { mplsOutSegmentEntry 9 } ::= { mplsOutSegmentEntry 10 }
mplsOutSegmentRowStatus OBJECT-TYPE mplsOutSegmentRowStatus OBJECT-TYPE
SYNTAX RowStatus SYNTAX RowStatus
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"For creating, modifying, and deleting this row." "For creating, modifying, and deleting this row.
::= { mplsOutSegmentEntry 10 } 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 mplsOutSegmentStorageType OBJECT-TYPE
SYNTAX StorageType SYNTAX StorageType
MAX-ACCESS read-create MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This variable indicates the storage type for this "This variable indicates the storage type for this
object. This object cannot be modified if object. If this object is set to readOnly(5), and the
mplsOutSegmentRowStatus is active(1). If this
variable is set to readOnly(5), and the
corresponding LFIB entry is removed, then the agent corresponding LFIB entry is removed, then the agent
must remove this row shortly thereafter." MUST remove this row shortly thereafter RFC2579.
::= { mplsOutSegmentEntry 11 } The agent MUST ensure that this object's value
remains consistent with the associated mplsXCEntry.
Conceptual rows having the value 'permanent'
need not allow write-access to any columnar
objects in the row.
The default value is volatile(2)."
DEFVAL { volatile }
::= { mplsOutSegmentEntry 12 }
-- End of mplsOutSegmentTable -- End of mplsOutSegmentTable
-- out-segment performance table.
mplsOutSegmentPerfTable OBJECT-TYPE mplsOutSegmentPerfTable OBJECT-TYPE
SYNTAX SEQUENCE OF MplsOutSegmentPerfEntry SYNTAX SEQUENCE OF MplsOutSegmentPerfEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This table contains statistical information about "This table contains statistical information about
outgoing segments from an LSR. The counters in this outgoing segments from an LSR. The counters in this
entry should behave in a manner similar to that of entry should behave in a manner similar to that of
the interface." the interface."
::= { mplsLsrObjects 7 } ::= { mplsLsrObjects 8 }
mplsOutSegmentPerfEntry OBJECT-TYPE mplsOutSegmentPerfEntry OBJECT-TYPE
SYNTAX MplsOutSegmentPerfEntry SYNTAX MplsOutSegmentPerfEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An entry in this table contains statistical "An entry in this table contains statistical
information about one outgoing segment configured in information about one outgoing segment configured in
mplsOutSegmentTable. mplsOutSegmentTable.
mplsOutSegmentPerfDiscontinuityTime indicates the mplsOutSegmentPerfDiscontinuityTime indicates the
time of the last discontinuity in these objects. " time of the last discontinuity in these objects. "
AUGMENTS { mplsOutSegmentEntry } AUGMENTS { mplsOutSegmentEntry }
::= { mplsOutSegmentPerfTable 1 } ::= { mplsOutSegmentPerfTable 1 }
MplsOutSegmentPerfEntry ::= SEQUENCE { MplsOutSegmentPerfEntry ::= SEQUENCE {
mplsOutSegmentOctets Counter32, mplsOutSegmentPerfOctets Counter32,
mplsOutSegmentPackets Counter32, mplsOutSegmentPerfPackets Counter32,
mplsOutSegmentErrors Counter32, mplsOutSegmentPerfErrors Counter32,
mplsOutSegmentDiscards Counter32, mplsOutSegmentPerfDiscards Counter32,
-- HC counter -- HC counter
mplsOutSegmentHCOctets Counter64, mplsOutSegmentPerfHCOctets Counter64,
mplsOutSegmentPerfDiscontinuityTime TimeStamp mplsOutSegmentPerfDiscontinuityTime TimeStamp
} }
mplsOutSegmentOctets OBJECT-TYPE mplsOutSegmentPerfOctets OBJECT-TYPE
SYNTAX Counter32 SYNTAX Counter32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This value contains the total number of octets sent "This value contains the total number of octets sent
on this segment. It MUST be equal to the least on this segment. It MUST be equal to the least
significant 32 bits of mplsOutSegmentHCOctets." significant 32 bits of mplsOutSegmentPerfHCOctets
if mplsOutSegmentPerfHCOctets is supported according to
the rules spelled out in RFC2863."
::= { mplsOutSegmentPerfEntry 1 } ::= { mplsOutSegmentPerfEntry 1 }
mplsOutSegmentPackets OBJECT-TYPE mplsOutSegmentPerfPackets OBJECT-TYPE
SYNTAX Counter32 SYNTAX Counter32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This value contains the total number of packets sent "This value contains the total number of packets sent
on this segment." on this segment."
::= { mplsOutSegmentPerfEntry 2 } ::= { mplsOutSegmentPerfEntry 2 }
mplsOutSegmentErrors OBJECT-TYPE mplsOutSegmentPerfErrors OBJECT-TYPE
SYNTAX Counter32 SYNTAX Counter32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Number of packets that could not be sent due to "Number of packets that could not be sent due to
errors on this segment." errors on this segment."
::= { mplsOutSegmentPerfEntry 3 } ::= { mplsOutSegmentPerfEntry 3 }
mplsOutSegmentDiscards OBJECT-TYPE mplsOutSegmentPerfDiscards OBJECT-TYPE
SYNTAX Counter32 SYNTAX Counter32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The number of labeled packets received on this out- "The number of labeled packets attempted to be transmitted
segment, which were chosen to be discarded even on this out-segment, which were chosen to be discarded
though no errors had been detected to prevent their even though no errors had been detected to prevent their
being transmitted. One possible reason for being transmitted. One possible reason for
discarding such a labeled packet could be to free up discarding such a labeled packet could be to free up
buffer space." buffer space."
::= { mplsOutSegmentPerfEntry 4 } ::= { mplsOutSegmentPerfEntry 4 }
mplsOutSegmentHCOctets OBJECT-TYPE mplsOutSegmentPerfHCOctets OBJECT-TYPE
SYNTAX Counter64 SYNTAX Counter64
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Total number of octets sent. This is the 64 bit "Total number of octets sent. This is the 64 bit
version of mplsOutSegmentOctets." version of mplsOutSegmentPerfOctets,
if mplsOutSegmentPerfHCOctets is supported according to
the rules spelled out in RFC2863."
::= { mplsOutSegmentPerfEntry 5 } ::= { mplsOutSegmentPerfEntry 5 }
mplsOutSegmentPerfDiscontinuityTime OBJECT-TYPE mplsOutSegmentPerfDiscontinuityTime OBJECT-TYPE
SYNTAX TimeStamp SYNTAX TimeStamp
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The value of sysUpTime on the most recent occasion "The value of sysUpTime on the most recent occasion
at which any one or more of this segment's Counter32 at which any one or more of this segment's Counter32
or Counter64 suffered a discontinuity. If no such or Counter64 suffered a discontinuity. If no such
discontinuities have occurred since the last re- discontinuities have occurred since the last re-
initialization of the local management subsystem, initialization of the local management subsystem,
then this object contains a zero value." then this object contains a zero value."
::= { mplsOutSegmentPerfEntry 6 } ::= { mplsOutSegmentPerfEntry 6 }
-- End of mplsOutSegmentPerfTable. -- End of mplsOutSegmentPerfTable.
-- Cross-connect table. -- Cross-connect table.
mplsXCIndexNext OBJECT-TYPE mplsXCIndexNext OBJECT-TYPE
SYNTAX Unsigned32 (0..4294967295) SYNTAX MplsIndexType
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This object contains an appropriate value to be used "This object contains the next available value to
for mplsXCIndex when creating entries in the be used for mplsXCIndex when creating entries in
mplsXCTable. The value 0 indicates that no the mplsXCTable. A special value of the zero length
unassigned entries are available. To obtain the string indicates that no more new entries can be created
value of mplsXCIndex for a new entry in the in the relevant table. Agents not allowing managers
mplsXCTable, the manager issues a management to create entries in this table MUST set this value
protocol retrieval operation to obtain the current to the zero length string."
value of mplsXCIndex. After each retrieval ::= { mplsLsrObjects 9 }
operation, the agent should modify the value to
reflect the next unassigned index. After a manager
retrieves a value the agent will determine through
its local policy when this index value will be made
available for reuse."
::= { mplsLsrObjects 8 }
mplsXCTable OBJECT-TYPE mplsXCTable OBJECT-TYPE
SYNTAX SEQUENCE OF MplsXCEntry SYNTAX SEQUENCE OF MplsXCEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This table specifies information for switching "This table specifies information for switching
between LSP segments. It supports point-to-point, between LSP segments. It supports point-to-point,
point-to-multipoint and multipoint-to-point point-to-multipoint and multipoint-to-point
connections. mplsLabelStackTable specifies the connections. mplsLabelStackTable specifies the
label stack information for a cross-connect LSR and label stack information for a cross-connect LSR and
is referred to from mplsXCTable." is referred to from mplsXCTable."
::= { mplsLsrObjects 9 } ::= { mplsLsrObjects 10 }
mplsXCEntry OBJECT-TYPE mplsXCEntry OBJECT-TYPE
SYNTAX MplsXCEntry SYNTAX MplsXCEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"A row in this table represents one cross-connect "A row in this table represents one cross-connect
entry. It is indexed by the following objects: entry. It is indexed by the following objects:
- cross-connect index mplsXCIndex that uniquely - cross-connect index mplsXCIndex that uniquely
identifies a group of cross-connect entries identifies a group of cross-connect entries
- interface index of the in-segment,
mplsXCInSegmentIfIndex
- incoming label(s), mplsXCInSegmentLabel
- out-segment index, mplsXCOutSegmentIndex
- in-segment index, mplsXCInSegmentIndex
- out-segment index, mplsXCOutSegmentIndex
LSPs originating at this LSR: LSPs originating at this LSR:
These are represented by using the special These are represented by using the special
combination of values mplsXCInSegmentIfIndex=0 and of value of mplsXCInSegmentIndex set to the
mplsXCInSegmentLabel=0 as indexes. In this case string containing a single octet 0x00. In
the mplsXCOutSegmentIndex MUST be non-zero. this case the mplsXCOutSegmentIndex
MUST not be the string containing a single
octet 0x00.
LSPs terminating at this LSR: LSPs terminating at this LSR:
These are represented by using the special value These are represented by using the special value
mplsXCOutSegmentIndex=0 as index. mplsXCOutSegmentIndex set to the string containing
a single octet 0x00.
Special labels: Special labels:
Entries indexed by reserved MPLS label values 0 Entries indexed by the strings containing the
through 15 imply LSPs terminating at this LSR and reserved MPLS label values as a single octet 0x00
MUST have mplsXCOutSegmentIfIndex = 0. Note that through 0x0f (inclusive) imply LSPs terminating at
situations where LSPs are terminated with incoming this LSR. Note that situations where LSPs are
label equal to 0, should have terminated with incoming label equal to the string
mplsXCInSegmentIfIndex = 0 as well, but can be containing a single octet 0x00 can be distinguished
distinguished from LSPs originating at this LSR from LSPs originating at this LSR because the
because the mplsXCOutSegmentIfIndex = 0. The mplsXCOutSegmentIndex equals the string containing the
mplsXCOutSegmentIfIndex MUST only be set to 0 in single octet 0x00.
the case of LSPs terminating at this LSR.
An entry can be created by a network administrator An entry can be created by a network administrator
or by an SNMP agent as instructed by an MPLS or by an SNMP agent as instructed by an MPLS
signaling protocol." signaling protocol."
INDEX { INDEX { mplsXCIndex, mplsXCInSegmentIndex,
mplsXCIndex, mplsXCOutSegmentIndex }
mplsXCInSegmentIfIndex,
mplsXCInSegmentLabel,
mplsXCOutSegmentIndex
}
::= { mplsXCTable 1 } ::= { mplsXCTable 1 }
MplsXCEntry ::= SEQUENCE { MplsXCEntry ::= SEQUENCE {
mplsXCIndex Unsigned32, mplsXCIndex MplsIndexType,
mplsXCInSegmentIfIndex InterfaceIndexOrZero, mplsXCInSegmentIndex MplsIndexType,
mplsXCInSegmentLabel MplsLabel, mplsXCOutSegmentIndex MplsIndexType,
mplsXCOutSegmentIndex Unsigned32,
mplsXCLspId MplsLSPID, mplsXCLspId MplsLSPID,
mplsXCLabelStackIndex Unsigned32, mplsXCLabelStackIndex MplsIndexType,
mplsXCIsPersistent TruthValue,
mplsXCOwner MplsOwner , mplsXCOwner MplsOwner ,
mplsXCRowStatus RowStatus, mplsXCRowStatus RowStatus,
mplsXCStorageType StorageType, mplsXCStorageType StorageType,
mplsXCAdminStatus INTEGER, mplsXCAdminStatus INTEGER,
mplsXCOperStatus INTEGER mplsXCOperStatus INTEGER
} }
mplsXCIndex OBJECT-TYPE mplsXCIndex OBJECT-TYPE
SYNTAX Unsigned32 (1..2147483647) SYNTAX MplsIndexType
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Primary index for the conceptual row identifying a "Primary index for the conceptual row identifying a
group of cross-connect segments." group of cross-connect segments. The string
containing a single octet 0x00 is an invalid index."
::= { mplsXCEntry 1 } ::= { mplsXCEntry 1 }
mplsXCInSegmentIfIndex OBJECT-TYPE mplsXCInSegmentIndex OBJECT-TYPE
SYNTAX InterfaceIndexOrZero SYNTAX MplsIndexType
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Interface index of the in-segment for LSPs not "Incoming label index.
originating at this LSR. Zero (along with If this object is set to the string containing
mplsXCInSegmentLabel) otherwise." 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 } ::= { mplsXCEntry 2 }
mplsXCInSegmentLabel OBJECT-TYPE
SYNTAX MplsLabel
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Incoming label."
::= { mplsXCEntry 3 }
mplsXCOutSegmentIndex OBJECT-TYPE mplsXCOutSegmentIndex OBJECT-TYPE
SYNTAX Unsigned32 (1..2147483647) SYNTAX MplsIndexType
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Index of out-segment for LSPs not terminating on "Index of out-segment for LSPs not terminating on
this LSR; zero otherwise." this LSR if not set to the string containing the
::= { mplsXCEntry 4 } 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 mplsXCLspId OBJECT-TYPE
SYNTAX MplsLSPID SYNTAX MplsLSPID
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This value identifies the label switched path that "This value identifies the label switched path that
this cross-connect entry belongs to. This object this cross-connect entry belongs to. This object
cannot be modified if mplsXCRowStatus is active(1)." cannot be modified if mplsXCRowStatus is active(1)
::= { mplsXCEntry 5 } except for this object."
::= { mplsXCEntry 4 }
mplsXCLabelStackIndex OBJECT-TYPE mplsXCLabelStackIndex OBJECT-TYPE
SYNTAX Unsigned32 (0..4294967295) SYNTAX MplsIndexType
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Primary index into mplsLabelStackTable identifying a "Primary index into mplsLabelStackTable identifying a
stack of labels to be pushed beneath the top label. stack of labels to be pushed beneath the top label.
Note that the top label identified by the out- Note that the top label identified by the out-
segment ensures that all the components of a segment ensures that all the components of a
multipoint-to-point connection have the same multipoint-to-point connection have the same
outgoing label. A value of 0 indicates that no outgoing label. A value of the string containing the
labels are to be stacked beneath the top label. This single octet 0x00 indicates that no labels are to
object cannot be modified if mplsXCRowStatus is be stacked beneath the top label.
This object cannot be modified if mplsXCRowStatus is
active(1)." active(1)."
::= { mplsXCEntry 6 } ::= { mplsXCEntry 5 }
mplsXCIsPersistent OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Denotes whether or not this cross-connect entry and
associated in- and out-segments should be restored
automatically after failures. This value MUST be
set to false in cases where this cross-connect entry
was created by a signaling protocol. This object
cannot be modified if mplsXCRowStatus is active(1)."
DEFVAL { false }
::= { mplsXCEntry 7 }
mplsXCOwner OBJECT-TYPE mplsXCOwner OBJECT-TYPE
SYNTAX MplsOwner SYNTAX MplsOwner
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Denotes the entity that created and is responsible "Denotes the entity that created and is responsible
for managing this cross-connect. This object cannot for managing this cross-connect."
be modified if mplsXCRowStatus is active(1)." ::= { mplsXCEntry 6 }
::= { mplsXCEntry 8 }
mplsXCRowStatus OBJECT-TYPE mplsXCRowStatus OBJECT-TYPE
SYNTAX RowStatus SYNTAX RowStatus
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"For creating, modifying, and deleting this row." "For creating, modifying, and deleting this row.
::= { mplsXCEntry 9 } When a row in this table has a row in the active(1)
state, no objects in this row except this object
and the mplsXCStorageType can be modified.
Modification of mplsXCStorateType MUST be done
as specified in the description of that object."
::= { mplsXCEntry 7 }
mplsXCStorageType OBJECT-TYPE mplsXCStorageType OBJECT-TYPE
SYNTAX StorageType SYNTAX StorageType
MAX-ACCESS read-only MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Defines the storage type support provided for this "This variable indicates the storage type for this
object by the agent. If this variable is set to object. If this variable is set to readOnly(5), and
readOnly(5), and the corresponding LFIB entry is the corresponding LFIB entry is removed, then the
removed, then the agent must remove this row shortly agent MUST remove this row shortly thereafter.
thereafter."
::= { mplsXCEntry 10 } 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 mplsXCAdminStatus OBJECT-TYPE
SYNTAX INTEGER { SYNTAX INTEGER {
up(1), -- ready to pass packets up(1), -- ready to pass packets
down(2), down(2),
testing(3) -- in some test mode testing(3) -- in some test mode
} }
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The desired operational status of this segment." "The desired operational status of this segment."
::= { mplsXCEntry 11 } DEFVAL { up }
::= { mplsXCEntry 9 }
mplsXCOperStatus OBJECT-TYPE mplsXCOperStatus OBJECT-TYPE
SYNTAX INTEGER { SYNTAX INTEGER {
up(1), -- ready to pass packets up(1), -- ready to pass packets
down(2), down(2),
testing(3), -- in some test mode testing(3), -- in some test mode
unknown(4), -- status cannot be determined unknown(4), -- status cannot be determined
-- for some reason. -- for some reason.
dormant(5), dormant(5),
notPresent(6), -- some component is missing notPresent(6), -- some component is missing
lowerLayerDown(7) -- down due to the state of lowerLayerDown(7) -- down due to the state of
-- lower layer interfaces -- lower layer interfaces
} }
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The actual operational status of this cross- "The actual operational status of this cross-
connect." connect."
::= { mplsXCEntry 12 } ::= { mplsXCEntry 10 }
-- End of mplsXCTable -- End of mplsXCTable
-- Label stack table. -- Label stack table.
mplsMaxLabelStackDepth OBJECT-TYPE mplsMaxLabelStackDepth OBJECT-TYPE
SYNTAX Integer32 (1..2147483647) SYNTAX Unsigned32 (1..2147483647)
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The maximum stack depth supported by this LSR." "The maximum stack depth supported by this LSR."
::= { mplsLsrObjects 10 } ::= { mplsLsrObjects 11 }
mplsLabelStackIndexNext OBJECT-TYPE mplsLabelStackIndexNext OBJECT-TYPE
SYNTAX Unsigned32 (0..4294967295) SYNTAX MplsIndexType
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This object contains an appropriate value to be used "This object contains the next available value to
for mplsLabelStackIndex when creating entries in the be used for mplsLabelStackIndex when creating entries
mplsLabelStackTable. The value 0 indicates that no in the mplsLabelStackTable. The special string
unassigned entries are available. To obtain an containing the single octet 0x00
mplsLabelStackIndex value for a new entry, the indicates that no more new entries can be created
manager issues a management protocol retrieval in the relevant table. Agents not allowing managers
operation to obtain the current value of this to create entries in this table MUST set this value
object. After each retrieval operation, the agent to the string containing the single octet 0x00."
should modify the value to reflect the next ::= { mplsLsrObjects 12 }
unassigned index. After a manager retrieves a value
the agent will determine through its local policy
when this index value will be made available for
reuse."
::= { mplsLsrObjects 11 }
mplsLabelStackTable OBJECT-TYPE mplsLabelStackTable OBJECT-TYPE
SYNTAX SEQUENCE OF MplsLabelStackEntry SYNTAX SEQUENCE OF MplsLabelStackEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This table specifies the label stack to be pushed "This table specifies the label stack to be pushed
onto a packet, beneath the top label. Entries into onto a packet, beneath the top label. Entries into
this table are referred to from mplsXCTable." this table are referred to from mplsXCTable."
::= { mplsLsrObjects 12 } ::= { mplsLsrObjects 13 }
mplsLabelStackEntry OBJECT-TYPE mplsLabelStackEntry OBJECT-TYPE
SYNTAX MplsLabelStackEntry SYNTAX MplsLabelStackEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An entry in this table represents one label which is "An entry in this table represents one label which is
to be pushed onto an outgoing packet, beneath the to be pushed onto an outgoing packet, beneath the
top label. An entry can be created by a network top label. An entry can be created by a network
administrator or by an SNMP agent as instructed by administrator or by an SNMP agent as instructed by
an MPLS signaling protocol." an MPLS signaling protocol."
INDEX { mplsLabelStackIndex, mplsLabelStackLabelIndex } INDEX { mplsLabelStackIndex, mplsLabelStackLabelIndex }
::= { mplsLabelStackTable 1 } ::= { mplsLabelStackTable 1 }
MplsLabelStackEntry ::= SEQUENCE { MplsLabelStackEntry ::= SEQUENCE {
mplsLabelStackIndex Unsigned32, mplsLabelStackIndex MplsIndexType,
mplsLabelStackLabelIndex Unsigned32, mplsLabelStackLabelIndex Unsigned32,
mplsLabelStackLabel MplsLabel, mplsLabelStackLabel MplsLabel,
mplsLabelStackLabelPtr RowPointer,
mplsLabelStackRowStatus RowStatus, mplsLabelStackRowStatus RowStatus,
mplsLabelStackStorageType StorageType mplsLabelStackStorageType StorageType
} }
mplsLabelStackIndex OBJECT-TYPE mplsLabelStackIndex OBJECT-TYPE
SYNTAX Unsigned32 (1..2147483647) SYNTAX MplsIndexType
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Primary index for this row identifying a stack of "Primary index for this row identifying a stack of
labels to be pushed on an outgoing packet, beneath labels to be pushed on an outgoing packet, beneath
the top label." the top label. An index containing the string with
a single octet 0x00 MUST not be used."
::= { mplsLabelStackEntry 1 } ::= { mplsLabelStackEntry 1 }
mplsLabelStackLabelIndex OBJECT-TYPE mplsLabelStackLabelIndex OBJECT-TYPE
SYNTAX Unsigned32 (1..2147483647) SYNTAX Unsigned32 (1..2147483647)
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Secondary index for this row identifying one label "Secondary index for this row identifying one label
of the stack. Note that an entry with a smaller of the stack. Note that an entry with a smaller
mplsLabelStackLabelIndex would refer to a label mplsLabelStackLabelIndex would refer to a label
skipping to change at page 37, line 45 skipping to change at page 39, line 33
::= { mplsLabelStackEntry 2 } ::= { mplsLabelStackEntry 2 }
mplsLabelStackLabel OBJECT-TYPE mplsLabelStackLabel OBJECT-TYPE
SYNTAX MplsLabel SYNTAX MplsLabel
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The label to pushed." "The label to pushed."
::= { mplsLabelStackEntry 3 } ::= { mplsLabelStackEntry 3 }
mplsLabelStackRowStatus OBJECT-TYPE mplsLabelStackLabelPtr OBJECT-TYPE
SYNTAX RowStatus SYNTAX RowPointer
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"For creating, modifying, and deleting this row." "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 } ::= { mplsLabelStackEntry 4 }
mplsLabelStackStorageType OBJECT-TYPE mplsLabelStackRowStatus OBJECT-TYPE
SYNTAX StorageType
MAX-ACCESS read-create
STATUS current
DESCRIPTION
" Defines the storage type support provided for this
object by the agent. If this variable is set to
readOnly(5), and the corresponding LFIB entry is
removed, then the agent must remove this row shortly
thereafter."
::= { mplsLabelStackEntry 5 }
mplsTrafficParamIndexNext OBJECT-TYPE
SYNTAX Unsigned32 (0..4294967295)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object contains an appropriate value which will
be used for mplsTrafficParamIndex when creating
entries in the mplsTrafficParamTable. The value 0
indicates that no unassigned entries are available.
To obtain the mplsTrafficParamIndex value for a new
entry, the manager issues a management protocol
retrieval operation to obtain the current value of
this object. After each retrieval operation, the
agent should modify the value to reflect the next
unassigned index. After a manager retrieves a value
the agent will determine through its local policy
when this index value will be made available for
reuse."
::= { mplsLsrObjects 13 }
mplsTrafficParamTable OBJECT-TYPE
SYNTAX SEQUENCE OF MplsTrafficParamEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table specifies the Traffic Parameter objects
for in and out-segments."
::= { mplsLsrObjects 14 }
mplsTrafficParamEntry OBJECT-TYPE
SYNTAX MplsTrafficParamEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry in this table represents the TrafficParam
objects for one or more in or out segments. A
single entry can be pointed to by multiple segments
indicating resource sharing."
INDEX { mplsTrafficParamIndex }
::= { mplsTrafficParamTable 1 }
MplsTrafficParamEntry ::= SEQUENCE {
mplsTrafficParamIndex Unsigned32,
mplsTrafficParamMaxRate MplsBitRate,
mplsTrafficParamMeanRate MplsBitRate,
mplsTrafficParamMaxBurstSize MplsBurstSize,
mplsTrafficParamRowStatus RowStatus,
mplsTrafficParamStorageType StorageType
}
mplsTrafficParamIndex OBJECT-TYPE
SYNTAX Unsigned32 (1..2147483647)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Uniquely identifies this row of the table. Note
that zero represents an invalid index."
::= { mplsTrafficParamEntry 1 }
mplsTrafficParamMaxRate OBJECT-TYPE
SYNTAX MplsBitRate
UNITS "kilobits per second"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Maximum rate in kilobits/second."
::= { mplsTrafficParamEntry 2 }
mplsTrafficParamMeanRate OBJECT-TYPE
SYNTAX MplsBitRate
UNITS "kilobits per second"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Mean rate in kilobits/second."
::= { mplsTrafficParamEntry 3 }
mplsTrafficParamMaxBurstSize OBJECT-TYPE
SYNTAX MplsBurstSize
UNITS "bytes"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Maximum burst size in bytes."
::= { mplsTrafficParamEntry 4 }
mplsTrafficParamRowStatus OBJECT-TYPE
SYNTAX RowStatus SYNTAX RowStatus
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"For creating, modifying, and deleting this row." "For creating, modifying, and deleting this row.
::= { mplsTrafficParamEntry 5 }
mplsTrafficParamStorageType OBJECT-TYPE 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 SYNTAX StorageType
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
" Defines the storage type support provided for this "This variable indicates the storage type for this
object by the agent. If this variable is set to object. This object cannot be modified if
readOnly(5), and the corresponding LFIB entry is mplsLabelStackRowStatus is active(1). If this
removed, then the agent must remove this row shortly variable is set to readOnly(5), and the
thereafter." corresponding LFIB entry is removed, then the agent
::= { mplsTrafficParamEntry 6 } MUST remove this row shortly thereafter RFC2579.
No objects are required to be writable for
rows in this table with this object set to
permanent(4). The default value is volatile(2).
The agent MUST ensure that all related entries
in this table retain the same value for this
object. Agents MUST ensure that the storage type
for all entries related to a particular mplsXCEntry
retain the same value for this object as the
mplsXCEntry's StorageType."
DEFVAL { volatile }
::= { mplsLabelStackEntry 6 }
-- End of mplsLabelStackTable
-- Notification Configuration -- Notification Configuration
mplsXCNotificationsEnable OBJECT-TYPE mplsXCNotificationsEnable OBJECT-TYPE
SYNTAX TruthValue SYNTAX TruthValue
MAX-ACCESS read-write MAX-ACCESS read-write
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"If this object is set to true(1), then it enables "If this object is set to true(1), then it enables
the emission of mplsXCUp and mplsXCDown the emission of mplsXCUp and mplsXCDown
notifications; otherwise these notifications are not notifications; otherwise these notifications are not
emitted." emitted."
REFERENCE
"See also RFC3413 for explanation that
notifications are under the ultimate control of the
MIB modules in this document."
DEFVAL { false } DEFVAL { false }
::= { mplsLsrObjects 15 } ::= { mplsLsrObjects 14 }
-- Cross-connect. -- Cross-connect.
mplsXCUp NOTIFICATION-TYPE mplsXCUp NOTIFICATION-TYPE
OBJECTS { OBJECTS { mplsXCOperStatus, -- start of range
mplsXCOperStatus, -- start of range
mplsXCOperStatus -- end of range mplsXCOperStatus -- end of range
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This notification is generated when the "This notification is generated when the
mplsXCOperStatus object for one or more contiguous mplsXCOperStatus object for one or more contiguous
entries in mplsXCTable are about to enter the up(1) entries in mplsXCTable are about to enter the up(1)
state from some other. The included values of state from some other state. The included values of
mplsXCOperStatus MUST both be set equal to this mplsXCOperStatus MUST both be set equal to this
other state. The two instances of mplsXCOperStatus new state (i.e: up(1)). The two instances of
in this notification indicate the range of indexes mplsXCOperStatus in this notification indicate the range
that are affected. Note that all the indexes of the of indexes that are affected. Note that all the indexes
two ends of the range can be derived from the of the two ends of the range can be derived from the
instance identifiers of these two objects. For instance identifiers of these two objects. For
cases where a contiguous range of cross-connects cases where a contiguous range of cross-connects
have transitioned into the up(1) state at roughly have transitioned into the up(1) state at roughly
the same time, the device SHOULD issue a single the same time, the device SHOULD issue a single
notification for each range of contiguous indexes in notification for each range of contiguous indexes in
an effort to minimize the emission of a large number an effort to minimize the emission of a large number
of notifications. If a notification has to be of notifications. If a notification has to be
issued for just a single cross-connect entry, then issued for just a single cross-connect entry, then
the instance identifier (and values) of the two the instance identifier (and values) of the two
mplsXCOperStatus objects MUST be the identical." mplsXCOperStatus objects MUST be the identical."
skipping to change at page 41, line 31 skipping to change at page 41, line 42
mplsXCDown NOTIFICATION-TYPE mplsXCDown NOTIFICATION-TYPE
OBJECTS { OBJECTS {
mplsXCOperStatus, -- start of range mplsXCOperStatus, -- start of range
mplsXCOperStatus -- end of range mplsXCOperStatus -- end of range
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
" This notification is generated when the " This notification is generated when the
mplsXCOperStatus object for one or more contiguous mplsXCOperStatus object for one or more contiguous
entries in mplsXCTable are about to enter the entries in mplsXCTable are about to enter the
down(2) state from some other. The included values down(2) state from some other state. The included values
of mplsXCOperStatus MUST both be set equal to this of mplsXCOperStatus MUST both be set equal to this
other state. The two instances of mplsXCOperStatus down(2) state. The two instances of mplsXCOperStatus
in this notification indicate the range of indexes in this notification indicate the range of indexes
that are affected. Note that all the indexes of the that are affected. Note that all the indexes of the
two ends of the range can be derived from the two ends of the range can be derived from the
instance identifiers of these two objects. For instance identifiers of these two objects. For
cases where a contiguous range of cross-connects cases where a contiguous range of cross-connects
have transitioned into the down(2) state at roughly have transitioned into the down(2) state at roughly
the same time, the device SHOULD issue a single the same time, the device SHOULD issue a single
notification for each range of contiguous indexes in notification for each range of contiguous indexes in
an effort to minimize the emission of a large number an effort to minimize the emission of a large number
of notifications. If a notification has to be of notifications. If a notification has to be
issued for just a single cross-connect entry, then issued for just a single cross-connect entry, then
the instance identifier (and values) of the two the instance identifier (and values) of the two
mplsXCOperStatus objects MUST be the identical." mplsXCOperStatus objects MUST be identical."
::= { mplsLsrNotifications 2 } ::= { mplsLsrNotifications 2 }
-- End of notifications. -- End of notifications.
-- Module compliance. -- Module compliance.
mplsLsrGroups mplsLsrGroups
OBJECT IDENTIFIER ::= { mplsLsrConformance 1 } OBJECT IDENTIFIER ::= { mplsLsrConformance 1 }
mplsLsrCompliances mplsLsrCompliances
OBJECT IDENTIFIER ::= { mplsLsrConformance 2 } OBJECT IDENTIFIER ::= { mplsLsrConformance 2 }
mplsLsrModuleCompliance MODULE-COMPLIANCE -- Compliance requirement for fully compliant implementations.
mplsLsrModuleFullCompliance MODULE-COMPLIANCE
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Compliance statement for agents that support the "Compliance statement for agents that provide full
MPLS-LSR-MIB." support for MPLS-LSR-STD-MIB."
MODULE -- this module
-- The mandatory groups have to be implemented MODULE IF-MIB -- The Interfaces Group MIB, RFC 2863.
-- by all LSRs. However, they may all be supported MANDATORY-GROUPS {
-- as read-only objects in the case where manual ifGeneralInformationGroup,
-- configuration is unsupported. ifCounterDiscontinuityGroup
}
MODULE -- This module.
MANDATORY-GROUPS { MANDATORY-GROUPS {
mplsInterfaceGroup, mplsInterfaceGroup,
mplsInSegmentGroup, mplsInSegmentGroup,
mplsOutSegmentGroup, mplsOutSegmentGroup,
mplsXCGroup, mplsXCGroup,
mplsPerfGroup, mplsPerfGroup,
mplsSegmentDiscontinuityGroup mplsLsrNotificationGroup
}
::= { 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 modules."
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 GROUP mplsHCInSegmentPerfGroup
DESCRIPTION DESCRIPTION
"This group is mandatory for those in-segment "This group is mandatory for those in-segment
entries for which the object entries for which the object
mplsInSegmentOutOctets wraps around too mplsInSegmentOutOctets wraps around too
quickly." quickly based on the criteria specified in
RFC2863 for high-capacity counters."
GROUP mplsHCOutSegmentPerfGroup GROUP mplsHCOutSegmentPerfGroup
DESCRIPTION DESCRIPTION
"This group is mandatory for those out-segment "This group is mandatory for those out-segment
entries for which the object entries for which the object
mplsOutSegmentOctets wraps around too quickly." mplsOutSegmentPerfOctets wraps around too quickly
based on the criteria specified in RFC2863
GROUP mplsTrafficParamGroup for high-capacity counters."
DESCRIPTION
"This group is mandatory for those LSRs that
support QoS resource reservation."
-- Depending on whether the device implements
-- persistent cross-connects or not one of the
-- following two groups is mandatory.
GROUP mplsXCIsPersistentGroup
DESCRIPTION
"This group is mandatory for devices which
support persistent cross-connects. The
following constraints apply: mplsXCIsPersistent
must at least be read-only returning true(2)."
GROUP mplsXCIsNotPersistentGroup
DESCRIPTION
"This group is mandatory for devices which
support non-persistent cross-connects. The
following constraints apply: mplsXCIsPersistent
must at least be read-only returning false(1)."
-- mplsInSegmentTable -- mplsInSegmentTable
OBJECT mplsInSegmentLabel
OBJECT mplsInSegmentXCIndex MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
"Write access is not required." "Write access is not required."
OBJECT mplsInSegmentLabelPtr
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT mplsInSegmentNPop OBJECT mplsInSegmentNPop
MIN-ACCESS read-only MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
"Write access is not required. This object "Write access is not required. This object
should be set to 1 if it is read-only." SHOULD be set to 1 if it is read-only."
OBJECT mplsInSegmentAddrFamily OBJECT mplsInSegmentAddrFamily
DESCRIPTION DESCRIPTION
"Write access is not required. A value of "Write access is not required. A value of
other(0) should be supported because there may other(0) should be supported because there may
be cases where the agent may not know about or be cases where the agent may not know about or
support any address types." support any address types."
OBJECT mplsInSegmentRowStatus
SYNTAX RowStatus { active(1), notInService(2) }
WRITE-SYNTAX RowStatus { notInService(2), createAndGo(4),
destroy(6) }
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT mplsInSegmentStorageType OBJECT mplsInSegmentStorageType
SYNTAX INTEGER { other(1) } MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
"Only other(1) needs to be supported." "Only readOnly(5) needs to be supported."
-- mplsOutSegmentTable -- mplsOutSegmentTable
OBJECT mplsOutSegmentInterface
OBJECT mplsOutSegmentIfIndex
MIN-ACCESS read-only MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
"Write access is not required." "Write access is not required."
OBJECT mplsOutSegmentPushTopLabel OBJECT mplsOutSegmentPushTopLabel
MIN-ACCESS read-only MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
"Write access is not required." "Write access is not required."
OBJECT mplsOutSegmentTopLabel OBJECT mplsOutSegmentTopLabel
MIN-ACCESS read-only MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
"Write access is not required." "Write access is not required."
OBJECT mplsOutSegmentNextHopIpAddrType OBJECT mplsOutSegmentTopLabelPtr
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT mplsOutSegmentNextHopAddrType
SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) } SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) }
MIN-ACCESS read-only MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
"An implementation is only required to support "Write access is not required. Only
ipv4(1) and ipv6(2)." IPv4(1), IPv6(2) and unknown(3) sizes
are required."
OBJECT mplsOutSegmentNextHopIpAddr OBJECT mplsOutSegmentNextHopAddr
SYNTAX InetAddress (SIZE(0|4|16)) SYNTAX InetAddress (SIZE(0|4|16))
MIN-ACCESS read-only MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
"An implementation is only required to support "An implementation is only required to support unknown(0),
IPv4 and globally unique IPv6 addresses. Write IPv4(1) and IPv6(2) addresses. Write access is not
access is not required." required."
OBJECT mplsOutSegmentRowStatus OBJECT mplsOutSegmentRowStatus
SYNTAX INTEGER { SYNTAX RowStatus { active(1), notInService(2) }
active(1), WRITE-SYNTAX RowStatus { notInService(2), createAndGo(4),
notInService(2), destroy(6) }
createAndGo(4),
destroy(6)
}
MIN-ACCESS read-only MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
"The notReady(3) and createAndWait(5) states need "Read only support is required."
not be supported."
OBJECT mplsOutSegmentStorageType OBJECT mplsOutSegmentStorageType
SYNTAX INTEGER { other(1) } MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
"Only other(1) needs to be supported." "Only readOnly(5) needs to be supported."
-- mplsXCTable -- mplsXCTable
OBJECT mplsXCLabelStackIndex OBJECT mplsXCLabelStackIndex
MIN-ACCESS read-only MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
"Write access is not required." "Write access is not required."
OBJECT mplsXCIsPersistent OBJECT mplsXCAdminStatus
MIN-ACCESS read-only
DESCRIPTION
"Read only support is required."
OBJECT mplsXCOperStatus
MIN-ACCESS read-only
DESCRIPTION
"Read only support is required."
OBJECT mplsXCRowStatus
SYNTAX RowStatus { active(1), notInService(2) }
WRITE-SYNTAX RowStatus { notInService(2), createAndGo(4),
destroy(6) }
MIN-ACCESS read-only
DESCRIPTION
"Read only support required."
OBJECT mplsXCStorageType
MIN-ACCESS read-only MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
"Write access is not required." "Write access is not required."
OBJECT mplsXCAdminStatus OBJECT mplsLabelStackLabel
SYNTAX INTEGER { up(1), down(2) }
MIN-ACCESS read-only MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
"A value of testing(3) need not be supported." "Write access is not required."
OBJECT mplsXCOperStatus OBJECT mplsLabelStackLabelPtr
SYNTAX INTEGER { up(1), down(2) } MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
"Only up(1) and down(2) need to be supported." "Write access is not required."
OBJECT mplsXCRowStatus OBJECT mplsLabelStackRowStatus
SYNTAX INTEGER { SYNTAX RowStatus { active(1), notInService(2) }
active(1), WRITE-SYNTAX RowStatus { notInService(2), createAndGo(4),
notInService(2), destroy(6) }
createAndGo(4),
destroy(6)
}
MIN-ACCESS read-only MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
"The notReady(3) and createAndWait(5) states need "Write access is not required."
not be supported."
OBJECT mplsXCStorageType OBJECT mplsLabelStackStorageType
SYNTAX INTEGER { other(1) } MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
"Only other(1) needs to be supported." "Write access is not required."
::= { mplsLsrCompliances 1 } ::= { mplsLsrCompliances 2 }
-- Units of conformance. -- Units of conformance.
mplsInterfaceGroup OBJECT-GROUP mplsInterfaceGroup OBJECT-GROUP
OBJECTS { OBJECTS {
mplsInterfaceLabelMinIn, mplsInterfaceLabelMinIn,
mplsInterfaceLabelMaxIn, mplsInterfaceLabelMaxIn,
mplsInterfaceLabelMinOut, mplsInterfaceLabelMinOut,
mplsInterfaceLabelMaxOut, mplsInterfaceLabelMaxOut,
mplsInterfaceTotalBandwidth, mplsInterfaceTotalBandwidth,
mplsInterfaceAvailableBandwidth, mplsInterfaceAvailableBandwidth,
mplsInterfaceLabelParticipationType mplsInterfaceLabelParticipationType
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Collection of objects needed for MPLS interface "Collection of objects needed for MPLS interface
configuration and performance information." and interface performance information."
::= { mplsLsrGroups 1 } ::= { mplsLsrGroups 1 }
mplsInSegmentGroup OBJECT-GROUP mplsInSegmentGroup OBJECT-GROUP
OBJECTS { OBJECTS {
mplsInSegmentIndexNext,
mplsInSegmentInterface,
mplsInSegmentLabel,
mplsInSegmentLabelPtr,
mplsInSegmentNPop, mplsInSegmentNPop,
mplsInSegmentAddrFamily, mplsInSegmentAddrFamily,
mplsInSegmentXCIndex, mplsInSegmentXCIndex,
mplsInSegmentOctets,
mplsInSegmentDiscards,
mplsInSegmentOwner, mplsInSegmentOwner,
mplsInSegmentRowStatus, mplsInSegmentRowStatus,
mplsInSegmentStorageType, mplsInSegmentStorageType,
mplsInSegmentTrafficParamPtr mplsInSegmentTrafficParamPtr
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Collection of objects needed to implement an in- "Collection of objects needed to implement an in-
segment." segment."
::= { mplsLsrGroups 2 } ::= { mplsLsrGroups 2 }
mplsOutSegmentGroup OBJECT-GROUP mplsOutSegmentGroup OBJECT-GROUP
OBJECTS { OBJECTS {
mplsOutSegmentIndexNext, mplsOutSegmentIndexNext,
mplsOutSegmentIfIndex, mplsOutSegmentInterface,
mplsOutSegmentPushTopLabel, mplsOutSegmentPushTopLabel,
mplsOutSegmentTopLabel, mplsOutSegmentTopLabel,
mplsOutSegmentNextHopIpAddrType, mplsOutSegmentTopLabelPtr,
mplsOutSegmentNextHopIpAddr, mplsOutSegmentNextHopAddrType,
mplsOutSegmentNextHopAddr,
mplsOutSegmentXCIndex, mplsOutSegmentXCIndex,
mplsOutSegmentOwner, mplsOutSegmentOwner,
mplsOutSegmentOctets, mplsOutSegmentPerfOctets,
mplsOutSegmentDiscards, mplsOutSegmentPerfDiscards,
mplsOutSegmentErrors, mplsOutSegmentPerfErrors,
mplsOutSegmentRowStatus, mplsOutSegmentRowStatus,
mplsOutSegmentStorageType, mplsOutSegmentStorageType,
mplsOutSegmentTrafficParamPtr mplsOutSegmentTrafficParamPtr
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Collection of objects needed to implement an out- "Collection of objects needed to implement an out-
segment." segment."
::= { mplsLsrGroups 3 } ::= { mplsLsrGroups 3 }
mplsXCGroup OBJECT-GROUP mplsXCGroup OBJECT-GROUP
OBJECTS { OBJECTS {
mplsXCIndexNext, mplsXCIndexNext,
mplsXCLspId,
mplsXCLabelStackIndex, mplsXCLabelStackIndex,
mplsXCOwner, mplsXCOwner,
mplsXCStorageType,
mplsXCAdminStatus, mplsXCAdminStatus,
mplsXCOperStatus, mplsXCOperStatus,
mplsXCRowStatus, mplsXCRowStatus,
mplsXCNotificationsEnable, mplsXCNotificationsEnable
mplsXCStorageType
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Collection of objects needed to implement a "Collection of objects needed to implement a
cross-connect entry." cross-connect entry."
::= { mplsLsrGroups 4 } ::= { mplsLsrGroups 4 }
mplsXCOptionalGroup OBJECT-GROUP
OBJECTS { mplsXCLspId }
STATUS current
DESCRIPTION
"Collection of optional objects for implementing
a cross-connect entry."
::= { mplsLsrGroups 5 }
mplsPerfGroup OBJECT-GROUP mplsPerfGroup OBJECT-GROUP
OBJECTS { OBJECTS {
mplsInSegmentOctets, mplsInSegmentPerfOctets,
mplsInSegmentPackets, mplsInSegmentPerfPackets,
mplsInSegmentErrors, mplsInSegmentPerfErrors,
mplsInSegmentDiscards, mplsInSegmentPerfDiscards,
mplsOutSegmentOctets, mplsInSegmentPerfDiscontinuityTime,
mplsOutSegmentPackets, mplsOutSegmentPerfOctets,
mplsOutSegmentDiscards, mplsOutSegmentPerfPackets,
mplsInterfaceInLabelsUsed, mplsOutSegmentPerfDiscards,
mplsInterfaceLabelLookupFailures , mplsOutSegmentPerfDiscontinuityTime,
mplsInterfaceOutFragments, mplsInterfacePerfInLabelsInUse,
mplsInterfaceOutLabelsUsed mplsInterfacePerfInLabelLookupFailures,
mplsInterfacePerfOutFragmentedPkts,
mplsInterfacePerfOutLabelsInUse
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Collection of objects providing performance "Collection of objects providing performance
information information
about an LSR." about an LSR."
::= { mplsLsrGroups 6 } ::= { mplsLsrGroups 5 }
mplsHCInSegmentPerfGroup OBJECT-GROUP mplsHCInSegmentPerfGroup OBJECT-GROUP
OBJECTS { mplsInSegmentHCOctets } OBJECTS { mplsInSegmentPerfHCOctets }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Object(s) providing performance information "Object(s) providing performance information
specific to out-segments for which the object specific to out-segments for which the object
mplsInterfaceInOctets wraps around too quickly." mplsInterfaceInOctets wraps around too quickly."
::= { mplsLsrGroups 7 } ::= { mplsLsrGroups 6 }
mplsHCOutSegmentPerfGroup OBJECT-GROUP mplsHCOutSegmentPerfGroup OBJECT-GROUP
OBJECTS { mplsOutSegmentHCOctets } OBJECTS { mplsOutSegmentPerfHCOctets }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Object(s) providing performance information "Object(s) providing performance information
specific to out-segments for which the object specific to out-segments for which the object
mplsInterfaceOutOctets wraps around too mplsInterfaceOutOctets wraps around too
quickly." quickly."
::= { mplsLsrGroups 8 } ::= { mplsLsrGroups 7 }
mplsTrafficParamGroup OBJECT-GROUP
OBJECTS {
mplsTrafficParamIndexNext,
mplsTrafficParamMaxRate,
mplsTrafficParamMeanRate,
mplsTrafficParamMaxBurstSize,
mplsTrafficParamRowStatus,
mplsTrafficParamStorageType
}
STATUS current
DESCRIPTION
"Object(s) required for supporting QoS resource
reservation."
::= { mplsLsrGroups 9 }
mplsXCIsPersistentGroup OBJECT-GROUP
OBJECTS { mplsXCIsPersistent }
STATUS current
DESCRIPTION
"Objects needed to support persistent cross-
connects."
::= { mplsLsrGroups 10 }
mplsXCIsNotPersistentGroup OBJECT-GROUP
OBJECTS { mplsXCIsPersistent }
STATUS current
DESCRIPTION
"Objects needed to support non-persistent cross-
connects."
::= { mplsLsrGroups 11 }
mplsLabelStackGroup OBJECT-GROUP mplsLabelStackGroup OBJECT-GROUP
OBJECTS { OBJECTS {
mplsLabelStackLabel, mplsLabelStackLabel,
mplsLabelStackLabelPtr,
mplsLabelStackRowStatus, mplsLabelStackRowStatus,
mplsLabelStackStorageType, mplsLabelStackStorageType,
mplsMaxLabelStackDepth, mplsMaxLabelStackDepth,
mplsLabelStackIndexNext mplsLabelStackIndexNext
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Objects needed to support label stacking which "Objects needed to support label stacking which
is an optional feature for an LSR." is an optional feature for an LSR."
::= { mplsLsrGroups 12 } ::= { mplsLsrGroups 8 }
mplsSegmentDiscontinuityGroup OBJECT-GROUP
OBJECTS {
mplsInSegmentPerfDiscontinuityTime,
mplsOutSegmentPerfDiscontinuityTime
}
STATUS current
DESCRIPTION
" A collection of objects providing information
specific to segment discontinuities.."
::= { mplsLsrGroups 13 }
mplsLsrNotificationGroup NOTIFICATION-GROUP mplsLsrNotificationGroup NOTIFICATION-GROUP
NOTIFICATIONS { NOTIFICATIONS {
mplsXCUp, mplsXCUp,
mplsXCDown mplsXCDown
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Set of notifications implemented in this module. "Set of notifications implemented in this module.
None is mandatory." None is mandatory."
::= { mplsLsrGroups 14 } ::= { mplsLsrGroups 9 }
END END
12. Security Considerations 11. Security Considerations
It is clear that this MIB is potentially useful for monitoring of
MPLS LSRs. This MIB can also be used for configuration of certain
objects, and anything that can be configured can be incorrectly
configured, with potentially disastrous results.
At this writing, no security holes have been identified beyond It is clear that this MIB module is potentially useful for
those that SNMP Security [RFC2571] is itself intended to address. monitoring of MPLS LSRs. This MIB can also be used for
These relate to primarily controlled access to sensitive configuration of certain objects, and anything that can be
information and the ability to configure a device - or which might configured can be incorrectly configured, with potentially
result from operator error, which is beyond the scope of any disastrous results.
security architecture.
There are a number of management objects defined in this MIB which There are a number of management objects defined in this MIB module
have a MAX-ACCESS clause of read-write and/or read-create. Such with a MAX-ACCESS clause of read-write and/or read-create. Such
objects may be considered sensitive or vulnerable in some network objects may be considered sensitive or vulnerable in some network
environments. The support for SET operations in a non-secure environments. The support for SET operations in a non-secure
environment without proper protection can have a negative effect environment without proper protection can have a negative effect on
on network operations. The use of SNMP Version 3 is recommended network operations. These are the tables and objects and their
over prior versions, for configuration control, as its security sensitivity/vulnerability:
model is improved.
SNMPv1 or SNMPv2 are by themselves not a secure environment. Even
if the network itself is secure (for example by using IPSec
[RFC2401]), there is no control as to who on the secure network is
allowed to access and GET/SET (read/change/create/delete) the
objects in this MIB. It is recommended that the implementers
consider the security features as provided by the SNMPv3
framework. Specifically, the use of the User-based Security Model
[RFC2574] and the View-based Access Control [RFC2575] is
recommended. It is then a customer/user responsibility to ensure
that the SNMP entity giving access to an instance of this MIB is
properly configured to give access to the objects only to those
principals (users) that have legitimate rights to indeed GET or
SET (change/create/delete) them.
There are a number of managed objects in this MIB that may contain
information that may be sensitive from a business perspective, in
that they represent a customer's interface to the MPLS network.
Allowing uncontrolled access to these objects could result in
malicious and unwanted disruptions of network traffic or incorrect
configurations for these customers. There are no objects that are
particularly sensitive in their own right, such as passwords or
monetary amounts.
13. Acknowledgments
We wish to thank Ron Bonica, Adrian Farrel, Eric Gray, Tim
Mancour, Keith McCloghrie, Bala Rajagopalan, Dan Tappan, Vasanthi
Thirumalai, Joseph Benoit and Joan Cucchiara.
14. References 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.
[Assigned] Reynolds, J., and J. Postel, "Assigned Numbers", Some of the readable objects in this MIB module "i.e., objects with a
RFC 1700, October 1994. See also: MAX-ACCESS other than not-accessible" may be considered sensitive or
http://www.isi.edu/in-notes/iana/assignments/smi- vulnerable in some network environments. It is thus important to
numbers 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:
[IANAFamily] Internet Assigned Numbers Authority (IANA), ADDRESS o the mplsLsrInSegmentTable, mplsLsrOutSegmentTable,
FAMILY NUMBERS, (http://www.isi.edu/in- mplsXCTable, mplsOutSegmentPerfTable, mplsInterfacePerfTable,
notes/iana/assignements/address-family-numbers), and mplsInSegmentPerfTable collectively show the LSP network
for MIB see: topology and its performance characteristics.
ftp://ftp.isi.edu/mib/iana.mib/ianaaddressfamilynum If an Administrator does not want to reveal this
bers.mib information, then these tables should be
considered sensitive/vulnerable.
[TCMIB] Nadeau, T., Cucchiara, J., Srinivasan, C, SNMP versions prior to SNMPv3 did not include adequate security.
Viswanathan, A. and H. Sjostrand, "Definition of Even if the network itself is secure "for example by using IPSec",
Textual Conventions and OBJECT-IDENTITIES for Multi- even then, there is no control as to who on the secure network is
Protocol Label Switching (MPLS) Management", allowed to access and GET/SET "read/change/create/delete" the objects
Internet Draft <draft-ietf-mpls-tc-mib-03.txt>, in this MIB module.
January 2002.
[RFC1155] Rose, M., and K. McCloghrie, "Structure and It is RECOMMENDED that implementers consider the security features as
Identification of Management Information for TCP/IP- provided by the SNMPv3 framework "see [RFC3410], section 8",
based Internets", RFC 1155, May 1990. including full support for the SNMPv3 cryptographic mechanisms "for
authentication and privacy".
[RFC1157] Case, J., Fedor, M., Schoffstall, M., and J. Davin, Further, deployment of SNMP versions prior to SNMPv3 is NOT
"Simple Network Management Protocol", RFC 1157, May RECOMMENDED. Instead, it is RECOMMENDED to deploy SNMPv3 and to
1990. 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
[RFC1215] M. Rose, "A Convention for Defining Traps for use 12. Acknowledgments
with the SNMP", RFC 1215, March 1991.
[RFC1901] Case, J., McCloghrie, K., Rose, M., and S. We wish to thank Ron Bonica, Adrian Farrel, Eric Gray, Tim
Waldbusser, "Introduction to Community-based Mancour, Keith McCloghrie, Bala Rajagopalan, Dan Tappan, Vasanthi
SNMPv2", RFC 1901, January 1996. Thirumalai, Joseph Benoit, Mike Piecuch, Joan Cucchiara.
A special thanks to Bert Wijnen and Mike MacFaden for really
getting the MIB module into shape.
[RFC1905] Case, J., McCloghrie, K., Rose, M., and S. 13. References
Waldbusser, "Protocol Operations for Version 2 of
the Simple Network Management Protocol (SNMPv2)",
RFC 1905, January 1996.
[RFC1906] Case, J., McCloghrie, K., Rose, M., and S. 13.1. Normative References
Waldbusser, "Transport Mappings for Version 2 of
the Simple Network Management Protocol (SNMPv2)",
RFC 1906, January 1996.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] S. Bradner, "Key Words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", RFC 2119, BCP 14, March 1997.
[RFC2863] McCloghrie, K., and F. Kastenholtz, "The Interfaces [RFC2515] Tesink, K., et al., "Definitions of Managed Objects
Group MIB using SMIv2", RFC 2863, June 2000 for ATM Management", RFC 2515, February 1999.
[RFC2401] Kent, S., and Atkinson, R., "Security Architecture [RFC2578] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case,
for the Internet Protocol", RFC 2401, November J., Rose, M., and S. Waldbusser, "Structure of
1998. Management Information Version 2 (SMIv2)", STD 58, RFC
2578, April 1999.
[RFC2515] Tesink, K., "Definitions of Managed Objects for ATM [RFC2579] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case,
Management", RFC 2515, Feb. 1999 J., Rose, M., and S. Waldbusser, "Textual Conventions
for SMIv2", STD 58, RFC 2579, April 1999.
[RFC2570] Case, J., Mundy, R., Partain, D., and B. Stewart, [RFC2580] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case,
"Introduction to Version 3 of the Internet-standard J., Rose, M., and S. Waldbusser, "Conformance
Network Management Framework", RFC 2570, April Statements for SMIv2", STD 58, RFC 2580, April 1999.
1999.
[RFC2571] Harrington, D., Presuhn, R., and B. Wijnen, "An [RFC2863] McCloghrie, K. and F. Kastenholz, "The Interfaces
Architecture for Describing SNMP Management Group MIB", RFC 2863, June 2000.
Frameworks", RFC 2571, April 1999.
[RFC2572] Case, J., Harrington D., Presuhn R., and B. Wijnen, [RFC3031] Rosen, E., Viswanathan, A., and R. Callon,
"Message Processing and Dispatching for the Simple "Multiprotocol Label Switching Architecture", RFC
Network Management Protocol (SNMP)", RFC 2572, 3031, January 2001.
April 1999.
[RFC2573] Levi, D., Meyer, P., and B. Stewart, "SNMPv3 [RFC3291] Daniele, M., Haberman, B., Routhier., S.,
Applications", RFC 2573, April 1999. Schoenwaelder., J., "Textual Conventions
for Internet Network Addresses", RFC3291,
May 2002.
[RFC2574] Blumenthal, U., and B. Wijnen, "User-based Security [RFC3411] Harrington, D., Presuhn, R., and B. Wijnen, "An
Model (USM) for version 3 of the Simple Network Architecture for Describing Simple Network Management
Management Protocol (SNMPv3)", RFC 2574, April Protocol (SNMP) Management Frameworks", RFC 3411,
1999. December 2002.
[RFC2575] Wijnen, B., Presuhn, R., and K. McCloghrie, "View- [TEMIB] Srinivasan, C., Viswanathan, A. and Nadeau, T., "MPLS
based Access Control Model (VACM) for the Simple Traffic Engineering Management Information Base ",
Network Management Protocol (SNMP)", RFC 2575, Internet Draft <draft-ietf-mpls-te-mib-09.txt>,
April 1999. November 2002.
[RFC2578] McCloghrie, K., Perkins, D., Schoenwaelder, J., [TCMIB] Nadeau, T., Cucchiara, J., Srinivasan, C.,
Case, J., Rose, M., and S. Waldbusser, "Structure Viswanathan, A., Sjostrand, H. and K. Kompella,
of Management Information Version 2 (SMIv2)", STD "Definition of Textual Conventions and OBJECT-
58, RFC 2578, April 1999. IDENTITIES for Multi-Protocol Label Switching (MPLS)
Management", Internet Draft <draft-ietf-mpls-tc-mib-
06.txt>, April 2003.
[RFC2579] McCloghrie, K., Perkins, D., Schoenwaelder, J., [IANAFamily] Internet Assigned Numbers Authority (IANA), ADDRESS
Case, J., Rose, M., and S. Waldbusser, "Textual FAMILY NUMBERS, (http://www.isi.edu/in-
Conventions for SMIv2", STD 58, RFC 2579, April notes/iana/assignements/address-family-numbers),
1999. for MIB see:
ftp://ftp.isi.edu/mib/iana.mib/ianaaddressfamilynum
bers.mib
[RFC2702] Awduche, D., Malcolm, J., Agogbua, J., O'Dell, M., 13.2. Informative References
and J. McManus, "Requirements for Traffic
Engineering Over MPLS", RFC 2702, September 1999.
[RFC2580] McCloghrie, K., Perkins, D., Schoenwaelder, J., [RFC2026] S. Bradner, "The Internet Standards Process --
Case, J., Rose, M., and S. Waldbusser, "Conformance Revision 3", RFC 2026, October 1996.
Statements for SMIv2", STD 58, RFC 2580, April
1999.
[RFC3031] Rosen, E., Viswanathan, A., and R. Callon, [RFC3413] Levi, D., Meyer, P., Stewart, B.,
"Multiprotocol Label Switching Architecture", RFC "SNMP Applications", RFC 3413, December 2002.
3031, January 2001.
[RFC3032] Rosen, E., Rekhter, Y., Tappan, D., Farinacci, D., [RFC3410] Case, J., Mundy, R., Partain, D. and B. Stewart,
Federokow, G., Li, T., and A. Conta, "MPLS Label "Introduction and Applicability Statements for
Stack Encoding", RFC 3032, January 2001. Internet-Standard Management Framework", RFC 3410,
December 2002.
15. Authors' Addresses 14. Authors' Addresses
Cheenu Srinivasan Cheenu Srinivasan
Parama Networks, Inc. Parama Networks, Inc.
1030 Broad Street 1030 Broad Street
Shrewsbury, NJ 07702 Shrewsbury, NJ 07702
Phone: +1-732-544-9120 x731 Phone: +1-732-544-9120 x731
Email: cheenu@paramanet.com Email: cheenu@paramanet.com
Arun Viswanathan Arun Viswanathan
Force10 Networks, Inc. Force10 Networks, Inc.
1440 McCarthy Blvd 1440 McCarthy Blvd
Milpitas, CA 95035 Milpitas, CA 95035
Phone: +1-408-571-3516 Phone: +1-408-571-3516
Email: arun@force10networks.com Email: arun@force10networks.com
Thomas D. Nadeau Thomas D. Nadeau
Cisco Systems, Inc. Cisco Systems, Inc.
250 Apollo Drive
Chelmsford, MA 01824 300 Beaver Brook Road
Phone: +1-978-244-3051 Boxboro, MA 01719
+1-978-936-1470
Email: tnadeau@cisco.com Email: tnadeau@cisco.com
16. Full Copyright Statement 15. Full Copyright Statement
Copyright (C) The Internet Society (2001). All Rights Reserved. Copyright (C) The Internet Society (2003). All Rights Reserved.
This document and translations of it may be copied and furnished This document and translations of it may be copied and furnished
to others, and derivative works that comment on or otherwise to others, and derivative works that comment on or otherwise
explain it or assist in its implementation may be prepared, explain it or assist in its implementation may be prepared,
copied, published and distributed, in whole or in part, without copied, published and distributed, in whole or in part, without
restriction of any kind, provided that the above copyright notice restriction of any kind, provided that the above copyright notice
and this paragraph are included on all such copies and derivative and this paragraph are included on all such copies and derivative
works. However, this document itself may not be modified in any works. However, this document itself may not be modified in any
way, such as by removing the copyright notice or references to the way, such as by removing the copyright notice or references to the
Internet Society or other Internet organizations, except as needed Internet Society or other Internet organizations, except as needed
skipping to change at line 2605 skipping to change at page 53, line 36
languages other than English. languages other than English.
The limited permissions granted above are perpetual and will not The limited permissions granted above are perpetual and will not
be revoked by the Internet Society or its successors or assigns. be revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on This document and the information contained herein is provided on
an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
16. Intellectual Property Notice
The IETF takes no position regarding the validity or scope of any
intellectual property or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; neither does it represent that it
has made any effort to identify any such rights. Information on the
IETF's procedures with respect to rights in standards-track and
standards-related documentation can be found in BCP-11 [RFC2028].
Copies of claims of rights made available for publication and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementors or users of this
specification can be obtained from the IETF Secretariat.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to practice
this standard. Please address the information to the IETF Executive
Director.
 End of changes. 

This html diff was produced by rfcdiff 1.23, available from http://www.levkowetz.com/ietf/tools/rfcdiff/