Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 5.1.x
Implementing MPLS Forwarding
Downloads: This chapterpdf (PDF - 1.3 MB) The complete bookPDF (PDF - 6.0 MB) | Feedback

Implementing MPLS Forwarding

Implementing MPLS Forwarding

This module describes how to implement MPLS Forwarding on Cisco ASR 9000 Series Aggregation Services Routers.

All Multiprotocol Label Switching (MPLS) features require a core set of MPLS label management and forwarding services; the MPLS Forwarding Infrastructure (MFI) supplies these services.

Feature History for Implementing MPLS-TE



Release 3.7.2

This feature was introduced.

Prerequisites for Implementing Cisco MPLS Forwarding

These prerequisites are required to implement MPLS Forwarding:

  • You must be in a user group associated with a task group that includes the proper task IDs. The command reference guides include the task IDs required for each command. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.

  • Router that runs Cisco IOS XR software.

  • Installed composite mini-image and the MPLS package, or a full composite image.

Restrictions for Implementing Cisco MPLS Forwarding

  • Label switching on a Cisco router requires that Cisco Express Forwarding (CEF) be enabled.

  • CEF is mandatory for Cisco IOS XR software and it does not need to be enabled explicitly.

Information About Implementing MPLS Forwarding

To implement MPLS Forwarding, you should understand these concepts:

MPLS Forwarding Overview

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 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.

Based on routing information that is stored in the VRF IP routing table and VRF CEF table, packets are forwarded to their destination using MPLS.

A PE router binds a label to each customer prefix learned from a CE router and includes the label in the network reachability information for the prefix that it advertises to other PE routers. When a PE router forwards a packet received from a CE router across the provider network, it labels the packet with the label learned from the destination PE router. When the destination PE router receives the labeled packet it pops the label and uses it to direct the packet to the correct CE router. Label forwarding across the provider backbone, is based on either dynamic label switching or traffic engineered paths. A customer data packet carries two levels of labels when traversing the backbone:

  • Top label directs the packet to the correct PE router

  • Second label indicates how that PE router should forward the packet to the CE router

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.


The distribution of label bindings cannot be done statically for the Layer 2 VPN pseudowire.

Each LSR informs its neighbors of the label bindings it has made. This awareness of label bindings by neighboring routers is facilitated by these protocols:

Label Distribution Protocol (LDP)

Supports MPLS forwarding along normally routed paths.

Resource Reservation Protocol (RSVP)

Supports MPLS traffic engineering.

Border Gateway Protocol (BGP)

Supports MPLS virtual private networks (VPNs).

When a labeled packet is 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.

MFI Control-Plane Services

The MFI control-plane provides services to MPLS applications, such as Label Distribution Protocol (LDP) and Traffic Engineering (TE), that include enabling and disabling MPLS on an interface, local label allocation, MPLS rewrite setup (including backup links), management of MPLS label tables, and the interaction with other forwarding paths (IP Version 4 [IPv4] for example) to set up imposition and disposition.

MFI Data-Plane Services

The MFI data-plane provides a software implementation of MPLS forwarding in all of these forms:

  • Imposition

  • Disposition

  • Label swapping

MPLS Maximum Transmission Unit

MPLS maximum transmission unit (MTU) indicates that the maximum size of the IP packet can still be sent on a data link, without fragmenting the packet. In addition, data links in MPLS networks have a specific MTU, but for labeled packets. All IPv4 packets have one or more labels. This does imply that the labeled packets are slightly bigger than the IP packets, because for every label, four bytes are added to the packet. So, if n is the number of labels, n * 4 bytes are added to the size of the packet when the packet is labeled. The MPLS MTU parameter pertains to labeled packets.

Label Security for BGP Inter-AS Option-B

Option-B is a method to exchange VPNv4/VPNv6 routes between Autonomous Systems (AS), as described in RFC-4364. When the local router that has Option-B peering with other autonomous systems receives a labeled packet from an external peer, the local router ensures the following:

  • the top label is advertised to the source of traffic

  • label stack on the packet received from the external peer contains at least one label (explicit null label is not included)

How to Implement MPLS Forwarding

These topics explain how to configure a router for MPLS forwarding.

Configuring MPLS Label Security

Perform this task to configure the MPLS label security on the interface.


    1.    configure

    2.    interface type interface-path-id

    3.    mpls label-security rpf

    4.    Use the commit or end command.

     Command or ActionPurpose
    Step 1 configure

    RP/0/RSP0/CPU0:router# configure

    Enters global configuration mode.

    Step 2 interface type interface-path-id

    RP/0/RSP0/CPU0:router(config)#interface tunnel-te 1

    Enters the interface configuration mode.

    Step 3 mpls label-security rpf

    RP/0/RSP0/CPU0:router(config-if)#mpls label-security rpf

    Configures the MPLS label security on the specified interface and checks for RPF label on incoming packets.

    Step 4 Use the commit or end command.  

    commit—Saves the configuration changes and remains within the configuration session.

    end—Prompts user to take one of these actions:
    • Yes— Saves configuration changes and exits the configuration session.

    • No—Exits the configuration session without committing the configuration changes.

    • Cancel—Remains in the configuration session, without committing the configuration changes.


    Additional References

    For additional information related to implementing MPLS Forwarding, refer to the following references:

    Related Documents

    Related Topic

    Document Title

    MPLS Forwarding commands

    MPLS Forwarding Commands on Cisco ASR 9000 Series Router module in Cisco ASR 9000 Series Aggregation Services Routers MPLS Command Reference

    Getting started material

    Cisco ASR 9000 Series Aggregation Services Routers Getting Started Guide




    No new or modified standards are supported by this feature, and support for existing standards has not been modified by this feature.



    MIBs Link

    To locate and download MIBs using Cisco IOS XR software, use the Cisco MIB Locator found at the following URL and choose a platform under the Cisco Access Products menu: http:/​/​​public/​sw-center/​netmgmt/​cmtk/​mibs.shtml




    RFC 3031

    Multiprotocol Label Switching Architecture

    RFC 3443

    Time to Live (TTL) Processing in Multi-Protocol Label Switching (MPLS) Networks

    RFC 4105

    Requirements for Inter-Area MPLS Traffic Engineering