Information About MPLS Label Switching Router MIB
The MPLS-LSR-MIB contains managed objects that support the retrieval of label switching information from a router. The MIB is based on Revision 05 of the IETF MPLS-LSR-MIB. The MPLS-LSR-MIB mirrors a portion of the Cisco MPLS subsystem; specifically, it mirrors the Label Forwarding Information Base (LFIB). This implementation enables a network administrator to get information on the status, character, and performance of the following:
-
MPLS-capable interfaces on the LSR
-
Incoming MPLS segments (labels) at an LSR and their associated parameters
-
Outgoing segments (labels) at an LSR and their associated parameters
In addition, the network administrator can retrieve the status of cross-connect table entries that associate MPLS segments with each other.
The figure below shows the association of the cross-connect table with incoming and outgoing segments (labels).
![](/content/dam/en/us/td/i/100001-200000/100001-110000/103001-104000/103242.ps/jcr:content/renditions/103242.jpg)
![]() Note |
The out-segment table does not display “no label” entries. Labels that are displayed as “POP” are the special MPLS label 3. |
The notation used in the MPLS-LSR-MIB follows the conventions defined in Abstract Syntax Notation One (ASN.1). ASN.1 defines an Open System Interconnection (OSI) language used to describe data types apart from particular computer structures and presentation techniques. Each object in the MIB incorporates a DESCRIPTION field that includes an explanation of the object’s meaning and usage, which, together with the other characteristics of the object (SYNTAX, MAX-ACCESS, and INDEX) provides sufficient information for management application development, as well as for documentation and testing.
The MPLS-LSR-MIB represents an ASN.1 notation reflecting an idealized MPLS LSR.
A network administrator can access the entries (objects) in the MPLS-LSR-MIB by means of any SNMP-based network management system (NMS). The network administrator can retrieve information in the MPLS-LSR-MIB using standard SNMP get and getnext operations.
Typically, SNMP runs as a low-priority process. The response time for the MPLS-LSR-MIB is expected to be similar to that for other MIBs. The size and structure of the MIB and other MIBs in the system influence response time when you retrieve information from the management database. Traffic through the LSR also affects SNMP performance. The busier the switch is with forwarding activities, the greater the possibility of lower SNMP performance.
MPLS-LSR-MIB Elements
The top-level components of the MPLS-LSR-MIB consist of
-
Tables and scalars (mplsLsrObjects)
-
Traps (mplsLsrNotifications and mplsLsrNotifyPrefix)
-
Conformance (mplsLsrConformance)
This Cisco implementation does not support the notifications defined in the MIB, nor does it support the labelStackTable or the trafficParamTable.
MPLS-LSR-MIB Tables
The Cisco implementation of the MPLS-LSR-MIB supports four main tables:
-
Interface configuration
-
In-segment
-
Out-segment
-
Cross-connect
The MIB contains three supplementary tables to supply performance information. This implementation does not support the label stack and traffic parameter tables.
The following sections list the MPLS-LSR-MIB tables (main and supplementary), their functions, table objects that are supported, and table objects that are not supported.
MPLS interface configuration table (mplsInterfaceConfTable)
Provides information for each MPLS-capable interface on an LSR.
Supports:
-
A unique interface index or zero
-
Minimum and maximum values for an MPLS label received on the interface
-
Minimum and maximum values for an MPLS label sent from the interface
-
A value for an MPLS label sent from the interface
-
Per platform (0) or per interface (1) setting
-
The storage type
Does not support:
-
The total usable bandwidth on the interface
-
The difference between the total usable bandwidth and the bandwidth in use
MPLS interface performance table (mplsInterfacePerfTable)
Augments the MPLS interface configuration table.
Supports:
-
The number of labels in the incoming direction in use
-
The number of top-most labels in outgoing label stacks in use
Does not support:
-
The number of top-most labels in outgoing label stacks in use
-
The number of labeled packets discarded because no cross-connect entries exist
-
The number of outgoing MPLS packets requiring fragmentation for transmission
MPLS in-segment table (mplsInSegmentTable)
Contains a description of incoming segments (labels) at an LSR and their associated parameters.
Administrative and operational status objects for this table control packet transmission. If administrative and operational status objects are down, the LSR does not forward packets. If these status objects are up, the LSR forwards packets.
Supports:
-
A unique index identifier
-
The incoming label
-
The number of labels to pop from the incoming segment
-
An address family number from the Internet Assigned Number Authority (IANA)
-
A segment cross-connect entry association
-
The segment owner
-
The storage type
-
The administrative status
-
The operational status
![]() Note |
The administrative status and operational status are always up for inSegments in the Cisco implementation. Otherwise, these entries do not appear in the table. |
Does not support:
-
A pointer to a traffic parameter table entry (set to the default 0.0)
MPLS in-segment performance table (mplsInSegmentPerfTable)
Augments the MPLS in-segment table, providing performance information and counters for incoming segments on an LSR.
Supports:
-
The number of 32-bit octets received
-
The number of 64-bit octets received
-
The time of the last system failure that corresponded to one or more incoming segment discontinuities
![]() Note |
The lastFailure parameter is set to zero because it has no meaning in the Cisco implementation. |
Does not support:
-
The total number of packets received
-
The number of packets with errors
-
The number of labeled packets discarded with no errors
MPLS out-segment table (mplsOutSegmentTable)
Contains a description of outgoing segments from an LSR and their associated parameters.
Administrative and operational status objects for this table control packet transmission. If administrative and operational status objects are down, the LSR does not forward packets. If these values are up, the LSR forwards packets.
Supports:
-
A unique index identifier
-
An interface index of the outgoing interface
-
An indication of whether or not a top label is pushed onto the outgoing packet’s label stack
-
The label to push onto the outgoing packet’s label stack (if the previous value is true)
-
The next hop address type
-
The IPv4 address of the next hop
-
The segment cross-connect entry association
-
The segment owner
-
The storage type
-
The administrative status
-
The operational status
![]() Note |
The administrative and operational status entries are always up in the Cisco implementation. Otherwise, the administrative and operational status entries do not appear in the table. |
Does not support:
-
An IPv6 address of the next hop
-
A pointer to a traffic parameter table entry (set to the default 0.0)
MPLS out-segment performance table (mplsOutSegmentPerfTable)
Augments the MPLS out-segment table, providing performance information and counters for outgoing segments on an LSR.
Supports:
-
The number of 32-bit octets sent
-
The number of 64-bit octets sent
-
The time of the last system failure that corresponded to one or more outgoing segment discontinuities
Does not support:
-
The number of packets sent
-
The number of packets that could not be sent because of errors
-
The number of packets discarded with no errors
MPLS cross-connect table (mplsXCTable)
Associates inSegments (labels) with outSegments (labels) to show the manager how the LSR is currently swapping these labels.
A row in this table consists of one cross-connect entry that is indexed by the cross-connect index, the interface index of the incoming segment, the incoming label, and the out-segment index.
The administrative and operational objects for this table control packet forwarding to and from a cross-connect entry (XCEntry). The administrative status and operational status are always up in the Cisco implementation. Otherwise, the LSR would not forward packets.
Supports:
-
A unique index identifier for a group of cross-connect segments
-
A label switched path (LSP) to which the cross-connect entry belongs
-
An index to the MPLS label stack table that identifies the stack of labels to be pushed under the top label
-
An indication whether or not to restore the cross-connect entry after a failure (the default value is false)
-
The cross-connect owner
-
The storage type
-
The administrative status (if up)
-
The operational status (if up)
![]() Note |
The administrative status and operational status are always up in the Cisco implementation. Otherwise, these status entries do not appear in the table. |
Does not support:
-
Tunnel IDs as label switched path (LSP) ID objects
Information from Scalar Objects
The MPLS-LSR-MIB supports several scalar objects. In the Cisco implementation of the MIB, the following scalar objects are hard-coded to the value indicated and are read-only objects:
-
mplsOutSegmentIndexNext (0)--The value for the out-segment index when an LSR creates a new entry in the MPLS out-segment table. The 0 indicates that this is not implemented because modifications to this table are not allowed.
-
mplsXCTIndexNext (0)--The value for the cross-connect index when an LSR creates an entry in the MPLS cross-connect table. The 0 indicates that no unassigned values are available.
-
mplsMaxLabelDepth(2)--The value for the maximum stack depth.
-
mplsLabelStackIndexNext (0)--The value for the label stack index when an LSR creates entries in the MPLS label stack table. The 0 indicates that no unassigned values are available.
-
mplsTrafficParamIndexNext (0)--The value for the traffic parameter index when an LSR creates entries in the MPLS traffic parameter table. The 0 indicates that no unassigned values are available.
The following scalar objects do not contain information for the MPLS-LSR-MIB and are coded as false:
-
mplsInSegmentTrapEnable (false)--In-segment traps are not sent when this value is false.
-
mplsOutSegmentTrapEnable (false)--Out-segment traps are not sent when this value is false.
-
mplsXCTrapEnable (false)--Cross-connect traps are not sent when this value is false.
No trap information exists to support the MIB. Therefore, the following traps are not supported:
-
mplsInSegmentUp
-
mplsInSegmentDown
-
mplsOutSegmentUp
-
mplsOutSegmentDown
-
mplsXCUp
-
mplsXCDown
Linking Table Elements
In the cross-connect table, cross-connect entries associate incoming segments and interfaces with outgoing segments and interfaces. The following objects index the cross-connect entry:
-
Cross-connect index--A unique identifier for a group of cross-connect entries in the cross-connect table. In the Cisco implementation, this value is always the same as that for the outSegmentIndex, unless there is no label or if the label has been popped.
-
Interface index of the in-segment--A unique index for an entry in the in-segment table that represents an incoming MPLS interface. The value 0 means platform wide, for any entries that apply to all interfaces.
-
Incoming label--An entry in the in-segment table that represents the label on the incoming packet.
-
Out-segment index--A unique identifier for an entry in the out-segment table that contains a top label for the outgoing packet’s label stack and an interface index of the outgoing interface.
The figure below shows the links between the in-segment and the out-segment in the cross-connect table.
![](/content/dam/en/us/td/i/000001-100000/50001-55000/51001-51500/51276.ps/jcr:content/renditions/51276.jpg)
The table below shows the cross-connect table links you might see in the output from SNMP get operations on the MPLS-LSR-MIB objects that index a cross-connect entry. These objects include
-
In-Segment Values--mplsInSegmentIfIndex and mplsInSegmentLabel
-
Cross-Connect Entry--mplsXCIndex
-
Out-Segment Values--mplsOutSegmentIndex
In-Segment Values |
Cross-Connect Entry |
Out-Segment Values |
---|---|---|
01, 1000 |
5002, 0, 1000, 0 |
-- |
501, 0, 1000, 501 |
501 = Pop (topLabel), Eth 1/5 |
|
502, 0, 1000, 502 |
502 = Pop (topLabel), Eth, 1/1 |
![]() Note |
The OutSegmentIndex object is not the label. The label can be retrieved from the mplsOutSegmentTopLabel object. |
Interface Configuration Table and Interface MIB Links
The MPLS interface configuration table lists interfaces that support MPLS technology. An LSR creates an entry dynamically in this table for each MPLS-capable interface. An interface becomes MPLS-capable when MPLS is enabled on that interface. A non-zero index for an entry in this table points to the ifIndex for the corresponding interface entry in the MPLS-layer in the ifTable of the Interfaces Group MIB.
The ifTable contains information on each interface in the network. Its definition of an interface includes any sublayers of the internetwork layer of the interface. MPLS interfaces fit into this definition of an interface. Therefore, each MPLS-enabled interface is represented by an entry in the ifTable.
The interrelation of entries in the ifTable is defined by the interfaces stack group of the Interfaces Group MIB. The figure below shows how the stack table might appear for MPLS interfaces. The underlying layer refers to any interface that is defined for MPLS internetworking, for example, ATM, Frame Relay, or Ethernet.
![](/content/dam/en/us/td/i/000001-100000/50001-55000/51001-51500/51273.ps/jcr:content/renditions/51273.jpg)
![]() Note |
Tunnel interfaces are included in the MPLS list for the current implementation. |
The incoming and outgoing packets include a reference to the interface index for the ifTable of the Interfaces Group MIB. The figure below shows the links between MPLS-LSR-MIB objects and the Interfaces Group MIB.
![](/content/dam/en/us/td/i/000001-100000/50001-55000/51001-51500/51277.ps/jcr:content/renditions/51277.jpg)
-
For the Interfaces Group MIB (IF MIB): - ifTable represents the MPLS interface table.
- ifIndex represents the index to an entry in the MPLS interface table.
-
For the In-segment: - Inif represents the interface on the incoming segment (references an index entry in the ifTable).
- inL represents the label on the incoming segment.
-
For the Out-segment: - OutL represents the label on the outgoing segment.
- Outif represents the interface on the outgoing segment (references an index entry in the ifTable).
-
For the Cross-connect table: - XCIndex represents the index to an entry in the MPLS cross-connect table.
- Inif represents the interface on the incoming segment.
- inL represents the MPLS label on the incoming segment.
- OutIndex represents an index to an entry in the MPLS out-segment table.
Using the MPLS-LSR-MIB
The MPLS-LSR-MIB enables you to display the contents of the MPLS Label Forwarding Information Base (LFIB). It gives you the same information that you can obtain using the CLI command show mpls forwarding-table .
However, the MPLS-LSR-MIB approach offers these advantages over the CLI command approach:
-
A more efficient use of network bandwidth
-
Greater interoperability among vendors
-
Greater security (SMNP Version 3)
The following paragraphs describe the MPLS-LSR-MIB structure and show, through the use of an example, how the two approaches to the information display compare.
MPLS-LSR-MIB Structure
MIB structure is represented by a tree hierarchy. Branches along the tree have short text strings and integers to identify them. Text strings describe object names, and integers allow computer software to encode compact representations of the names.
The MPLS-LSR-MIB falls on the experimental branch of the Internet MIB hierarchy. The experimental branch of the Internet MIB hierarchy is represented by the object identifier 1.3.6.1.3. This branch can also be represented by its object name iso.org.dod.internet.experimental . The MPLS-LSR-MIB is identified by the object name mplsLsrMIB , which is denoted by the number 96. Therefore, objects in the MPLS-LSR-MIB can be identified in either of the following ways:
-
The object identifier--1.3.6.1.3.96.[MIB-variable]
-
The object name--iso.org.dod.internet.experimental.mplsLsrMIB.[MIB-variable]
To display a MIB-variable , you enter an SNMP get command with an object identifier. Object identifiers are defined by the MPLS-LSR-MIB.
The figure below shows the position of the MPLS-LSR-MIB in the Internet MIB hierarchy.
![](/content/dam/en/us/td/i/000001-100000/50001-55000/51001-51500/51272.ps/jcr:content/renditions/51272.jpg)
CLI Commands and the MPLS-LSR-MIB
The MPLS LFIB is the component of the Cisco MPLS subsystem that contains management information for LSRs. You can access this management information by means of either of the following:
-
Using the show mpls forwarding-table CLI command
-
Entering SNMP get commands on a network manager
The following examples show how you can gather LSR management information using both methods.
CLI Command Output
A show mpls forwarding-table CLI command allows you to look at label forwarding information for a packet on a specific MPLS LSR.
Router# show mpls forwarding-table
Local Outgoing Prefix Bytes Tag Outgoing Next Hop
Tag Tag or VC or Tunnel Id Switched interface
19 Pop Tag 10.3.4.0/24 0 Et1/4 10.22.23.23
22 23 14.14.14.14/32 0 AT2/0.1 point2point
1/36 14.14.14.14/32 0 AT2/0.2 point2point
MPLS-LSR-MIB Output
SNMP commands on MIB objects also allow you to look at the label forwarding information for a specific MPLS LSR.
You can do a walk-through of the MIB by running a command such as getmany -v2c public mplsLsrMIB on a network manager where getmany does repeated SNMP getnext operations to retrieve the contents of the MPLS-LSR-MIB.
mplsXCOperStatus.9729.0.19.9729 = up(1)
mplsXCOperStatus.11265.0.22.11265 = up(1)
mplsXCOperStatus.11266.0.22.11266 = up(1)
You can continue to scan the output of the getmany command for the following (from the MPLS out-segment table):
-
Out-segment’s top label objects (mplsOutSegmentTopLabel)
mplsOutSegmentTopLabel.9729 = 3
mplsOutSegmentTopLabel.11265 = 23
mplsOutSegmentTopLabel.11266 = 65572
![]() Note |
65572 is 1/36 in label form (1 is the high-order 16 bits. 36 is the low-order 16 bits.) |
-
Out-segment’s interface index (mplsOutSegmentIfIndex)
mplsOutSegmentIfIndex.9729 = 7
mplsOutSegmentIfIndex.11265 = 28
mplsOutSegmentIfIndex.11266 = 31
Benefits
The benefits described in the following paragraphs are available to you with the MPLS-LSR-MIB.
Troubleshooting LSR Problems
By monitoring the cross-connect entries and the associated incoming and outgoing segments, you can see which labels are installed and how they are being swapped. Use the MPLS-LSR-MIB in place of the show mpls forwarding CLI command.
Monitoring of LSR Traffic Loads
By monitoring interface and packet operations on an MPLS LSR, you can identify high- and low-traffic patterns, as well as traffic distributions.
Improvement of Network Performance
By identifying potentially high-traffic areas, you can set up load sharing to improve network performance.
Verification of LSR Configuration
By comparing results from SNMP get commands and the show mpls forwarding CLI command, you can verify your LSR configuration.
Displaying of Active Label Switched Paths
By monitoring the cross-connect entries and the associated incoming segments and outgoing segments, you can determine the active LSPs.