mplsEXEC

show mpls forwarding-table

Displays the MPLS forwarding table, showing label bindings and next-hop information for label-switched paths.

Overview

The 'show mpls forwarding-table' command is essential for verifying and troubleshooting MPLS label forwarding on Cisco IOS-XR routers. It displays the Label Forwarding Information Base (LFIB), which contains mappings between incoming labels (local labels) and outgoing labels, along with next-hop and interface information. This command is used after configuring MPLS protocols like LDP or RSVP-TE to ensure that label bindings are correctly installed. In Cisco IOS-XR, the output is similar to IOS but with additional fields like 'Bytes Switched' for traffic accounting. The command is critical in troubleshooting MPLS forwarding issues, such as label mismatch, missing routes, or incorrect next hops. It fits into workflows where you first verify MPLS neighbor adjacencies, then check label bindings, and finally confirm forwarding entries. Understanding the output helps network engineers quickly isolate problems in MPLS networks.

Syntax·EXEC
show mpls forwarding-table [vrf vrf-name] [labels label-value] [prefix prefix/length] [interface type number] [detail] [private]

When to Use This Command

  • Verify MPLS label forwarding entries for a specific prefix after configuring LDP or RSVP-TE.
  • Troubleshoot MPLS label switching failures by checking label bindings and outgoing interfaces.
  • Monitor the MPLS forwarding table for label consistency across multiple routers in an MPLS network.
  • Validate label imposition and disposition operations at ingress and egress LSRs.

Parameters

ParameterSyntaxDescription
vrfvrf vrf-nameSpecifies the VRF instance to display MPLS forwarding entries for. Used in MPLS VPN environments to view per-VRF label information.
labelslabels label-valueFilters the output to show only entries with a specific local label. Useful for focusing on a particular LSP.
prefixprefix prefix/lengthDisplays forwarding entries for a specific IP prefix. Helps verify label bindings for a particular destination network.
interfaceinterface type numberFilters entries by outgoing interface. Useful for checking label forwarding on a specific link.
detaildetailProvides additional information such as MAC encapsulation, MPLS label stack details, and MTU. Used for in-depth troubleshooting.
privateprivateDisplays private (internal) MPLS labels used for features like MPLS-TE or inter-AS. Typically used by advanced engineers.

Command Examples

Basic MPLS forwarding table display

show mpls forwarding-table
Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes     
Label  Label       or ID              Interface                    Switched  
------ ---------- ------------------ ------------ --------------- ------------
16001  16003       10.1.1.0/24        GigabitEthernet0/0/0/0      192.168.1.2   1500
16002  Pop Label   10.2.2.0/24        GigabitEthernet0/0/0/1      192.168.2.2   0
16003  Untagged    10.3.3.0/24        GigabitEthernet0/0/0/2      192.168.3.2   500

Local Label: locally assigned label; Outgoing Label: label to push (Pop Label means PHP, Untagged means no label); Prefix: destination network; Outgoing Interface: egress interface; Next Hop: next-hop IP; Bytes Switched: traffic count.

Detailed MPLS forwarding entry for a specific label

show mpls forwarding-table labels 16001 detail
Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes     
Label  Label       or ID              Interface                    Switched  
------ ---------- ------------------ ------------ --------------- ------------
16001  16003       10.1.1.0/24        GigabitEthernet0/0/0/0      192.168.1.2   1500

    MAC/Encaps: 14 bytes, MPLS Label: 16003 (exp 0) [TTL 255]
    Outgoing Interface: GigabitEthernet0/0/0/0
    MTU: 1500

Detail shows encapsulation details: MAC header size, MPLS label value with EXP and TTL, outgoing interface, and MTU.

Understanding the Output

The output displays the MPLS forwarding table with columns: Local Label (assigned by this router), Outgoing Label (label to push onto the packet; 'Pop Label' indicates PHP, 'Untagged' means no label), Prefix or ID (destination network or tunnel ID), Outgoing Interface, Next Hop, and Bytes Switched (traffic count). A healthy table shows consistent label bindings with expected outgoing labels and next hops. Problematic values include 'Untagged' where a label is expected (indicating LDP/RSVP failure) or missing entries for known prefixes. The 'Bytes Switched' column helps identify traffic flow; zero bytes may indicate no traffic or a forwarding issue.

Configuration Scenarios

Verifying MPLS LDP forwarding

After configuring MPLS LDP on a core router, verify that label bindings are installed for IGP routes.

Topology

R1 --- R2 --- R3 10.1.1.0/24 via R3

Steps

  1. 1.Configure MPLS LDP on all interfaces.
  2. 2.Verify LDP neighbors with 'show mpls ldp neighbor'.
  3. 3.Check forwarding table with 'show mpls forwarding-table prefix 10.1.1.0/24'.
Configuration
! On R2
mpls ldp
 interface GigabitEthernet0/0/0/0
 interface GigabitEthernet0/0/0/1
!

Verify: Run 'show mpls forwarding-table prefix 10.1.1.0/24' and confirm an outgoing label is present.

Watch out: Ensure IGP (OSPF/IS-IS) is advertising the prefix; otherwise, LDP won't install a label.

Troubleshooting with This Command

When troubleshooting MPLS forwarding issues on IOS-XR, start with 'show mpls forwarding-table' to see if labels are present. If a prefix is missing, check LDP or RSVP-TE bindings with 'show mpls ldp bindings' or 'show mpls traffic-eng tunnels'. If the outgoing label shows 'Untagged' unexpectedly, verify that the next-hop router is MPLS-capable and that LDP sessions are up. Use the 'detail' option to inspect encapsulation details; for example, a missing MAC header may indicate an ARP issue. Compare the 'Bytes Switched' field over time to detect traffic drops. If labels are present but traffic fails, check the outgoing interface status and next-hop reachability. In VRF contexts, ensure the correct VRF is specified. For PHP issues, confirm that the egress router is advertising an implicit null label. The command is also useful for verifying label consistency after configuration changes or during network migrations.

CCNA Exam Tips

1.

Remember that 'Pop Label' indicates Penultimate Hop Popping (PHP), which is normal for egress LSRs.

2.

Know that 'Untagged' means the router is not imposing a label, often seen for directly connected or BGP routes without MPLS.

3.

Practice interpreting the 'Bytes Switched' field to identify active LSPs.

Common Mistakes

Confusing 'Pop Label' with an error; it is correct for PHP operation.

Assuming 'Untagged' always indicates a problem; it is valid for certain scenarios like BGP-free core edge.

Neglecting to check the 'Outgoing Interface' and 'Next Hop' for consistency with routing table.

Platform Notes

On Cisco IOS-XR, the 'show mpls forwarding-table' command is similar to IOS but with some differences. IOS-XR uses a modular architecture, so the output may include additional fields like 'Bytes Switched' for per-prefix accounting. The 'detail' option provides more granular information about label stack operations. In IOS, the equivalent command is 'show mpls forwarding-table' with similar syntax, but IOS-XR supports VRF filtering and private labels. For older IOS versions, the command might be 'show mpls forwarding-table' without the 'vrf' keyword. On Juniper Junos, the equivalent is 'show route table mpls.0' or 'show mpls lsp'. On Nokia (Alcatel-Lucent) SR OS, use 'show router mpls forwarding-table'. IOS-XR also supports 'show mpls forwarding-table labels' for specific label queries. Version differences: In IOS-XR 6.x and later, the output format is consistent, but earlier versions may have slight variations in column headers.

Practice for the CCNA 200-301

Test your knowledge with hundreds of CCNA practice questions covering all exam domains.

Practice CCNA Questions