Courseiva
mplsEXEC

show mpls forwarding-table

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

Definition: show mpls forwarding-table is a Cisco IOS-XR exec command. 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.

show mpls forwarding-table vs show mpls label range

Both commands relate to MPLS operation on the router, but they serve very different purposes: one focuses on the actual label forwarding entries used for packet switching, while the other displays the label space configuration. They are often considered together when troubleshooting label allocation versus label usage.

Aspectshow mpls forwarding-tableshow mpls label range
ScopePer-LSP label bindings and next hopsGlobal label range configuration
Output contentIncoming/outgoing labels, interface, next-hop, LSP typeStatic/dynamic label ranges, allocated labels, current usage
Typical useVerify label switching paths for traffic engineering or VPNsCheck label space exhaustion or range conflicts
PersistenceDynamic; changes as labels are allocated or withdrawnStatic configuration with dynamic allocated range counters
DependencyRequires LDP/TE/RSVP to have established LSPsAlways available; shows configured ranges even if no labels allocated

Use show mpls forwarding-table when you need to see the actual label switching entries and next hops to troubleshoot MPLS forwarding issues.

Use show mpls label range when you need to verify the configured label ranges or check for label space exhaustion before provisioning new LSPs.

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 CCNP Service Provider

Test your knowledge with practice questions covering all CCNP Service Provider exam domains.

Practice CCNP Service Provider Questions