Does IPv4 still work, i.e. from the router can you ping -4 some site?
It kind of looks like the ISP dropped / didn't renew your lease, though I'm not sure how that works in a dual stack.
There is a note in the wiki about needing to open ports 546 and 547 through wan_6 so that lease renewal can be processed. wan_6 should be added to the wan firewall zone, by default there is wan6 which is not the same.
wan6 is part of the default configuration for cases where the ISP is pure DHCP. wan_6 is spawned by pppoe to handle the v6 part of the dual stack. The two names are not the same so you need to add wan_6 directly to the firewall so your IPv6 connection is properly firewalled. This should cause "WAN_6" to show as red the same as "WAN" on the LuCI interface summary page. Note that it is only LuCI upcasing the names when it displays them (a feature I really don't like). Continue to use lowercase internally.
This one is not needed and wrong, as it accepts from dhcp6 client from wan to send to dhcp6 server on OpenWrt. Did you add it or it was there?
Try also what @mk24 mentioned.
ifstatus wan_6 should have life numbers that count down. The initial lifetime is received from the ISP. Then your client is supposed to ask for a renewal. This is much like IPv4.
If your lease time is 30 minutes, at 15 minutes the client will send a renewal.
In my case I have vltime 300 = 5 minutes, so every 2,5 minutes there is a renewal.
After 30 minutes (when valid hits 0), the routes disappear. After the initial DHCPv6 request, I don't see any renew requests on the wire.
"route": [
],
When you say client, you mean OpenWRT, right? It seems that my OpenWRT doesn't send out a renew request. Are there any configuration options I should be looking at? Any other ideas?
After the interface is up and beyond when the routes disappear, the log (using logread) is completely empty (except for clients connecting, ssh and stuff). Where should I be looking for logs?
Also I've never seen a single log message from odhcp6c, not even when the interface comes up.
I don't see any renew messages in the capture unless I trigger them by hand using killall -SIGUSR1 udhcpc. However, even that doesn't bring back IPv6.
When I restart the interface I get a prefix with a very high validity >86334 and routes with a lower validity 1800 (i.e. 30 minutes). When I renew manually using killall -SIGUSR1 udhcpc, then the validity of the prefix increases but the validity of the routes stay the same (until they eventually expire). Running killall -SIGUSR1 udhcpc afterwards doesn't bring back the routes. My suspicion is that odhcp6c only renews its lease based on the prefix but not the routes.
Is it normal for the routes to have a lower validity? What defines the lifetime of the routes?
Sorry, copy&paste error when I was writing the post. I did use odhcp6c. But DHCP isn't the problem as this is route related.
I captured Router Advertisement. I get an initial RA after RS. But after that, no unsolicited RA's reach my router. So the problems seems to be on the ISP side (again). After I knew what to look for I found similar issues. Seems to be not that uncommon.
I'm waiting to hear back from my ISP. My neighbors use an ISP-provided FritzBox. They don't experience the problem. I'm wondering what a FritzBox does different. Maybe they send RS periodically (violating RFC4861 6.3.7.).