On 28/11/18(Wed) 17:48, Stuart Henderson wrote:
> On 2018-11-27, Arnaud BRAND <arnaud.brand--obsd@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?
No comments:
Post a Comment