On Wed, Nov 28, 2018 at 06:33:23PM -0200, Martin Pieuchot wrote: > On 28/11/18(Wed) 17:48, Stuart Henderson wrote: > > On 2018-11-27, Arnaud BRAND <arnaud.brand--o...@tib.cc> wrote: > > > Good evening everyone, > > > > > > I am stuck with a IPv6 traceroute problem in an OSPFv3 environment. > > > > > > Long story short : > > > - IPv6 routes are propagated using OSPFv3 > > > - so they are installed with link-local gateways in the fib > > > - ICMPv6 "time exceeded" packets are generated with link-local source > > > address > > > - these packets are not to be routed so they do not get past the next > > > hop > > > - the endpoint never receives the "time exceeded packets" > > > > > > This of course is only true if the router generating the icmp packet is > > > not the endpoint, but only a hop in the path. > > > > > > I checked the code (or at least tried to). > > > It seems like it's in function icmp6_reflect in file icmp6.c at lines > > > 1144/1147. > > > > > > This code (if I understood it correctly) : > > > - fetches the route to the destination > > > - gets the interface source address for this route > > > - uses it as the source for the generated IP packet > > > > > > As my routes are installed with link-local addresses by OSPFv3, I get a > > > generated packet with a link local source-address. > > > The problem is when the destination is not on the local subnet : the > > > generated packet is unroutable and never makes it to its destination > > > > > > Would it be better to try to find another address on the interface that > > > is not link local if the destination address isn't on the interface > > > subnets ? > > That could be a solution. But if you do that, why don't you attach the > routes to a routable address in the first place? > > Why is ospfd(8) not doing that?
ospf6d is using link-local addresses for nexthops because the standard says so. It is indeed an annoyance that some systems bypass by using a loopback IP for all ICMP packates. -- :wq Claudio