[j-nsp] traceroute w.x.y.z gateway a.b.c.d

Kevin Oberman oberman at es.net
Mon Jul 31 22:40:56 EDT 2006

> Date: Mon, 31 Jul 2006 20:50:00 -0400
> From: Richard A Steenbergen <ras at e-gerbil.net>
> Sender: juniper-nsp-bounces at puck.nether.net
> On Mon, Jul 31, 2006 at 07:21:41PM -0400, Chuck Anderson wrote:
> > I'm trying to test various routes to the same destination, and I'd 
> > like to do a traceroute using different outbound links.  However, when 
> > I use "traceroute w.x.y.z gateway a.b.c.d" JunOS apparently adds 
> > source routing options to the IP packets, and the packets get dropped 
> > with !S since most ISP's don't allow source routed IP packets:
> > 
> > 3  unknown.Level3.net (  3.441 ms !S *  3.357 ms !S
> > 
> > Is there any to just override the first routing decision without 
> > adding source route options?
> The "gateway" option on traceroute is implemented using source routing, 
> which most routers do not support by default. Source routing is 
> implemented using IP options, must be slow-path/cpu processed, and is 
> generally considered a bad thing to enable (with the exception of some 
> odd/legacy peering policies which require it to be enabled on the border 
> router for diagnostic purposes). The !S message is the result of an ICMP 
> unreachable (type 3 code 5) message being returned, indicating that the 
> router in question does not support source routing.
> If there is a way to make use of the options on a Juniper traceroute to do 
> reasonable diagnostics of routes via different paths, I haven't seen one. 
> The "interface" command doesn't seem to have any impact at all, the 
> "gateway" command uses source routing which is filtered everywhere, the 
> "bypass-routing" command just generates:
> traceroute: sendmsg: No route to host
> Pretty much the only thing that works other than setting a static route of 
> the /32 you're trying to reach, running the traceroute, and removing it, 
> is specifying a routing-instance. This still involves getting into config 
> mode to set the next-hop every time (unless you happen to have a lot of 
> pre-configured routing-instances laying around), plus you need to import 
> the interface routes (being careful not to forget lo0 if you use 
> default-address-selection)...
> If anyone knows of a better way by all means tell me. I swear I vaguely 
> remember a time back in junos 3.x or 4.x when gateway didn't imply source 
> routing, but its been so long I don't remember for sure.

traceroute bypass interface nn-f/p/i.u source add dest-add

That means you specify the interface the packet is transmitted from,
that routing information should be ignored, that the specified source
address should be used to the destination address.

bypass-routing without an interface is pretty meaningless as the router
will have no idea where to send the packet.
E.g. tracer bypass int ge-1/2/0.24 source
R. Kevin Oberman, Network Engineer
Energy Sciences Network (ESnet)
Ernest O. Lawrence Berkeley National Laboratory (Berkeley Lab)
E-mail: oberman at es.net			Phone: +1 510 486-8634
Key fingerprint:059B 2DDF 031C 9BA3 14A4  EADA 927D EBB3 987B 3751

More information about the juniper-nsp mailing list