[j-nsp] Weird traceroute across MPLS core using labeled-unicast IBGP
Daniel Roesen
dr at cluenet.de
Sun Mar 7 23:15:16 EST 2004
Hi,
I'm having weird results with JunOS 6.2 traceroutes across an LDP/MPLS
lab setup.
A1
\
+--B--C--D -- 10.0.0.1/30
/
A2
A1, B, C, D are JunOS 6.2R1.5
A2 is IOS 12.2(18)S3
The network is running IS-IS, LDP and IBGP using labeled(!)-unicast.
MPLS TTL propagation is active. 10.0.0.1/30 is an IP attached to a
looped interface on router D and exported to IBGP (labeled).
RIB/FIBs:
A1:
10.0.0.0/30 *[BGP/170] 00:05:12, localpref 100, from 192.168.0.5
AS path: I
> to 192.168.0.46 via ge-0/0/0.100, Push 100176, Push
> 100064(top)
A2#sh ip bg 10.0.0.1
BGP routing table entry for 10.0.0.0/30, version 4
Paths: (1 available, best #1, table Default-IP-Routing-Table)
Not advertised to any peer
Local, (received & used)
192.168.0.5 (metric 30) from 192.168.0.5 (192.168.0.5)
Origin IGP, localpref 100, valid, internal, best,
mpls labels in/out unknown/100176
A2#sh ip cef 10.0.0.1
10.0.0.0/30, version 47, epoch 0, cached adjacency 192.168.0.53
0 packets, 0 bytes
tag information set, all rewrites owned
local tag: BGP route head
fast tag rewrite with Fa3/1/1, 192.168.0.53, tags imposed: {100064
100176}
via 192.168.0.5, 0 dependencies, recursive
next hop 192.168.0.53, FastEthernet3/1/1 via 192.168.0.5/32
valid cached adjacency
tag rewrite with Fa3/1/1, 192.168.0.53, tags imposed: {100064
100176}
So both routers A1 and A2 have basically the same picture. Route
10.0.0.0/30 is reachable via MPLS, with inner label 10176 advertised
by PE router D.
But traceroutes are quite different.
Following a traceroute from A1:
1 10.0.0.1 (10.0.0.1) 1.099 ms 0.825 ms 0.795 ms
MPLS Label=100176 CoS=0 TTL=1 S=1
2 10.0.0.1 (10.0.0.1) 0.799 ms 0.775 ms 0.754 ms
"Uhm?"
As a comparision, a beautiful (and looking as expected) traceroute
from A2:
1 192.168.0.53 [MPLS: Labels 100064/100176 Exp 0] 0 msec 0 msec 0 msec
2 192.168.0.58 [MPLS: Labels 100064/100176 Exp 0] 0 msec 4 msec 0 msec
3 10.0.0.1 0 msec 0 msec 0 msec
A2 pushes label 100176 (inner, from labeled-unicast IBGP) and sends
the traceroute packets out towards B (192.168.0.53), further to
penultimate router C (192.168.0.58) to router D, who replies for
10.0.0.1 on so-0/2/0.0.
Turning off labeled-unicast in IBGP and using plain unicast NLRI,
traceroutes from A1 to D are looking as expected again:
traceroute to 10.0.0.1 (10.0.0.1), 30 hops max, 40 byte packets
1 192.168.0.46 (192.168.0.46) 0.987 ms 0.796 ms 0.747 ms
MPLS Label=100064 CoS=0 TTL=1 S=1
2 192.168.0.58 (192.168.0.58) 0.926 ms 0.792 ms 0.810 ms
MPLS Label=100064 CoS=0 TTL=1 S=1
3 10.0.0.1 (10.0.0.1) 0.905 ms 0.764 ms 0.742 ms
So something is wrong(?) when the traceroute destination is reachable
via labeled-unicast. It looks like JunOS is doing something wrong
as traceroute source.
Do I overlook something? Is there any rational explanation for what
I'm seeing? Is that a bug? :-)
Best regards,
Daniel
More information about the juniper-nsp
mailing list