Table Of Contents
Multiprotocol Label Switching on Cisco Routers
Functional Description of MPLS
Distribution of Label Bindings
Supported Standards, MIBs, and RFCs
Configuring a Router for MPLS Forwarding
Verifying Configuration of MPLS Forwarding
MPLS Commands and Saved Configurations
mpls ip (global configuration)
mpls ip (interface configuration)
Multiprotocol Label Switching on Cisco Routers
This document describes commands for configuring and monitoring Multiprotocol Label Switching (MPLS) functionality on Cisco routers and switches. This document is a companion to other feature modules describing other MPLS applications.
This document includes the following sections:
•
Supported Standards, MIBs, and RFCs
The following table outlines the release history of this document over time and the changes made thereto in support of new MPLS/LDP functionality.
Release Modification 11.1CTThe document supporting this release was titled Tag Switching on Cisco 7000 Family.
12.1(3)TThe document supporting this release, titled MPLS Label Switching on Cisco Routers, described a set of generic label switching commands intended for use with Cisco routers and switches. This set of commands inaugurated the transition from tag-switching command syntax and terminology to the new MPLS IETF command syntax and terminology.
12.1(5)TThe document supporting this release described new arguments in the mpls ip propagate-ttl command and added a new mpls ip ttl-expiration pop command.
Feature Overview
Multiprotocol label switching (MPLS) combines the performance and capabilities of Layer 2 (data link layer) switching with the proven scalability of Layer 3 (network layer) routing. MPLS enables service providers to meet the challenges of explosive growth in network utilization while providing the opportunity to differentiate services without sacrificing the existing network infrastructure. The MPLS architecture is flexible and can be employed in any combination of Layer 2 technologies. MPLS support is offered for all Layer 3 protocols, and scaling is possible well beyond that typically offered in today's networks.
MPLS efficiently enables the delivery of IP services over an ATM switched network. MPLS supports the creation of different routes between a source and a destination on a purely router-based Internet backbone. By incorporating MPLS into their network architecture, service providers can save money, increase revenue and productivity, provide differentiated services, and gain competitive advantages.
Functional Description of MPLS
Label switching is a high-performance packet forwarding technology that integrates the performance and traffic management capabilities of data link layer (Layer 2) switching with the scalability, flexibility, and performance of network layer (Layer 3) routing.
Label Switching Functions
In conventional Layer 3 forwarding mechanisms, as a packet traverses the network, each router extracts all the information relevant to forwarding the packet from the Layer 3 header. This information is then used as an index for a routing table lookup to determine the next hop for the packet.
In the most common case, the only relevant field in the header is the destination address field, but in some cases, other header fields might also be relevant. As a result, the header analysis must be done independently at each router through which the packet passes. In addition, a complicated table lookup must also be done at each router.
In label switching, the analysis of the Layer 3 header is done only once. The Layer 3 header is then mapped into a fixed length, unstructured value called a label.
Many different headers can map to the same label, as long as those headers always result in the same choice of next hop. In effect, a label represents a forwarding equivalence class—that is, a set of packets which, however different they may be, are indistinguishable by the forwarding function.
The initial choice of a label need not be based exclusively on the contents of the Layer 3 packet header; for example, forwarding decisions at subsequent hops can also be based on routing policy.
Once a label is assigned, a short label header is added at the front of the Layer 3 packet. This header is carried across the network as part of the packet. At subsequent hops through each MPLS router in the network, labels are swapped and forwarding decisions are made by means of MPLS forwarding table lookup for the label carried in the packet header. Hence, the packet header does not need to be reevaluated during packet transit through the network. Because the label is of fixed length and unstructured, the MPLS forwarding table lookup process is both straightforward and fast.
Distribution of Label Bindings
Each label switching router (LSR) in the network makes an independent, local decision as to which label value to use to represent a forwarding equivalence class. This association is known as a label binding. Each LSR informs its neighbors of the label bindings it has made. This awareness of label bindings by neighboring routers is facilitated by the following protocols:
•
Tag Distribution Protocol (TDP)—Used to support MPLS forwarding along normally routed paths
•
Resource Reservation Protocol (RSVP)—Used to support MPLS traffic engineering
•
Border Gateway Protocol (BGP)—Used to support MPLS virtual private networks (VPNs)
When a labeled packet is being sent from LSR A to the neighboring LSR B, the label value carried by the IP packet is the label value that LSR B assigned to represent the forwarding equivalence class of the packet. Thus, the label value changes as the IP packet traverses the network.
Benefits
MPLS provides the following major benefits to service provider networks:
•
Scalable support for virtual private networks (VPNs)—MPLS enables VPN services to be supported in service provider networks, thereby greatly accelerating Internet growth.
The use of MPLS for VPNs provides an attractive alternative to the building of VPNs by means of either ATM or Frame Relay permanent virtual circuits (PVCs) or various forms of tunneling to interconnect routers at customer sites.
Unlike the PVC VPN model, the MPLS VPN model is highly scalable and can accommodate increasing numbers of sites and customers. The MPLS VPN model also supports "any-to-any" communication among VPN sites without requiring a full mesh of PVCs or the backhauling (suboptimal routing) of traffic across the service provider network. For each MPLS VPN user, the service provider's network appears to function as a private IP backbone over which the user can reach other sites within the VPN organization, but not the sites of any other VPN organization.
From a user perspective, the MPLS VPN model enables network routing to be dramatically simplified. For example, rather than having to manage routing over a topologically complex virtual backbone composed of many PVCs, an MPLS VPN user can generally employ the service provider's backbone as the default route in communicating with all of the other VPN sites.
•
Explicit routing capabilities (also called constraint-based routing or traffic engineering)—Explicit routing employs "constraint-based routing," in which the path for a traffic flow is the shortest path that meets the resource requirements (constraints) of the traffic flow.
In MPLS traffic engineering, factors such as bandwidth requirements, media requirements, and the priority of one traffic flow versus another can be taken into account. These traffic engineering capabilities enable the administrator of a service provider network to
–
Control traffic flow in the network
–
Reduce congestion in the network
–
Make best use of network resources
Thus, the network administrator can specify the amount of traffic expected to flow between various points in the network (thereby establishing a traffic matrix), while relying on the routing system to
–
Calculate the best paths for network traffic
–
Set up the explicit paths to carry the traffic
•
Support for IP routing on ATM switches (also called IP and ATM integration)—MPLS enables an ATM switch to perform virtually all of the functions of an IP router. This capability of an ATM switch stems from the fact that the MPLS forwarding paradigm, namely, label swapping, is exactly the same as the forwarding paradigm provided by ATM switch hardware.
The key difference between a conventional ATM switch and an ATM label switch is the control software used by the latter to establish its virtual channel identifier (VCI) table entries. An ATM label switch uses IP routing protocols and the Tag Distribution Protocol (TDP) to establish VCI table entries.
An ATM label switch can function as a conventional ATM switch. In this dual mode, the ATM switch resources (such as VCI space and bandwidth) are partitioned between the MPLS control plane and the ATM control plane. The MPLS control plane provides IP-based services, while the ATM control plane supports ATM-oriented functions, such as circuit emulation or PVC services.
Restrictions
Label switching on a Cisco router requires that Cisco Express Forwarding (CEF) be enabled on that router (see the "Configuration Tasks" section below).
Supported Platforms
MPLS is supported on the following platforms:
•
Cisco LightStream 1010 ATM switch—For information about label switching configuration and command syntax on the LightStream 1010 ATM switch, see the LightStream 1010 ATM Switch Software Configuration Guide Release 11.3.
•
Cisco 2600 series routers
•
Cisco RSP7000 route switch processor
•
Cisco 7200 series routers
•
Cisco 7500 series routers
•
Cisco 12000 series GSR routers
Supported Standards, MIBs, and RFCs
The supported standards, MIBs, and RFCs applicable to the MPLS applications appear in the respective feature module for the application.
Configuration Tasks
This section explains how to configure a router for MPLS forwarding by enabling CEF on the router.
Configuration tasks for other MPLS applications are described in the feature module documentation for the application.
Configuring a Router for MPLS Forwarding
MPLS forwarding on Cisco routers requires that CEF be enabled. To enable CEF on a router, issue the following commands:
Router# configure terminalRouter(config)# ip cef [distributed]
Note
For best performance in network MPLS forwarding activity, use the distributed option in the ip cef command on routers that support this option.
For more information about the CEF command, refer to the appropriate chapters on CEF in the following documents:
•
Cisco IOS Switching Services Command Reference
•
Cisco IOS Command Reference
Verifying Configuration of MPLS Forwarding
To verify that CEF has been configured properly on a Cisco router, issue the show ip cef summary command, which generates output similar to that shown below:
Router# sho ip cef summaryIP CEF with switching (Table Version 49), flags=0x043 routes, 0 resolve, 0 unresolved (0 old, 0 new)43 leaves, 49 nodes, 56756 bytes, 45 inserts, 2 invalidations2 load sharing elements, 672 bytes, 2 references1 CEF resets, 4 revisions of existing leaves4 in-place modificationsrefcounts: 7241 leaf, 7218 nodeAdjacency Table has 18 adjacenciesRouter#Command Reference
This section describes the following general-purpose MPLS CLI commands:
•
mpls ip (global configuration)
•
mpls ip (interface configuration)
The MPLS commands described in this document have been derived from equivalent legacy tag switching commands, except where otherwise noted. During the transition period from a tag switching environment to a standards-based MPLS environment, several configuration commands with both MPLS and tag switching forms are supported. For example, the mpls ip command is equivalent to the tag-switching ip command.
Refer to Table 1 for a summary of the MPLS commands described in this document and their earlier tag switching equivalents.
MPLS Commands and Saved Configurations
During the transition period from tag switching to MPLS, if a configuration command has both MPLS and tag switching forms, the tag switching version is written to saved configurations. For example, you can configure MPLS hop-by-hop forwarding for a router POS interface by issuing the following commands:
Router# configure terminalRouter(config)# interface POS3/0Router(config-if)# mpls ipIn this example, the mpls ip command has a tag switching form (tag-switching ip). After you enter these commands and save this configuration or display the running configuration by means of the show running configuration command, the configuration commands appear as follows:
interface POS3/0tag-switching ipSaving the tag switching form of commands (that have both tag switching and MPLS forms) allows for backward compatibility. You can use a new router software image to modify and write configurations, and then later use configurations created by the new image with earlier software versions that do not support the MPLS forms of commands
Using the tag switching forms of the commands allows older software that supports tag switching commands, but not new MPLS commands, to successfully interpret interface configurations.
CLI Command Summary
Table 1 summarizes the general-purpose MPLS commands described in this document. Except where otherwise noted, these MPLS commands have been derived from existing tag-switching commands to preserve the familiar syntax of existing commands that formed the basis for implementing new MPLS functionality.
interface atm
To enter interface configuration mode, specify ATM as the interface type, and create a subinterface on that interface type, use the interface atm global configuration command. The subinterface for the ATM interface is created the first time this command is issued with a specified subinterface number.
interface atm interface.subinterface-number [mpls | tag-switching | point-to-point | multipoint]
Syntax Description
Defaults
This command has no default behavior or values.
Command Modes
Global configuration.
Command History
Release Modification10.0
This command was introduced.
12.1(3)T
This command was modified to introduce new optional subinterface types.
Usage Guidelines
The interface atm command enables you to define a subinterface for a specified type of ATM interface.
Examples
For physical ATM interface 3/0, the following command creates an ATM MPLS subinterface having subinterface number 1:
Router# interface atm 3/0.1 mplsRelated Commands
Command DescriptionDisplays information about one or more MPLS interfaces that have been configured for label switching.
mpls atm control-vc
To configure the VPI and VCI to be used for the initial link to the label switching peer device, use the mpls atm control-vc interface configuration command. The initial link is used to establish the TDP session and to carry non-IP traffic. To clear the interface configuration, use the no form of this command.
mpls atm control-vc vpi vci
no mpls atm control-vc vpi vci
Syntax Description
Defaults
If the subinterface has not changed to a VP tunnel, the default is 0/32. If the subinterface corresponds to VP tunnel VPI X, the default is X/32.
Command Modes
Interface configuration
Command History
Release Modification11.1CT
This command was introduced.
12.1(3)T
This command was modified to reflect new MPLS IETF terminology and CLI command syntax.
Usage Guidelines
For a router interface (for example, an AIP), ATM label switching can be enabled only on a label-switch subinterface.
Note
The mpls atm control-vc and mpls atm vpi subinterface level configuration commands are available on any interface that can support ATM labeling.
On the Cisco LightStream 1010 ATM switch, a subinterface corresponds to a VP tunnel; thus, the entry in the VPI field of the control-vc must match the entry in the VPI field of the VP tunnel.
Examples
The following commands create a label switching subinterface on a router and select VPI 1 and VCI 34 as the control VC:
Router(config)# interface atm4/0.1 mplsRouter(config-if)# mpls ipRouter(config-if)# mpls atm control-vc 1 34Related Commands
Command DescriptionDisplays information about one or more interfaces for which label switching has been enabled.
mpls atm vpi
To configure the range of values to be used in the VPI field for label VCs, use the mpls atm vpi interface configuration command. To clear the interface configuration, use the no form of this command.
mpls atm vpi vpi [- vpi]
no mpls atm vpi vpi [- vpi]
Syntax Description
vpi
Virtual path identifier (low end of range).
- vpi
(Optional.) Virtual path identifier (high end of range).
Defaults
The default is 1-1.
Command Modes
Interface configuration
Command History
Release Modification11.1CT
This command was introduced.
12.1(3)T
This command was modified to reflect new MPLS IETF terminology and CLI command syntax.
Usage Guidelines
To configure ATM label switching on a router interface (for example, an ATM interface processor), you must enable a label switching subinterface.
Note
The mpls atm control-vc and mpls atm vpi interface configuration commands are available on any interface that can support ATM labeling.
Use this command to select an alternate range of VPI values for ATM label assignment on this interface. The two ends of the link negotiate a range defined by the intersection (overlapping of labels in common) of the range configured at each end of the connection.
Examples
In the following example, a subinterface is created and a VPI range from 1 to 3 is selected:
Router(config)# interface atm4/0.1 mplsRouter(config-if)# mpls ipRouter(config-if)# mpls atm vpi 1-3Related Commands
Command DescriptionConfigures the VPI and VCI to be used for the initial link to the label switching peer device.
mpls ip (global configuration)
To enable MPLS forwarding of IPv4 packets along normally routed paths for the platform, use the mpls ip global configuration command. Use the no form of the command to disable this feature.
mpls ip
no mpls ip
Syntax Description
This command has no optional keywords or arguments.
Defaults
Label switching of IPv4 packets along normally routed paths is enabled for the platform.
Command Modes
Global configuration
Command History
Usage Guidelines
This command enables MPLS forwarding of IPv4 packets along normally routed paths (sometimes called dynamic label switching). For a given interface to perform dynamic label switching, this function must be enabled for the interface and the platform.
The no form of this command stops dynamic label switching for all platform interfaces, regardless of the interface configuration; it also stops distribution of labels for dynamic label switching. However, the no form of this command does not affect the sending of labeled packets through TSP tunnels.
For an LC-ATM interface, the no form of this command prevents the establishment of label VCs originating at, terminating at, or passing through the platform.
Examples
In the following example, dynamic label switching is disabled for the platform, terminating all label distribution for the platform:
Router(config)# no mpls ipRelated Commands
Command DescriptionEnables label switching of IPv4 packets along normally routed paths for the associated interface.
mpls ip (interface configuration)
To enable MPLS forwarding of IPv4 packets along normally routed paths for a particular interface, use the mpls ip interface configuration command.
Use the no form of the command to disable this feature.
mpls ip
no mpls ip
Syntax Description
This command has no optional keywords or arguments.
Defaults
MPLS forwarding of IPv4 packets along normally routed paths for the interface is disabled.
Command Modes
Interface configuration
Command History
Usage Guidelines
MPLS forwarding of IPv4 packets along normally routed paths is sometimes called dynamic label switching. If dynamic label switching has been enabled for the platform when this command is issued on an interface, you can start label distribution for the interface by initiating periodic transmission of neighbor discovery hello messages on the interface. When the outgoing label for a destination routed through the interface is known, packets for the destination are labeled with that outgoing label and forwarded through the interface.
The no form of this command causes packets routed out through the interface to be sent unlabeled; it also ends label distribution for the interface. The no form of this command does not affect the sending of labeled packets through any TSP tunnels that might use the interface.
For an LC-ATM interface, the no form of this command prevents the establishment of label VCs beginning at, terminating at, or passing through the interface.
Examples
In the following example, label switching is enabled on the Ethernet interface specified:
Router(config)# configure terminalRouter(config-if)# interface e0/2Router(config-if)# mpls ipRelated Commands
Command DescriptionDisplays information about one or more interfaces that have been configured for label switching.
mpls ip default-route
To enable the distribution of labels associated with the IP default route, use the mpls ip default-route global configuration command.
mpls ip default-route
Syntax Description
This command has no optional keywords or arguments.
Defaults
No distribution of labels for the IP default route.
Command Modes
Global configuration
Command History
Release Modification11.1CT
This command was introduced.
12.1(3)T
This command was modified to reflect new MPLS IETF terminology and CLI command syntax.
Usage Guidelines
Dynamic label switching (that is, distribution of labels based on routing protocols) must be enabled before you can use the mpls ip default-route command.
Examples
The following commands enable the distribution of labels associated with the IP default route:
Router# configure terminalRouter(config)# mpls ipRouter(config)# mpls ip default-routeRelated Commands
mpls ip propagate-ttl
Use the mpls ip propagate-ttl command to control the generation of the time to live (TTL) field in the MPLS header when labels are first added to an IP packet. By default, this command is enabled, which means the TTL field is copied from the IP header. The command allows a traceroute command to show all the hops in the network.
Use the no form of the mpls ip propagate-ttl command to use a fixed TTL value (255) for the first label of the IP packet. This hides the structure of the MPLS network from a traceroute command. You can specify the types of packets to be hidden by using the forwarded and local arguments. Specifying no mpls ip propagate-ttl forwarded allows the structure of the MPLS network to be hidden from customers but not from the provider. This is the most common application of the command.
mpls ip propagate-ttl
no mpls ip propagate-ttl [forwarded | local]
Syntax Description
forwarded
(Optional.) Prevents the traceroute command from showing the hops for forwarded packets.
local
(Optional.) Prevents the traceroute command from showing the hops only for local packets.
Defaults
By default, this command is enabled. The TTL field is copied from the IP header. A traceroute command shows all of the hops in the network.
Command Modes
Global configuration
Command History
Release Modification12.1(3)T
This command was introduced.
12.1(5)T
The arguments forwarded and local were added to this command.
Usage Guidelines
By default, the mpls ip propagate-ttl command is enabled and the IP TTL value is copied to the MPLS TTL field during label imposition. To disable TTL propagation for all packets, use the no mpls ip propagate-ttl command. To disable TTL propagation for only forwarded packets, use the no mpls ip propagate forward command. Disabling TTL propagation of forwarded packets allows the structure of the MPLS network to be hidden from customers, but not the provider.
This feature supports the IETF draft documents ICMP Extensions for Multiprotocol Label Switching, draft-ietf-mpls-label-icmp-01.txt. The document can be accessed at the following URL:
http://www2.ietf.org/internet-drafts/draft-ietf-mpls-label-icmp-01.txt
Examples
The following examples involving the use of traceroute and trace commands refer to the sample network shown in Figure 1.
Figure 1 Sample Network for Invoking traceroute Commands
The following examples show how the traceroute command displays hops when the mpls ip propagate-ttl command is enabled (the default) on PE 1.
This command displays the data path between CE 1 and CE 2:
Router# traceroute 1.0.0.3Type escape sequence to abort.Tracing the route to 1.0.0.31 1.0.0.4 0 msec 0 msec 0 msec2 100.0.0.2 16 msec 12 msec 12 msec3 1.0.0.5 12 msec 12 msec 12 msec4 1.0.0.3 8 msec * 8 msecThis command displays the data path between PE 1 and CE 2:
Router# traceroute vrf V1 1.0.0.3Type escape sequence to abort.Tracing the route to 1.0.0.31 100.0.0.2 [MPLS: Labels 17/16 Exp 0] 12 msec 12 msec 12 msec2 1.0.0.5 [MPLS: Label 16 Exp 0] 12 msec 12 msec 8 msec3 1.0.0.3 8 msec * 4 msecThe following examples shows that the traceroute command does not display hops when the no mpls ip propagate-ttl command is issued on PE 1. The command generates a TTL = 255 for the first label in the IP packet and hides the hops.
This command shows that the data path between CE 1 and CE 2 is hidden:
Router# traceroute 1.0.0.3Type escape sequence to abort.Tracing the route to 1.0.0.31 1.0.0.4 0 msec 4 msec 0 msec2 1.0.0.3 8 msec * 8 msecThis command shows that the data path between PE 1 and CE 2 is hidden:
Router# traceroute vrf V1 1.0.0.3Type escape sequence to abort.Tracing the route to 1.0.0.31 1.0.0.3 4 msec * 4 msecThis command shows the traceroute command issued after TTL propagation is disabled for forwarded packets on PE 1. (This is the most common application of the command.) The traceroute command is issued from CE 1. The structure of the MPLS network is hidden from the customer.
Router# trace 1.0.0.3Type escape sequence to abort.Tracing the route to 1.0.0.31 1.0.0.4 4 msec 4 msec 4 msec2 1.0.0.3 8 msec * 8 msecWhen the traceroute command is issued from PE 1, the results are different. The provider can view the structure of the MPLS network.
Router# trace vrf V1 1.0.0.3Type escape sequence to abort.Tracing the route to 1.0.0.31 100.0.0.2 [MPLS: Labels 17/16 Exp 0] 12 msec 12 msec 12 msec2 1.0.0.5 [MPLS: Label 16 Exp 0] 12 msec 8 msec 8 msec3 1.0.0.3 8 msec * 4 msecThis command shows the traceroute command after TTL propagation is disabled for local packets on PE 1. The traceroute command is issued from CE 1. The customer can view structure of the MPLS network.
Router# trace 1.0.0.3Type escape sequence to abort.Tracing the route to 1.0.0.31 1.0.0.4 4 msec 4 msec 0 msec2 100.0.0.2 12 msec 16 msec 12 msec3 1.0.0.5 12 msec 12 msec 16 msec4 1.0.0.3 8 msec * 8 msecWhen the traceroute command is issued from PE 1, the results are different. The structure of the MPLS network is hidden from the provider.
Router# trace vrf V1 1.0.0.3Type escape sequence to abort.Tracing the route to 1.0.0.31 1.0.0.3 4 msec * 4 msecRelated Commands
Command Descriptiontraceroute
Shows the routes that packets follow in traveling through a network to their destinations.
mpls ip ttl-expiration pop
To specify how a packet with an expired time to live (TTL) value is forwarded, use the mpls ip ttl-expiration pop privileged EXEC command. You can specify that the packet be forwarded by the global IP routing table or by the packet's original label stack. The forwarding method is determined by the number of labels in the packet. You specify the number of labels as part of the command. If the packet contains the same or fewer labels than you specified, it is forwarded through the use of the global IP routing table. If the packet contains more labels than you specified, the packet is forwarded through the use of the original label stack. Use the no form of the command to disable this feature.
mpls ip ttl-expiration pop labels
no mpls ttl-expiration pop labels
Syntax Description
labels
The maximum number of labels in the packet necessary for the packet to be forwarded by means of the global IP routing table.
Defaults
By default, the packets are forwarded by the original label stack. However, in previous versions of IOS software, the packets were forwarded by the global routing table by default.
12.0S
Packets are forwarded through the use of the global routing table.
12.0ST, 12.1, 12.1T
Packets are forwarded through the use of the original label stack.
Command Modes
Global configuration
Command History
Usage Guidelines
This command is useful if expired TTL packets do not get back to their source, because there is a break in the Interior Gateway Protocol (IGP) path. Currently, MPLS forwards the expired TTL packets by reimposing the original label stack and forwarding the packet to the end of a label switched path (LSP). (For provider edge routers forwarding traffic over a virtual private network (VPN), this is the only way to get the packet back to the source.) If there is a break in the IGP path to the end of the LSP, the packet never reaches its source.
If packets have a single label, that label is usually a global address or terminal VPN label. Those packets can be forwarded through the use of the global IP routing table. Packets that have more than one label can be forwarded through the use of the the original label stack. Specify mpls ip ttl-expiration pop 1 to enable forwarding based on more than one label. (This is the most common application of the command.)
Examples
The following examples refer to the sample MPLS network shown in Figure 2.
Figure 2 Sample MPLS Network
Example 1: Packets Forwarded by Default
In the following commands, router P has a default configuration, which means that P forwards the "ICMP ttlexpired" message through the use of the original label stack. The following command shows the initial status of the interface (before any packets are sent).
Router# sh int se 2/0 statSerial2/0Switching path Pkts In Chars In Pkts Out Chars OutProcessor 0 0 1 52Route cache 0 0 0 0Total 0 0 1 52The following command sends 100 packets from PE 1 to PE 2 with a TTL = 1. Router P discards the packets and generates an "ICMP ttlexpired" message. The packets contain one label.
Router# tracerouteProtocol [ip]:Target IP address: 100.0.0.5Source address: 100.0.0.4Numeric display [n]:Timeout in seconds [3]: 1Probe count [3]: 100Minimum Time to Live [1]:Maximum Time to Live [30]: 1Port Number [33434]:Loose, Strict, Record, Timestamp, Verbose[none]:Type escape sequence to abort.Tracing the route to 100.0.0.51 100.0.0.2 [MPLS: Label 17 Exp 0] 4 msec 4 msec 4 msec 4 msec 4 msec4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4msec 0 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4msec 4 msec 4 msec 4 msec 4 msecThe packets are forwarded to PE 2, which sends them back to PE 1 (via P). The counters increase on PE 2. The following command shows that on PE 2, all ICMP messages were received and forwarded on the same interface:
Router# sh int se 2/0 statSerial2/0Switching path Pkts In Chars In Pkts Out Chars OutProcessor 11 811 13 1381Route cache 100 17200 100 17596^^^ ^^^Total 111 18011 113 18977Example 2: Packets Forwarded by means of mpls ip ttl-expiration pop 1 Command
In the following example, router P is configured through the use of the command mpls ip ttl-expiration pop 1, which means that router P forwards the "ICMP ttlexpired" messages by means of the original label stack if the incoming packet has more than one label.
The following command shows the initial status of the interface (before any packets are sent):
Router# sh int se 2/0 statSerial2/0Switching path Pkts In Chars In Pkts Out Chars OutProcessor 4 200 4 200Route cache 0 0 0 0Total 4 200 4 200In the following command, 100 packets are sent from PE 1 to PE 2 with a TTL = 1. Because the packets have one label, router P pops the label and forwards the ICMP messages by means of the global routing table. The ICMP messages are now forwarded directly k to PE 1, not via PE 2.
Router# tracerouteProtocol [ip]:Target IP address: 100.0.0.5Source address: 100.0.0.4Numeric display [n]:Timeout in seconds [3]: 1Probe count [3]: 100Minimum Time to Live [1]:Maximum Time to Live [30]: 1Port Number [33434]:Loose, Strict, Record, Timestamp, Verbose[none]:Type escape sequence to abort.Tracing the route to 100.0.0.51 100.0.0.2 [MPLS: Label 17 Exp 0] 4 msec 4 msec 4 msec 4 msec 4 msec4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4msec 0 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4 msec 4msec 4 msec 4 msec 4 msec 4 msecThe following command shows that the statistics on PE 2 do not increase, because PE 2 is bypassed:
Router# sh int se 2/0 statSerial2/0Switching path Pkts In Chars In Pkts Out Chars OutProcessor 13 594 13 618Route cache 0 0 0 0^^^ ^^^Total 13 594 13 618Related Commands
Command Descriptiontraceroute
Shows the routes that packets follow in traveling through a network to their destinations.
mpls label range
To configure the range of local labels available for use on packet interfaces, use the mpls label range global configuration command. Use the no form of this command to revert to the platform defaults.
mpls label range min max
no mpls label range
Syntax Description
min
The smallest label allowed in the label space. The default is 16.
max
The largest label allowed in the label space. The default is 1048575.
Defaults
The default values for the arguments of this command are:
•
min—16
•
max—1048575
The labels 0 through 15 are reserved by the IETF (see draft-ietf-mpls-label-encaps-07.txt for details) and cannot be included in the range specified by the mpls label range command.
Command Modes
Global configuration
Command History
Release Modification11.1CT
This command was introduced.
12.1(3)T
This command was modified to reflect new MPLS IETF terminology and CLI command syntax.
Usage Guidelines
The label range defined by the mpls label range command is used by all MPLS applications that allocate local labels (for dynamic label switching, MPLS traffic engineering, MPLS VPNs, and so on).
If you specify a new label range that does not overlap the range currently in use, the new range will not take effect until the router is reloaded again.
Examples
In the following example, you are shown how to configure the size of the local label space. In this example, min is set with the value of 200, and max is set with the value of 120000. Since the new range does not overlap the current label range (assumed to be the default, that is, min 16 and max 100000), the new range will not take effect until the router is reloaded.
Router# configure terminalRouter(config)# mpls label range 200 120000% Label range changes will take effect at the next reload.Router(config)#If you had specified a new range that overlaps the current range (for example, new range of min 16 and max 120000), then the new range would take effect immediately.
Related Commands
mpls mtu
To set the per-interface maximum transmission unit (MTU) for labeled packets, use the mpls mtu interface configuration command.
mpls mtu bytes
no mpls mtu
Syntax Description
bytes
The MTU value in bytes. The minimum allowable value is 64; the maximum allowable value is interface dependent.
Defaults
Use the interface MTU if an MPLS MTU has not been configured.
Command Modes
Interface configuration
Command History
Release Modification11.1CT
This command was introduced.
12.1(3)T
This command was modified to reflect new MPLS IETF terminology and CLI command syntax.
Usage Guidelines
If a labeled IPv4 packet exceeds the MPLS MTU size for the interface, Cisco IOS software fragments the packet. If a labeled non-IPv4 packet exceeds the MPLS MTU size, the packet is dropped.
All devices on a physical medium must have the same MPLS MTU value in order for MPLS to interoperate.
The MTU for labeled packets for an interface is determined as follows:
•
If the mpls mtu bytes command has been used to configure an MPLS MTU, the MTU for labeled packets is bytes.
•
Otherwise, if the mpls mtu bytes command has been used to configure an interface MTU, the MTU for labeled packets is bytes.
•
Otherwise, the MTU for labeled packets is the default MTU for the interface.
Because labeling a packet makes it larger due to the label stack, it may be desirable for the MPLS MTU to be larger than the interface MTU or IP MTU in order to prevent the fragmentation of labeled packets, which would not be fragmented if they were unlabeled.
Note
Changing the interface MTU by means of the mpls mtu bytes command changes the MPLS MTU also. However, the mpls mtu bytes command does not change the interface MTU.
Examples
In the following example, the maximum labeled packet size for serial interface Serial0 is set to 3500 bytes:
Router(config)# interface serial0Router(config-if)# mpls mtu 3500show mpls forwarding-table
To display the contents of the MPLS forwarding information base (LFIB), use the show mpls forwarding-table user EXEC command.
show mpls forwarding-table [{network {mask | length} | labels label [- label] | interface interface | next-hop address | lsp-tunnel [tunnel-id ]}] [detail]
Syntax Description
Command Modes
User EXEC
Command History
Release Modification11.1CT
This command was introduced.
12.1(3)T
This command was modified to reflect new MPLS IETF terminology and CLI command syntax.
Usage Guidelines
The optional parameters described above allow specification of a subset of the entire LFIB.
Examples
The following shows sample output from the show mpls forwarding-table command:
Router# show mpls forwarding-tableLocal Outgoing Prefix Bytes tag Outgoing Next Hoptag tag or VC or Tunnel Id switched interface26 Untagged 10.253.0.0/16 0 Et4/0/0 172.27.32.428 1/33 10.15.0.0/16 0 AT0/0.1 point2point29 Pop tag 10.91.0.0/16 0 Hs5/0 point2point1/36 10.91.0.0/16 0 AT0/0.1 point2point30 32 10.250.0.97/32 0 Et4/0/2 10.92.0.732 10.250.0.97/32 0 Hs5/0 point2point34 26 10.77.0.0/24 0 Et4/0/2 10.92.0.726 10.77.0.0/24 0 Hs5/0 point2point35 Untagged [T] 10.100.100.101/32 0 Tu301 point2point36 Pop tag 168.1.0.0/16 0 Hs5/0 point2point1/37 168.1.0.0/16 0 AT0/0.1 point2point[T] Forwarding through a TSP tunnel.View additional tagging info with the 'detail' optionThe following shows sample output from the show mpls forwarding-table command when you specify the detail keyword:
Router# show mpls forwarding-table detailLocal Outgoing Prefix Bytes tag Outgoing Next Hoptag tag or VC or Tunnel Id switched interface26 Untagged 10.253.0.0/16 0 Et4/0/0 172.27.32.4MAC/Encaps=0/0, MTU=1504, Tag Stack{}28 1/33 10.15.0.0/16 0 AT0/0.1 point2pointMAC/Encaps=4/8, MTU=4470, Tag Stack{1/33(vcd=2)}00020900 0000200029 Pop tag 10.91.0.0/16 0 Hs5/0 point2pointMAC/Encaps=4/4, MTU=4474, Tag Stack{}FF0300811/36 10.91.0.0/16 0 AT0/0.1 point2pointMAC/Encaps=4/8, MTU=4470, Tag Stack{1/36(vcd=3)}00030900 0000300030 32 10.250.0.97/32 0 Et4/0/2 10.92.0.7MAC/Encaps=14/18, MTU=1500, Tag Stack{32}006009859F2A00E0F7E984828847 0002000032 10.250.0.97/32 0 Hs5/0 point2pointMAC/Encaps=4/8, MTU=4470, Tag Stack{32}FF030081 0002000034 26 10.77.0.0/24 0 Et4/0/2 10.92.0.7MAC/Encaps=14/18, MTU=1500, Tag Stack{26}006009859F2A00E0F7E984828847 0001A00026 10.77.0.0/24 0 Hs5/0 point2pointMAC/Encaps=4/8, MTU=4470, Tag Stack{26}FF030081 0001A00035 Untagged 10.100.100.101/32 0 Tu301 point2pointMAC/Encaps=0/0, MTU=1504, Tag Stack{}, via Et4/0/236 Pop tag 168.1.0.0/16 0 Hs5/0 point2pointMAC/Encaps=4/4, MTU=4474, Tag Stack{}FF0300811/37 168.1.0.0/16 0 AT0/0.1 point2pointMAC/Encaps=4/8, MTU=4470, Tag Stack{1/37(vcd=4)}00040900 00004000Table 2 describes the significant fields in this display.
show mpls interfaces
To display information about one or more interfaces that have been configured for label switching, use the show mpls interfaces privileged EXEC command.
show mpls interfaces [interface] [detail]
show mpls interfaces [all]
Syntax Description
Defaults
If no optional keyword or parameter is specified in this command, summary information is displayed for each interface that has been configured for label switching.
Command Modes
User EXEC
Command History
Release Modification11.1CT
This command was introduced.
12.1(3)T
This command was modified to reflect new MPLS IETF terminology and CLI command syntax.
Usage Guidelines
This command shows MPLS information about the specified interface, or about all of the interfaces for which MPLS has been configured.
Examples
The following is sample output generated by the show mpls interfaces command:
Router# show mpls interfacesInterface IP Tunnel OperationalEthernet1/1/1 Yes (tdp) No NoEthernet1/1/2 Yes (tdp) Yes NoEthernet1/1/3 Yes (tdp) Yes YesPOS2/0/0 Yes (tdp) No NoATM0/0.1 Yes (tdp) No No (ATM labels)ATM3/0.1 Yes (ldp) No Yes (ATM labels)ATM0/0.2 Yes (tdp) No Yes
Note
If an interface uses LC-ATM procedures, the associated line in the display is flagged with the following notation "(ATM labels)".
Table 3 describes the significant fields in the sample display shown above.
The following is sample output from the show mpls interfaces command when you specify the detail keyword:
Router# show mpls interfaces detailInterface Ethernet1/1/1:IP labeling enabled (tdp)LSP Tunnel labeling not enabledMPLS operationalMPLS turbo vectorMTU = 1500Interface POS2/0/0:IP labeling enabled (ldp)LSP Tunnel labeling not enabledMPLS not operationalMPLS turbo vectorMTU = 4470Interface ATM3/0.1:IP labeling enabled (ldp)LSP Tunnel labeling not enabledMPLS operationalMPLS turbo vectorMTU = 4470ATM labels: Label VPI = 1Label VCI range = 33 - 65535Control VC = 0/32Related Commands
show mpls label range
To display the range of local labels available for use on packet interfaces, use the show mpls label range privileged EXEC command.
show mpls label range
Syntax Description
This command has no optional keywords or arguments
Defaults
This command has no default behavior or values.
Command Modes
Privileged EXEC
Command History
Usage Guidelines
You can use the mpls label range command to configure a range for local labels that is different from the default range. If the newly configured range does not overlap the current range, then the new range will not take effect until the router is reloaded. In this situation, the show mpls label range command displays both the label range currently in use and the label range that will be in use following the next router reload.
Examples
In the following example, the use of the show mpls label range command is shown before and after the mpls label range command is used to configure a label range that does not overlap the starting label range.
Router# show mpls label rangeDownstream label pool: Min/Max label: 16/100000Router#Router# configure terminalRouter(config)# mpls label range 200 120000% Label range changes will take effect at the next reload.Router(config)# exitRouter# show mpls label rangeDownstream label pool: Min/Max label: 16/100000[Configured range for next reload: Min/Max label: 200/120000]Router#Related Commands
Debug Commands
This section describes the following general-purpose MPLS debug commands:
Note
The output generated by the debug commands described below uses the older tag switching terminology in many places, rather than the newer MPLS IETF terminology. Over time, the output generated by these commands will be updated to reflect the new MPLS IETF terminology.
debug mpls adjacency
To display changes to label switching entries in the adjacency database, use the debug mpls adjacency EXEC command. The no form of this command disables debugging output.
debug mpls adjacency
no debug mpls adjacency
Usage Guidelines
This command has no optional keywords or arguments.
Defaults
This command has no default behavior or values.
Command Modes
Privileged EXEC
Command History
Release Modification11.1CT
This command was introduced.
12.1(3)T
This command was modified to reflect new MPLS IETF terminology and CLI command syntax.
Usage Guidelines
Use the debug mpls adjacency command to monitor when entries are updated in or added to the adjacency database.
Examples
The following is sample output generated by the debug mpls adjacency command:
Router# debug mpls adjacencyTAG ADJ: add 10.10.0.1, Ethernet0/0/0TAG ADJ: update 10.10.0.1, Ethernet0/0/0Table 4 describes the significant fields shown in the sample display above.
debug mpls events
To display information about significant MPLS events, use the debug mpls events privileged EXEC command. Use the no form of this command to disable this feature.
debug mpls events
no debug mpls events
Syntax Description
This command has no optional keywords or arguments.
Defaults
This command has no default behavior or values.
Command Modes
Privileged EXEC
Command History
Usage Guidelines
Use this command to monitor significant MPLS events. For this IOS release, the only events reported by this command are changes to the MPLS router ID.
Examples
The following is sample output from the debug mpls events command:
Router# debug mpls eventsMPLS events debugging is onTAGSW: Unbound IP address, 155.0.0.55, from Router IDTAGSW: Bound IP address, 199.44.44.55, to Router IDdebug mpls lfib cef
To print detailed information about label rewrites being created, resolved, and deactivated as CEF routes are added, changed, or removed, use the debug mpls lfib cef EXEC command. The no form of this command disables debugging.
debug mpls lfib cef
no debug mpls lfib cef
Syntax Description
This command has no keywords or arguments.
Defaults
This command has no default behavior or values.
Command Modes
Privileged EXEC
Command History
Release Modification11.1CT
This command was introduced.
12.1(3)T
This command was modified to reflect new MPLS IETF terminology and CLI command syntax.
Usage Guidelines
Several lines of output are produced for each route placed into the LFIB. If your router has thousands of labeled routes, be careful about issuing this command. When label switching is first enabled, each of these routes is placed into the LFIB, and several lines of output are displayed for each route.
Examples
The following is sample output displayed when you enter the debug mpls lfib cef command:
Router# debug mpls lfib cefCisco Express Forwarding related TFIB services debugging is ontagcon: tc_ip_rtlookup fail on 10.0.0.0/8:subnet_lookup failedTFIB: route tag chg 10.7.0.7/32,idx=1,inc=Withdrn,outg=Withdrn,enabled=0x2TFIB: fib complete delete: prefix=10.7.0.7/32,inc tag=26,delete_info=1TFIB: deactivate tag rew for 10.7.0.7/32,index=0TFIB: set fib rew: pfx 10.7.0.7/32,index=0,add=0,tag_rew->adj=Ethernet2/3TFIB: resolve tag rew,prefix=10.7.0.7/32,no tag_info,no parentTFIB: fib scanner start:needed:1,unres:0,mac:0,loadinfo:0TFIB: resolve tag rew,prefix=10.7.0.7/32,no tag_info,no parentTFIB: fib upd loadinf 10.100.100.100/32,tag=Tun_hd,fib no loadin,tfib no loadinTFIB: fib check cleanup for 10.100.100.100/32,index=0,return_value=0TFIB: fib_scanner_endTFIB: create dynamic entry for 10.11.0.11/32TFIB: call find_route_tags,dist_method=1,next_hop=10.93.0.11,Et2/3TFIB: route tag chg 10.11.0.11/32,idx=0,inc=26,outg=Unkn,enabled=0x3TFIB: create tag info 10.11.0.11/32,inc tag=26,has no infoTFIB: resolve tag rew,prefix=10.11.0.11/32,has tag_info,no parentTFIB: finish fib res 10.11.0.11/32:index 0,parent outg tag no parentTFIB: fib upd loadinf 10.11.0.11/32,tag=26,fib no loadin,tfib no loadinTFIB: set fib rew: pfx 10.11.0.11/32,index=0,add=1,tag_rew->adj=Ethernet2/3tagcon: route_tag_change for: 10.250.0.97/32intag 33, outtag 28, nexthop tsr 10.11.0.11:0TFIB: route tag chg 10.250.0.97/32,idx=0,inc=33,outg=28,enabled=0x3TFIB: deactivate tag rew for 10.250.0.97/32,index=0TFIB: set fib rew: pfx 10.250.0.97/32,index=0,add=0,tag_rew->adj=Ethernet2/3TFIB: create tag info 10.250.0.97/32,inc tag=33,has old infoOn VIP:TFIB: route tag chg 10.13.72.13/32,idx=0,inc=34,outg=Withdrn,enabled=0x3TFIB: deactivate tag rew for 10.13.72.13/32,index=0TFIB: set fib rew: pfx 10.13.72.13/32,index=0,add=0,tag_rew->adj=TFIB: create tag info 10.13.72.13/32,inc tag=34,has old infoTFIB: resolve tag rew,prefix=10.13.72.13/32,has tag_info,no parentTFIB: finish fib res 10.13.72.13/32:index 0,parent outg tag no parentTFIB: set fib rew: pfx 10.100.100.100/32,index=0,add=0,tag_rew->adj=TFIB: create tag info 10.100.100.100/32,inc tag=37,has old infoTFIB: resolve tag rew,prefix=10.100.100.100/32,has tag_info,no parentTFIB: finish fib res 10.100.100.100/32:index 0,parent outg tag no parentTFIB: fib upd loadinf 10.100.100.100/32,tag=37,fib no loadin,tfib no loadinTable 5 lists the significant fields in the sample display above.
See Table 7 for a description of special labels that appear in the output of this debug command.
Related Commands
debug mpls lfib enc
To print detailed information about label encapsulations while label rewrites are created or updated and placed in the label forwarding information base (LFIB), use the debug mpls lfib enc privileged EXEC command. The command output shows you on which adjacency the label rewrite is being created and the labels assigned. The no form of this command disables debugging output.
debug mpls lfib enc
no debug mpls lfib enc
Syntax Description
This command has no keywords or arguments.
Defaults
This command has no default behavior or values.
Command Modes
Privileged EXEC
Command History
Release Modification11.1CT
This command was introduced.
12.1(3)T
This command was modified to reflect new MPLS IETF terminology and CLI command syntax.
Usage Guidelines
Several lines of output are produced for each route placed into the LFIB. If your router has thousands of labeled routes, issue this command with care. When label switching is first enabled, each of these routes is placed into the LFIB and a label encapsulation is created.
Examples
The following is an example of output generated when you issue the debug mpls lfib enc command. This example shows the encapsulations for three routes that have been created and placed into the LFIB.
Router# debug mpls lfib encTFIB: finish res:inc tag=28,outg=Imp_null,next_hop=10.93.72.13,Ethernet4/0/3TFIB: update_mac, mac_length = 14,addr=10.93.72.13,idb=Ethernet4/0/3TFIB: get ip adj: addr=10.93.72.13,is_p2p=0,fibidb=Ethernet4/0/3,linktype=7TFIB: get tag adj: addr=10.93.72.13,is_p2p=0,fibidb=Ethernet4/0/3,linktype=79TFIB: encaps:inc=28,outg=Imp_null,idb:Ethernet4/0/3,sizes 14,14,1504,type 0TFIB: finish res:inc tag=30,outg=27,next_hop=10.93.72.13,Ethernet4/0/3TFIB: get ip adj: addr=10.93.72.13,is_p2p=0,fibidb=Ethernet4/0/3,linktype=7TFIB: get tag adj: addr=10.93.72.13,is_p2p=0,fibidb=Ethernet4/0/3,linktype=79TFIB: encaps:inc=30,outg=27,idb:Ethernet4/0/3,sizes 14,18,1500,type 0TFIB: finish res:inc tag=30,outg=10,next_hop=0.0.0.0,ATM0/0.1TFIB: get ip adj: addr=0.0.0.0,is_p2p=1,fibidb=ATM0/0.1,linktype=7TFIB: get tag adj: addr=0.0.0.0,is_p2p=1,fibidb=ATM0/0.1,linktype=79TFIB: encaps:inc=30,outg=10,idb:ATM0/0,sizes 4,8,4470,type 1Table 6 describes the significant fields in the debug mpls lfib enc command output shown above.
Table 7 describes the special labels, which sometimes appear in the debug output, and their meanings.
Related Commands
debug mpls lfib lsp
To print detailed information about label rewrites being created and deleted as LSP tunnels are added or removed, use the debug mpls lfib lsp EXEC command. The no form of this command disables debugging output.
debug mpls lfib lsp
no debug mpls lfib lsp
Syntax Description
This command has no keywords or arguments.
Defaults
This command has no default behavior or values.
Command Modes
Privileged EXEC
Command History
Release Modification11.1CT
This command was introduced.
12.1(3)T
This command was modified to reflect new MPLS IETF terminology and CLI command syntax.
Examples
The following is sample output generated from the debug mpls lfib lsp command:
Router# debug mpls lfib lspTSP-tunnel related TFIB services debugging is onTFIB: tagtun,next hop=10.93.72.13,inc=35,outg=1,idb=Et4/0/3TFIB: tsptunnel:next hop=10.93.72.13,inc=35,outg=Imp_null,if_number=7TFIB: tsptun update loadinfo:tag=35,loadinfo_reqd=0,no new loadinfo,no old loadinfoTFIB: tagtun tag chg linec,fiblc=0,in tg=35,o tg=1,if=7,nh=10.93.72.13TFIB: tagtun,next hop=10.92.0.7,inc=36,outg=1,idb=Et4/0/2TFIB: tsptunnel:next hop=10.92.0.7,inc=36,outg=Imp_null,if_number=6TFIB: tsptun update loadinfo:tag=36,loadinfo_reqd=0,no new loadinfo,no old loadinfoTFIB: tagtun tag chg linec,fiblc=0,in tg=36,o tg=1,if=6,nh=10.92.0.7TFIB: tagtun_delete, inc = 36tagtun tag del linec,itag=12TFIB: tagtun_delete, inc = 35tagtun tag del linec,itag=12TFIB: tagtun,next hop=10.92.0.7,inc=35,outg=1,idb=Et4/0/2TFIB: tsptunnel:next hop=10.92.0.7,inc=35,outg=Imp_null,if_number=6TFIB: tsptun update loadinfo:tag=35,loadinfo_reqd=0,no new loadinfo,no old loadinfoTFIB: tagtun tag chg linec,fiblc=0,in tg=35,o tg=1,if=6,nh=10.92.0.7On VIP:TFIB: tagtun chg msg,in tg=35,o tg=1,nh=10.93.72.13,if=7TFIB: tsptunnel:next hop=10.93.72.13,inc=35,outg=Imp_null,if_number=7TFIB: tsptun update loadinfo:tag=35,loadinfo_reqd=0,no new loadinfo,no old loadinfoTFIB: tagtun chg msg,in tg=36,o tg=1,nh=10.92.0.7,if=6TFIB: tsptunnel:next hop=10.92.0.7,inc=36,outg=Imp_null,if_number=6TFIB: tsptun update loadinfo:tag=36,loadinfo_reqd=0,no new loadinfo,no old loadinfoTFIB: tagtun chg msg,in tg=35,o tg=1,nh=10.93.72.13,if=7TFIB: tsptunnel:next hop=10.93.72.13,inc=35,outg=Imp_null,if_number=7TFIB: tsptun update loadinfo:tag=35,loadinfo_reqd=0,no new loadinfo,no old loadinfoTFIB: tagtun chg msg,in tg=36,o tg=1,nh=10.92.0.7,if=6TFIB: tsptunnel:next hop=10.92.0.7,inc=36,outg=Imp_null,if_number=6TFIB: tsptun update loadinfo:tag=36,loadinfo_reqd=0,no new loadinfo,no old loadinfoTFIB: tagtun chg msg,in tg=35,o tg=1,nh=10.92.0.7,if=6TFIB: tsptunnel:next hop=10.92.0.7,inc=35,outg=Imp_null,if_number=6TFIB: tsptun update loadinfo:tag=35,loadinfo_reqd=0,no new loadinfo,no old loadinfoTable 8 describes the significant fields in the sample display shown above.
Related Commands
debug mpls lfib state
To trace what happens when label switching is enabled or disabled, use the debug mpls lfib state EXEC command. The no form of this command disables debugging output.
debug mpls lfib state
no debug mpls lfib state
Syntax Description
This command has no keywords or arguments.
Defaults
This command has no default behavior or values.
Command Modes
Privileged EXEC
Command History
Release Modification11.1CT
This command was introduced.
12.1(3)T
This command was modified to reflect new MPLS IETF terminology and CLI command syntax.
Usage Guidelines
Use this command when you wish to trace what happens to the LFIB when you issue the mpls ip or the mpls tsp-tunnel command.
Examples
The following is sample output generated from the debug mpls lfib state command:
Router# debug mpls lfib stateTFIB enable/disable state debugging is onTFIB: Upd tag sb 6(status:0xC1,tmtu:1500,VPI:1-1 VC=0/32,et:0/0/0),lc 0x0TFIB: intf status chg: idb=Et4/0/2,status=0xC1,oldstatus=0xC3TFIB: interface dyntag change,change in state to Ethernet4/0/2TFIB: enable entered, table exists,enabler type=0x2TFIB: enable, TFIB already enabled, types now 0x3,returningTFIB: enable entered, table exists,enabler type=0x1TFIB: disable entered, table exists,type=0x1TFIB: cleanup: tfib[32] still non-0On linecard only:TFIB: disable lc msg recvd, type=0x1TFIB: Ethernet4/0/1 fibidb subblock message receivedTFIB: enable lc msg recvd, type=0x1TFIB: Tunnel301 set encapfix to 0x6016A97CTable 9 describes the significant fields in the sample display shown above.
Related Commands
debug mpls lfib struct
To trace the allocation and freeing of LFIB-related data structures, such as the LFIB itself, label-rewrites, and label-info data, use the debug mpls lfib struct EXEC command. The no form of this command disables debugging output.
debug mpls lfib struct
no debug mpls lfib struct
Syntax Description
This command has no keywords or arguments.
Defaults
This command has no default behavior or values.
Command Modes
Privileged EXEC
Command History
Release Modification11.1CT
This command was introduced.
12.1(3)T
This command was modified to reflect new MPLS IETF terminology and CLI command syntax.
Examples
The following is sample output generated from the debug mpls lfib struct command:
Router# debug mpls lfib structTFIB data structure changes debugging is onTFIB: delete tag rew, incoming tag 32TFIB: remove from tfib,inc tag=32TFIB: set loadinfo,tag=32,no old loadinfo,no new loadinfoTFIB: TFIB not in use. Checking for entries.TFIB: cleanup: tfib[0] still non-0TFIB: remove from tfib,inc tag=Tun_hdTFIB: set loadinfo,tag=Exp_null,no old loadinfo,no new loadinfoTFIB: TFIB freed.TFIB: enable, TFIB allocated, size 4024 bytes, maxtag = 500TFIB: create tag rewrite: inc Tun_hd,outg UnknTFIB: add to tfib at Tun_hd, first in circular list, mac=0,enc=0TFIB: delete tag rew, incoming tag Tun_hdTFIB: remove from tfib,inc tag=Tun_hdTFIB: set loadinfo,tag=Exp_null,no old loadinfo,no new loadinfoTFIB: create tag rewrite: inc Tun_hd,outg UnknTFIB: add to tfib at Tun_hd, first in circular list, mac=0,enc=0TFIB: create tag rewrite: inc 26,outg UnknTFIB: add to tfib at 26, first in circular list, mac=0,enc=0TFIB: add to tfib at 27, added to circular list, mac=0,enc=0TFIB: delete tag rew, incoming tag Tun_hdTFIB: remove from tfib,inc tag=Tun_hdTFIB: set loadinfo,tag=Exp_null,no old loadinfo,no new loadinfoTFIB: add to tfib at 29, added to circular list, mac=4,enc=8TFIB: delete tag rew, incoming tag 29TFIB: remove from tfib,inc tag=29Table 10 describes the significant fields in the sample display shown above.
Related Commands
debug mpls packets
To display labeled packets switched by the host router, use the debug mpls packets EXEC command. The no form of this command disables debugging output.
debug mpls packets [interface]
no debug mpls packets [interface]
Syntax Description
Defaults
Displays all labeled packets regardless of interface.
Command Modes
Privileged EXEC
Command History
Release Modification11.1CT
This command was introduced.
12.1(3)T
This command was modified to reflect new MPLS IETF terminology and CLI command syntax.
Usage Guidelines
The optional interface parameter restricts the display to only those packets received or transmitted on the indicated interface.
Note
Use this command with care because it generates output for every packet processed. Furthermore, enabling this command causes fast and distributed label switching to be disabled for the selected interfaces. To avoid adversely affecting other system activity, use this command only when traffic on the network is at a minimum.
Examples
The following is sample output from the debug mpls packets command:
Router# debug mpls packetsTAG: Hs3/0: recvd: CoS=0, TTL=254, Tag(s)=27TAG: Hs0/0: xmit: (no tag)TAG: Hs0/0: recvd: CoS=0, TTL=254, Tag(s)=30TAG: Hs3/0: xmit: CoS=0, TTL=253, Tag(s)=27Table 11 describes the significant fields in the sample display shown above.
Related Commands
Glossary
ATM edge LSR—A router that is connected to the ATM-LSR cloud through LC-ATM interfaces. The ATM edge LSR adds labels to unlabeled packets and strips labels from labeled packets.
ATM-LSR—A label switch router with a number of LC-ATM interfaces. The router forwards the cells among these interfaces using labels carried in the VPI/VCI field of the ATM cell header.
CoS—Class of service. A feature that provides scalable, differentiated types of service across an MPLS network.
IP precedence—A 3-bit value in a ToS byte used for assigning precedence to IP packets.
label—A short fixed-length label that tells switching nodes how to forward data (packets or cells).
label-controlled ATM interface (LC-ATM interface)—An interface on a router or switch that uses label distribution procedures to negotiate label VCs.
label edge router (LER)—A router that performs label imposition.
label imposition—The action of putting the first label on a packet.
label switch—A node that forwards units of data (packets or cells) on the basis of labels.
label-switched path (LSP)—A sequence of hops (Router 0...Router n) in which a packet travels from R0 to Rn by means of label switching mechanisms. A label-switched path can be chosen dynamically, based on normal routing mechanisms, or it can be configured manually.
label-switched path (LSP) tunnel—A configured connection between two routers, in which label switching techniques are used for packet forwarding.
label switching router (LSR)—A Layer 3 router that forwards a packet based on the value of a label encapsulated in the packet.
label VC (LVC)—An ATM virtual circuit that is set up through ATM LSR label distribution procedures.
LFIB—Label Forwarding Information Base. The data structure used by switching functions to switch labeled packets.
LIB—Label information base. A database used by an LSR to store labels learned from other LSRs, as well as labels assigned by the local LSR.
MPLS—Multiprotocol label switching. An emerging industry standard that defines support for MPLS forwarding of packets along normally routed paths (sometimes called MPLS hop-by-hop forwarding).
QoS—Quality of service. A measure of performance for a transmission system that reflects its transmission quality and service availability.
tailend—The downstream, received end of a tunnel.
TDP—Tag Distribution Protocol. The protocol used to distribute label bindings to LSRs.
traffic engineering—The techniques and processes used to cause routed traffic to travel through the network on a path other than the one that could have been chosen if standard routing methods had been applied.
traffic engineering tunnel—A label-switched tunnel that is used for traffic engineering. Such a tunnel is set up through means other than normal Layer 3 routing; it is used to direct traffic over a path different from the one that Layer 3 routing could cause the tunnel to take.
VPN—Virtual private network. Enables IP traffic to use tunneling to travel securely over a public TCP/IP network.



