On 2009-05-22, Justin Credible <[email protected]> wrote: > I am running OpenBGPd on an OpenBSD 4.4 router. > > Some times when traffic goes over one peer and finally gets to our router, > the last hop will respond as a different peer. For example: > > Level3 IP 10.0.0.1 > Global Crossing IP 192.168.0.1 > > Traffic traverses Global crossing all the way, last hop, 10.0.0.1 responds > and vice versa. > > I noticed If i set one default gateway, this is always the IP to respond at > the last hop. If i set multi-path default gateways then random IPs respond > at the last hop. > > Is there a common way that I am missing to get around this? Am i overlooking > something on the man pages? > > Thanks for your help! > > Regards, > > Ken > >
If you're doing a traceroute to an address configured on the router itself, it should reply from that address. Are you seeing something different there? You definitely shouldn't. (ip_icmp.c:656) If you traceroute _through the router to another host_ (ip_icmp.c:668) it will do a route lookup for the source, and use that as the source address of the ICMP message (which is what shows in traceroute). What routes do you carry besides the default? No matter where default points, if you have a specific route for the source of the traceroute packets then it shouldn't be using the default. i.e. if you carry full tables, you shouldn't see this. I point default at "localhost -reject" and take full tables and never saw any strange behaviour with source address selection.

