MPLS ICMP Extensions

I wanted to get some other opinions on some new features that have
appeared in recent code from the popular vendors. It appears there
is a new draft, a copy of which can be found at that
allows MPLS enabled boxes to return some additonal information in
a traceroute packet.

That's all well and good, and I can see how that might be amazingly
useful to someone running an MPLS network, however, it seems to
expose data much further than the local network. Here's a random
example from a traceroute I recently performed (on a Juniper):

11 ( 91.935 ms 102.652 ms 92.960 ms
     MPLS Label=13198 CoS=0 TTL=1 S=1
12 ( 92.593 ms 92.785 ms 93.119 ms
     MPLS Label=12676 CoS=0 TTL=1 S=1
13 ( 93.273 ms 93.121 ms 93.067 ms
     MPLS Label=12632 CoS=0 TTL=1 S=1
14 ( 104.755 ms 91.949 ms 92.169 ms
     MPLS Label=12672 CoS=0 TTL=1 S=1
15 ( 92.021 ms 91.737 ms 91.684 ms
     MPLS Label=12592 CoS=0 TTL=1 S=1
16 ( 175.907 ms 278.144 ms 203.763 ms
     MPLS Label=12695 CoS=0 TTL=1 S=1
17 ( 93.286 ms 93.230 ms 93.593 ms
     MPLS Label=13506 CoS=0 TTL=1 S=1
18 ( 92.780 ms 92.344 ms 92.596 ms

It appears both Cisco and Juniper support this new feature. The
question I quickly asked both vendors is how do you turn this
behavior off, so the traceroutes appear as they did before this
feature was introduced. The answer, apparently, is you don't. You
can either disable TTL processing on your MPLS tunnels (in effect
disabling traceroute), or you can have it output all this extra

The response I'm getting so far from each vendor is they believe
this are the right two options to offer. Thus, my post here. I
think there are more people out there who would like to not expose
their MPLS labels, Class of Service info, or anything else this
feature can provide (because, I don't know all of what it can
display), but still allow traceroute to work normally.

If I'm off in the deep end, please tell me so, if not, please tell your
vendor rep you'd like the "icmp no mpls info" knob.

If anyone is interested I have a patch for LBL traceroute to display
this information too.

Download, patch in, and you will have

jesper@tam:/home/jesper> traceroute
traceroute to (, 30 hops max, 40 byte packets
1 ( 0.895 ms 0.836 ms 0.751 ms
2 ( 21.557 ms 18.431 ms 19.075 ms
3 ( 19.768 ms 19.094 ms 19.285 ms
4 ( 18.824 ms 20.206 ms 19.800 ms
5 ( 126.360 ms 127.665 ms 127.702 ms
     MPLS Label=12632 CoS=0 TTL=1 S=1
6 ( 125.205 ms 126.923 ms 125.993 ms
     MPLS Label=12672 CoS=0 TTL=1 S=1
7 ( 126.425 ms 126.212 ms 126.220 ms
     MPLS Label=12592 CoS=0 TTL=1 S=1
8 ( 126.920 ms 127.660 ms 127.462 ms
     MPLS Label=12604 CoS=0 TTL=1 S=1
9 ( 129.886 ms 125.499 ms 126.715 ms
     MPLS Label=13506 CoS=0 TTL=1 S=1
10 ( 126.080 ms 124.598 ms 125.235 ms
11 ( 126.723 ms 124.544 ms 124.736 ms


It would be cool to update the NANOG Traceroute with MPLS


Where can one get a current copy of Nanog-Traceroute...?

From my googling it appears to have gone out of favour, and I can't seem to

find any current repository of source...