No relevant resource is found in the selected language.

This site uses cookies. By continuing to browse the site you are agreeing to our use of cookies. Read our privacy policy>Search


To have a better experience, please upgrade your IE browser.


Traceroute through MPLS BackBone doesn't show intermediate P hops, because “ttl expiration pop“ mode is not configured correctly.

Publication Date:  2012-07-27 Views:  150 Downloads:  0

Issue Description

There is part of MPLS BB network scheme:

                                                                                 Pic 1
Client’s traffic are forwarded through MPLS BB in Global Routing Table (not VPN-Instance)
As You can see on the pic 1. Traceroute output doesn’t include all intermediate hops (P routers) from MPLS BB although “mpls ttl propagation” is enabled. This is the problem!

Alarm Information

 1 (  0.174 ms  0.167 ms  0.142 ms
 2 (  0.144 ms  0.144 ms  0.154 ms
 3 (  0.382 ms  0.287 ms  0.274 ms
 4  * * *
 5  * * *
 6  * * *
 7 (  17.357 ms  19.418 ms  11.983 ms
 8 (  10.659 ms  10.687 ms  10.555 ms
 9 (  78.413 ms  10.675 ms  10.678 ms
10 (  9.059 ms  9.117 ms (  9.049 ms
11 (  11.287 ms  11.363 ms  11.405 ms
12 (  11.305 ms  11.429 ms  11.235 ms
There are no any hops from MPLS BB! After Ingress-PE ( we can see only “* * *” instead 4-th, 5-th and 6-th hop’s ip address!

Handling Process

Execute command “undo ttl expiration pop” on all P-LSRs in MPLS BB
And then we get following result:

                                                                                     Pic 2

Root Cause

When a labeled packet is received with a TTL of 1, the receiving LSR drops the packet and sends an ICMP message  “time exceeded” (type 11, code 0) to the originator of IP packet. This is the same behavior that a router would exhibit with an IP packet that had TTL an expiring TTL. However ICMP message may be sent back by two different methods:
  1. ICMP message “time exceeded” is sent to the originator immediately by using LSR’s local ip routing table;
  2. ICMP message “time exceeded” is forwarded along the LSP of original packet was forwarded. (Because intermediate LSR might not have local route to the source of original packet)
Using the ttl expiration pop command, you can use the local IP route to forward ICMP response packets after the MPLS TTL expires.
Using the undo ttl expiration pop command, you can disable this function. That is, ICMP response packets are sent along LSPs.
By default, when packets with one label expires, ICMP message “time exceeded” is sent according to the local IP route.
As You remember, customer uses Global Routing Table (GRT) and standalone Route Reflector (RR) for exchanging public Internet routing information. In this case there is one label in packets and all intermediate P devices don’t have routing information about networks which are beyond PE devices. That means that all intermediate P-LSRs don’t know how to forward ICMP message “time exceeded” directly to source of original packet. P-LSRs have to forward ICMP message to the remote PE device which has in their local routing table information about ip address of originator (in our case, originator is
According to documentation, by default local routing table is used by NE40E/NE80E (with VRP version V600R001C00SPC800) for forwarding ICMP message “time exceeded”. That is why in this case we must execute command “undo ttl expiration pop” on all P-LSRs in MPLS BB.


You should remember that LSR may use to different behaviors for forwarding ICMP message “time exceeded”:
  1. Forwarding according local ip routing table;
  2. Forwarding along original LSP to the remote PE device.
If LSR doesn’t have necessary information in own local routing table and You want to use “ttl propagation”  You should use “undo ttl expiration pop” command on all intermediate LSRs.