Cisco Support Community
Showing results for 
Search instead for 
Did you mean: 

Welcome to Cisco Support Community. We would love to have your feedback.

For an introduction to the new site, click here. If you'd prefer to explore, try our test area to get started. And see here for current known issues.

New Member

Show tag-switching forwarding-table output


I'm doing a bit of mpls study and wondered if someone could confirm, or otherwise, my understanding of the LFIB table.

Local tag - The tag that this device would advertise upstream for a neighbour to use to get to a prefix ?

Outgoing tag - The tag I will apply as I send data downstream towards the destination ?

So for example prefix

Local tag 30 Outgoing tag 35.  I put 30 on if I send to and I advertise tag 35 to upstream neighbours to get to  Is that correct ?

What would pop tag mean in the outgoing tag column ?  Would that be a PE telling a P to send untagged data because the PE is a neighbour with the CE advertising that prefix ?

Lastly what would the untagged and aggregate options mean ?

Thanks, Stephen.

New Member

Re: Show tag-switching forwarding-table output


I do not pretend to be a SP/MPLS guru - just studying as I have time.

As I understand it:

  • Pop Tag - means that this router is probably the Penultimate Hop router and is performing PHP - there may still be a VPN label, etc. on the packet
  • Untagged - means that this router is not running MPLS with the adjacent router, and is removing all labels to send an IP-only packet to this neighbor
  • Outgoing Tag


Hall of Fame Super Silver

Re: Show tag-switching forwarding-table output

Hello Steven,

>> Local tag 30 Outgoing tag 35.  I put 30 on if I send to and I advertise tag 35 to upstream neighbours to get to  Is that correct ?

It is just the opposite:

outgoing label = it is the label received by the device that is in the path to the destination prefix

local label= it is the label assigned by local node to the prefix and advertised to all LDP neighbors and used by neighbors that use local node to reach the destination.

if an MPLS frame with label 30 is received on an interface of local node it is swapped to label 35 and sent out the interface where this label binding has been received, that is on the best path to destination according to IGP metric.

the signalling protocol for MPLS builds other tables.

CEF builds the FIB forwarding information table.

LDP builds LFIB = label forwarding information table.

the routers in the MPLS cloud build LDP sessions between them.

In MPLS framed mode the labels are assigned in unsolicited mode: they are assigned to prefixes in the FIB before traffic for that prefix is seen.
Each router sends out its label assignments towards its LDP neighbors.
On each router each label value is used only once and associated to a prefix or other FEC.

the labels actually travel in the opposite direction of traffic: from nearest to farest node. Thi is called downstream.

unsolicited downstream indipendent

indipendent means that a node is free to associate a label to a prefix in FIB before receiving the label binding from the router that is on the path to the prefix.

note that all prefixes to be in CEF FIB have to be advertised by an IPV4 routing protocol like OSPF, EIGRP or IS-IS.
Also the LDP sessions are built using loopback interfaces so they can be setup only after the routing protocol convergence.

the end result that can be checked with

sh mpls forwarding

is that a local label is associated to the prefix,
the label received by the router upstream (nearest to the destination ) is used to send out MPLS packets
the local label is used by the router downstream (farer from destination) the current node when sending frame to this node

the mpls forwarding table says

if an incoming packet with label local-label is received I will send out a specific interface with label= action or outgoing label.

The edge nodes are the routers with at least one non mpls interface.
These nodes when sending traffic to a prefix perform label imposition by looking at LFIB if an entry is found is used to build the outgoing label.

when the edge routers receive packets destinated to their non mpls connected interaces they do the opposite by extracting the packet.

IOS uses normally penultimate hop popping: actually the last router before the edge node receives a special label (implicit-null) that instructs it to send packets for the prefix untagged to the edge node.
This is an optimization.

To be noted that MPLS support multiple label stacks and these are used for many applications: L3 VPN, L2 VPN, MPLS TE protection, 6PE, 6VPE.

when moving in the MPLS cloud only the more external label is changed at each node hop.
Inner labels travel unchanged end-to-end.

Hope to help

New Member

Re: Show tag-switching forwarding-table output

Thanks Giuseppe

A very comprehensive reply.


Re: Show tag-switching forwarding-table output

what a nice post Giuseppe

5+ from me

comprehensive and simple ..

by the way why you dont create an article like this in netpro as document and you can reference it to people when they ask about the same thing !


Re: Show tag-switching forwarding-table output

Guislar has answered very well. I would like to add one more label that is aggregate label which means remove all the tags and forwards the pure IP packet. Normally this label is shown at egress PE or where the global route leaking scenarios come in picture like serve vpn customers with internet vrf.


shivlu jain