In short, I have a dumb AP that connects to the main router which has both ipv4, ipv6 configured. I have the need for managed ipv6, so DHCPV6 only and no SLACC allowed.
Here's the weird thing, clients connected to said dumb AP with wire can obtain DHCPV6 leases correctly, while wireless clients cannot.
I've been using said dumb AP with odhcpd, dnsmasq, firewall disabled and for about half a year with only ipv4 with no problem, and if I enable SLACC then all devices get their unmanaged routable public ipv6 address with no problem, it's just the DHCPV6 setup that is not working properly.
This is the simplified network graph which contains only what I think is relevant to this problem:
I captured any dhcpv6 relevant packets on interface br-lan while performing the following sequence:
Enable WIFI on a wireless client.
Wait for about 20s.
Enable interface on a wired client.
The wireless client kept asking for an address, but router always replied with NoAddrAvail code. I checked the response and it looks like they are indeed from the main router and not anywhere else.
The wired client however, did Solicit-RA-Request-Reply in a row, and it has it's address.
Am hoping someone with insight could shed some light on the situation? I've done some networking but this really is going against my intuition. Probably it has something to do with wireless AP implementation details, since it's not really bridged with other interfaces the same way?
Ideally, a dumb AP is a transparent bridge. Let's see the configuration of your dumb AP.
Please copy the output of the following commands and post it here using the "Preformatted text </> " button:
Remember to redact passwords, MAC addresses and any public IP addresses you may have:
Do you need to run snapshot for any specific reason? You might try running the standard release build of 22.03.5.
I'd recommend turning off all of the 'extra' features here -- remove 802.11r, k, and v from your configuration and see if the problem still exists. These standards are not always well implemented on the client side, and sometimes cause strange issues.