tech-net archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Dealing with ICMPv6 network unreachable.



On Sat, 2015-04-04 at 09:22 -0400, Greg Troxel wrote:
> Roy Marples <roy%marples.name@localhost> writes:
> 
> >> Well, as discussed above, fixing it by not adding a default route if no
> >> global addresses are available isn't a good solution either (and one I
> >> have also considered).
> >
> > I can't think of a better way of fixing it though!
> > And seeing as the current discussion isn't looking like any possible fix
> > for this is possible in NetBSD I've made dhcpcd skip adding a default
> > route for routers which advertise themselves as a router but without any
> > global prefixes. I've also added an option to turn this off and have the
> > original behavior.
> >
> > http://roy.marples.name/projects/dhcpcd/ci/6ead1d4962b514e8?sbs=0
> 
> I would say though that the router offering itself as a router (and
> hence capable of forwarding packets) when it isn't connected (to the
> global net) is wrong.   It would compete with a working router and
> result in lack of delivery.
> 
> So your fix seems entirely reasonable.  It basically ignores RAs (or the
> router part) from routers that offer no prefixes, which is likely mostly
> the same set of sitautions as routers that can't forward.

Of course, the RA could contain options that add global addresses for
say DNS that won't work. As we can't second guess future options,
ignoring the RA is the only sensible approach. We also need to check the
Managed flag as we could get a global address from DHCPv6.

A more robust fix is be to only apply the RA once we add a public
address either derived from the RA or DHCPv6. I've changed dhcpcd to do
this, but need to test it more when I get back from my holidays.

Roy



Home | Main Index | Thread Index | Old Index