After much hand-wringing about the 'optimal' IPv6 address dispensation solution (current state of affairs seems to work out to 'there isn't one'), I finally worked my way back to the default, out-of-box configuration - both RA and DHCPv6 fully enabled courtesy of odhcpd.
That having been said, in my checkered past as a Tomato developer, I had little issue getting my Android (4.4.2) phone to get a SLAAC IPv6 from Tomato routers (and derivatives like AsusWRT Merlin), including DNS, using radvd.
For some reason, I just can't seem to get odhcpd to cooperate. My dhcp.conf looks as follows (which, as far as I know, is basically OpenWRT default):
...
config dhcp 'lan'
option interface 'lan'
option start '100'
option limit '150'
option leasetime '12h'
option dhcpv6 'server'
option ra 'server'
config dhcp 'wan'
option interface 'wan'
option ignore '1'
config odhcpd 'odhcpd'
option maindhcp '0'
option leasefile '/tmp/hosts/odhcpd'
option leasetrigger '/usr/sbin/odhcpd-update'
...
Doing a tcpdump trace on the wireless MAC of my phone shows a router solicitation, followed by a router advertisement for an IPv6 network for fe80::... - and that's it.
I'm pretty stumped here - I figured in the worst case, it would pick up a SLAAC address and default gateway, but perhaps no DNS servers (since I believe they are only served up via DHCPv6 on OpenWRT)...I didn't expect that it would be completely off the IPv6 network.
Windows, Linux, iOS, and even my thermostats seem to have no trouble getting an address one way or the other (either via DHCPv6 or SLAAC or both) - what gives with Android and OpenWRT? Has anyone successfully gotten an Android phone (of any version) on a local IPv6 network using OpenWRT, and if so, how?
In much confusion,
Rodney
(Last edited by rhester72 on 18 Nov 2014, 19:09)