I'm doing it in tomato (based on one of the WRT variants... and oddly AsusWRT is based on tomato) on a netgear R7000. It's cumbersome as hell, but still doable.There are AP's out there that can bind a VLAN to a specific SSID - so one can have two (or more) SSID's, each bound to a specific VLAN - and then you can apply routing choices (and policies even) on each one of the VLAN's
First I create "virtual" wireless adapters for the alternate SSID's. Then I have to create new bridge interfaces, and assign different virtual wireless adapters to different bridge interfaces. Finally, I assign a vlan and VID to each bridge. (It appears I can only assign a single vlan to each bridge.) Finally, I can assign one or more bridge interfaces to a physical ethernet jack on the AP. If I assign more than one bridge, the firmware requires that the vlans are tagged (which makes sense.)
One very large shortcoming, in my opinion, is that the firmware only seems to support 16 sequential vlan ID's. 0-15 or 16-31, or 32-47, etc. (Actually, it only supports 0-15, but then lets me add a multiple of 16 to all of them at once.) On the other hand, I'm not going to complain loudly about this... I'm just happy that I can get the thing to do vlans this flexible to begin with. (This router isn't designed for me. It's designed for someone who plays games, has only a few wired devices, has no clue what a vlan is, and can't imagine ever having to buy a switch with more than 4 ports.) An alternative to that would be to NOT use tagged vlans at all, and just assign each bridge to a different ethernet jack (I have 4) and then set them as untagged vlans in my switch. However, I don't want to run 3 or 4 separate wires to the AP so I'll just live with the limitation on vlan ID's.
Eventually, I'll buy a "real" AP (or two), and I'm sure it'll have much more flexibility on the configuration of vlans. (The UAP-AC-PRO sounds very appealing...)
Yeah, it really amazes me how incredibly poor the IPv6 support is in all these products. IPFire? No built in IPv6 (can be added by adding modules, editing files, recompiling nettools, and managing only via CLI?) Untangle? Sophos XG Firewall? All barely have any IPv6 support at all. In each case, it seems like something they just added support for in ONE module just so they can say they support it... It's crap. I haven't tried the older Sophos UTM yet, but my hopes aren't high.It doesn't have the bling that pfSense has, but there are OpenWRT builds for x86 architecture. Before I bought my Ubiquiti, I ran OpenWRT in a VM on my ESXi server. I never got the hang of managing it via the CLI, doing upgrades was cumbersome, and the GUI was not superclean. But probably had most solid IPv6 implementation of any of the tools at the time
In that regard, pfsense is better than most of the others. I can request a /60 from comcast on my WAN interface, and it'll not only properly request it, but then lets me delegate the last 4 bits to each of my other interfaces (so if I get A:B:CEF0::/60 from comcast, I can tell pfense that "LAN" tracks the WAN ipv6 and gets a prefix ID of "2", and LAN will do assignments from A:B:CEF2::/64.
Outside of TWO things (both resulting from the whole L3 only mentality), pfsense is pretty awesome. The first is the inability to do MAC based filtering. The second is that all reporting is also L3 based, which is f'ing annoying as hell. Instead of seeing what traffic machine XYZ is doing, I have to manually figure out which IPv4 it had assigned, and all the different IPv6 addresses it might have used, and then manually put the results together.
Oh, well... I'll keep looking... (and trying to bug the pfsense folks to see things slightly differently.)