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?

Reply via email to