[j-nsp] Weird traceroute across MPLS core using labeled-unicast
IBGP
Josef Buchsteiner
josefb at juniper.net
Mon Mar 8 05:59:40 EST 2004
Daniel,
this is coming from the fact that for local generated traffic
we put TTL=255 in the outermost label which is what you see
here. This is an artifact from the old FPC where we could not
write into the second label and on EFPC and onwards we can.
Corrected since a few days, we check now what hardware we have
underneath and set the TTL and EXP values accordingly during a
double push operation. Again this is only for local generated
traffic aka ping, traceroute and others in case of a double-push
hope this helps
Josef
Monday, March 8, 2004, 5:15:16 AM, you wrote:
DR> Hi,
DR> I'm having weird results with JunOS 6.2 traceroutes across an LDP/MPLS
DR> lab setup.
DR> A1
DR> \
DR> +--B--C--D -- 10.0.0.1/30
DR> /
DR> A2
DR> A1, B, C, D are JunOS 6.2R1.5
DR> A2 is IOS 12.2(18)S3
DR> The network is running IS-IS, LDP and IBGP using labeled(!)-unicast.
DR> MPLS TTL propagation is active. 10.0.0.1/30 is an IP attached to a
DR> looped interface on router D and exported to IBGP (labeled).
DR> RIB/FIBs:
DR> A1:
DR> 10.0.0.0/30 *[BGP/170] 00:05:12, localpref 100, from 192.168.0.5
DR> AS path: I
DR> > to 192.168.0.46 via ge-0/0/0.100, Push 100176, Push
DR> > 100064(top)
DR> A2#sh ip bg 10.0.0.1
DR> BGP routing table entry for 10.0.0.0/30, version 4
DR> Paths: (1 available, best #1, table Default-IP-Routing-Table)
DR> Not advertised to any peer
DR> Local, (received & used)
DR> 192.168.0.5 (metric 30) from 192.168.0.5 (192.168.0.5)
DR> Origin IGP, localpref 100, valid, internal, best,
DR> mpls labels in/out unknown/100176
DR> A2#sh ip cef 10.0.0.1
DR> 10.0.0.0/30, version 47, epoch 0, cached adjacency 192.168.0.53
DR> 0 packets, 0 bytes
DR> tag information set, all rewrites owned
DR> local tag: BGP route head
DR> fast tag rewrite with Fa3/1/1, 192.168.0.53, tags imposed: {100064
DR> 100176}
DR> via 192.168.0.5, 0 dependencies, recursive
DR> next hop 192.168.0.53, FastEthernet3/1/1 via 192.168.0.5/32
DR> valid cached adjacency
DR> tag rewrite with Fa3/1/1, 192.168.0.53, tags imposed: {100064
DR> 100176}
DR> So both routers A1 and A2 have basically the same picture. Route
DR> 10.0.0.0/30 is reachable via MPLS, with inner label 10176 advertised
DR> by PE router D.
DR> But traceroutes are quite different.
DR> Following a traceroute from A1:
DR> 1 10.0.0.1 (10.0.0.1) 1.099 ms 0.825 ms 0.795 ms
DR> MPLS Label=100176 CoS=0 TTL=1 S=1
DR> 2 10.0.0.1 (10.0.0.1) 0.799 ms 0.775 ms 0.754 ms
DR> "Uhm?"
DR> As a comparision, a beautiful (and looking as expected) traceroute
DR> from A2:
DR> 1 192.168.0.53 [MPLS: Labels 100064/100176 Exp 0] 0 msec 0 msec 0 msec
DR> 2 192.168.0.58 [MPLS: Labels 100064/100176 Exp 0] 0 msec 4 msec 0 msec
DR> 3 10.0.0.1 0 msec 0 msec 0 msec
DR> A2 pushes label 100176 (inner, from labeled-unicast IBGP) and sends
DR> the traceroute packets out towards B (192.168.0.53), further to
DR> penultimate router C (192.168.0.58) to router D, who replies for
DR> 10.0.0.1 on so-0/2/0.0.
DR> Turning off labeled-unicast in IBGP and using plain unicast NLRI,
DR> traceroutes from A1 to D are looking as expected again:
DR> traceroute to 10.0.0.1 (10.0.0.1), 30 hops max, 40 byte packets
DR> 1 192.168.0.46 (192.168.0.46) 0.987 ms 0.796 ms 0.747 ms
DR> MPLS Label=100064 CoS=0 TTL=1 S=1
DR> 2 192.168.0.58 (192.168.0.58) 0.926 ms 0.792 ms 0.810 ms
DR> MPLS Label=100064 CoS=0 TTL=1 S=1
DR> 3 10.0.0.1 (10.0.0.1) 0.905 ms 0.764 ms 0.742 ms
DR> So something is wrong(?) when the traceroute destination is reachable
DR> via labeled-unicast. It looks like JunOS is doing something wrong
DR> as traceroute source.
DR> Do I overlook something? Is there any rational explanation for what
DR> I'm seeing? Is that a bug? :-)
DR> Best regards,
DR> Daniel
DR> _______________________________________________
DR> juniper-nsp mailing list juniper-nsp at puck.nether.net
DR> http://puck.nether.net/mailman/listinfo/juniper-nsp
More information about the juniper-nsp
mailing list