Sending IPv6 solicitations before/when the initial RA (router advertisement) expires

My upstream ISP (my ISPs ISP) has stopped sending RAs before/when the initial RA expires.

The situation:

  • wan interface (pppoe-wan) comes up
  • DHCPv6 configuration happens
  • an RA arrives with an 1800s (30m) lifespan
  • default route is added to pppoe-wan
    • (ip -6 route show match ::0)
  • 1800 seconds pass, route is removed
  • ipv6 networking stops routing to the outside world

This was working for a good while, and I’ve not changed my config, so I assume they stopped
sending timely RA updates a few days ago (when this problem started).

The RFCs don’t say they have to send updates - only that they can, and they should respond
to explicit solicitations with RAs.

I’ve worked around this with a script that checks for the default route every second or so and
issues an “ifup wan6” (which presumably triggers a DHCPv6 transaction and results in a fresh
RA (confirmed via tcpdump)).

But it seems to me that there should be a way to tell odhcp6 (I think that’s the right component,
since it looks like the v6 plumbing is handled in userspace) to send a solicitation at 50% or 75%
or whatever of the route’s lifetime (frankly not unreasonable for that to be the default behaviour).

Have I missed a config setting? Is there already a way to do this?

The router sends periodic router advertisements. That’s how the whole routing autoconfiguration works in IPv6. Sending Router Solicitations should only happen when a host enables a new interface and is unwilling to wait for an unsolicitated Router Advertisement.

Sending periodic Router Solicitations is definitely not a standard nor supported behaviour, therefore it is very likely not supported by odhcp6c.

This is very likely a problem on the ISP side. Just a wild guess is that they enabled some sort of multicast throttling on a switch and it eats unsolicited RAs as a collateral damage. Or maybe it just fixes itself after another power outage. Multicast processing in switches is a very dark magic.

But for the time being, there’s nothing simple you can do.

It may well be a problem on the ISP side, but given how unresponsive ISPs can be to end-user reports of this nature it might not be unreasonable to cope with it by allowing an easy way to send solicitations (I’ve seen other reports on the OpenWRT forums of people trying to work around this situation).