Finally got around to trying the 21.02 release on my wrt1200ac router. Figured I may share a few notes here
My home lab uses a lot of vlans and it was not immediately clear to me how the config would go with the new DSA stuff. As it turns out, it was pretty easy once I figured it out.
I use a vlan trunk to connect the router to some vlan switches and to a separate access point. These all plug into the back of my router, so I created a bridge for the vlan trunk:
config device
option name 'br-trunk'
option type 'bridge'
list ports 'lan1'
list ports 'lan2'
list ports 'lan3'
list ports 'lan4'
After that, my interfaces could create vlans on the trunk without needing any separate bridge configs for each vlan. For example, my guest wifi is on vlan 101, so the guest interface just needs to say option device 'br-trunk.101'
I did hit an issue with the wan setup though. My wan packets need to be tagged with vlan 0 (this is an AT&T gateway bypass setup). Before DSA, there was a separate eth1 interface I could use for the wan, and I could just specify option ifname 'eth1.0'
. With DSA, it should be possible to specify option device 'wan.0'
to send vlan-0 tagged packets to the wan port, but this doesn't work (the interface doesn't come up, with no obvious error message to be found). I believe this is a limitation of the DSA framework, as dmesg mentions uses of vlan 0 even before I added it in my network configs. I was able to work around the issue by plugging my wan segment into an external usb ethernet adapter instead of the wan port, and get surprisingly close to full gigabit/s performance after setting the IRQ affinity for the usb3 port: echo 2 > /proc/irq/43/smp_affinity
Hope this helps. I had to do a bit of research to get through the DSA transition, but I feel it went relatively smoothly except for the issue with vlan 0.