[Cerowrt-devel] IPv6 RA and RTPROT_whatever [was: switching cerowrt to quagga-babeld issues]

Juliusz Chroboczek jch at pps.jussieu.fr
Fri Jul 6 09:52:58 PDT 2012


> There is a kernel patch attached, which should fix the issue with IPv6
> default route delivery in CeroWrt (it does fix it on my PC).

I'm a little bit confused.

RAs are supposed to be ignored by routers -- the RFCs are very clear on
that.  Linux obeys the RFCs, it will disable accept_ra when forwarding
is set on an interface.

Now there's a race condition -- if the RA was accepted before the
routing daemon set the forwarding knob, then the default route will
remain.  However, it will not be renewed -- when the RA expires, you'll
lose your default route.

The workaround to this race condition is to have the routing daemon
ignore RA-originated routes.  This is traditionally done by making such
routes RTPROT_BOOT and ignoring such routes in the routing daemon (and
installing routing-protocol-originated routes with a lower metric).

So am I'm confused, or is marking RA-originated routes as anything else
than RTPROT_BOOT exactly the wrong thing to do?

-- Juliusz




More information about the Cerowrt-devel mailing list