New user on a DIR-882 and very happy so far. Been debugging an issue I've been having over the last few days and finally found a solution after reinstalling and tracking every change. However I still don't understand it or how to find the root cause. So in addition to maybe helping someone with the same issue, anyone want to help me figure out what is going on?
From a clean install, IPv6 works fine. My ISP assigns me a /56 that is delegated in /64 chunks to connected clients. I have a Windows machine, a MacOS laptop, a FreeBSD server and a Linux media player. They all receive IPv6 addresses and routes, can ping Google over IPv6 and score 10/10 on test-ipv6.com.
However, when I change the IP addresses of the LAN via LuCI (192.168.1.1 -> 10.0.1.1) IPv6 stops working (IPv4 still fine). None of the machines get IPv6 addresses other than their own link-local ones, the Windows machine doesn't get an IPv6 address via DHCP and manual router solicitation messages from the Linux client go unanswered (I can see them arriving on br-lan via tcpdump but there is no reply). I can still ping from the router however.
When I change the IP address via LuCI (or if I click edit and save without changing anything), it wants to apply the following (previously unset) settings, which I've managed to confirm cause the issue:
uci set dhcp.lan.ra_maxinterval='600' uci set dhcp.lan.ra_mininterval='200' uci set dhcp.lan.ra_lifetime='1800' uci set dhcp.lan.ra_mtu='0' uci set dhcp.lan.ra_hoplimit='0' uci set dhcp.lan.ra_management='1'
From what I can tell from the wiki, these are the default settings. I've been trying to find out where these changes apply but see no diff in
/etc/odhcp6c.*. There must be a change somewhere though, as applying these settings makes IPv6 stop working for clients and removing them from
/etc/config/dhcp and rebooting makes IPv6 work again. However I'm not sure where else to look.
Using latest snapshot (r16575-4dcdc8249c) but saw same behaviour with 2 other builds from last week.