I'm setting up a device using DSA for the first time, and had to configure it in a way I did not expect. I have the router and access point functionality split between two devices, the device with config issues was the AP. My setup is something like this.
There is a single cable connected to the WAN port, with mulitple tagged VLANs.
There is one bridge device configured, "mainbridge"
There is one network interface configured, "yellow"
There is one WiFi SSID.
I want the WiFi SSID to be connected to VLAN 20 on the WAN port.
Attempt 1:
On the bridge, under "Bridge VLAN filtering", I have VLAN 20 configured, set to "tagged" on wan. The option "Local" is unchecked, because I don't need the device itself to be connected to this network. Under interface "yellow", it was set to device "wan.20" (it was the only suggestion having .20 in it's name).
This did not work, any traffic coming over WiFi was not sent out on the WAN port of the device.
Attempt 2:
On the bridge, I checked the option "Local". On the interface "yellow", I changed it from "wan.20" to "mainbridge.20". The protocol is still set to "unmanaged", the device itself has no IP in VLAN 20.
But this worked, any incoming WiFi traffic is now sent out on the WAN port on VLAN 20. Why is the option "Local" needed for this use case?
Let's take a look at your config -- things will probably be more clear once we can see it in full.
Please connect to your OpenWrt device using ssh and 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:
My point is simply that we should look at the config first. After all, we don't yet know:
What version of OpenWrt is being used
What device/platform is relevant here
How the OP has configured the device in general (including bridge-VLANs and the like).
It is highly possible that the bug will not be relevant and that the issue is related to a misconfiguratoin. If the configuration turns out to be completely correct, maybe the bug applies.
Sorry, I forgot to say that I am infact using 24.10.0. On the box the device came in it says ASUS RT-AX1800U, it's this https://openwrt.org/toh/asus/rt-ax53u
I went back and reproduced the issue, relevant parts of the config below. I found that selecting "Local" does not matter, what triggers the issue is whether I choose "mainbridge.20" or "wan.20" (top line in /etc/config/network). It needs to be "mainbridge.20" to work. Is it expected behavior that you can't have a physical port connected to both a bridge and directly to a interface, as I have done here?
As you see, the bridge is also connected to a GRETAP interface, where SSID anotherWiFi is used as a trunk to transport Ethernet frames with VLAN tag to another access point (AP2, that is in client mode). On that end there was a PC wired to AP2, the PC had internet access the whole time. The issues described was with clients in AP1, which I got the config from.
I tried sparing you what is not relevant. The only parts missing are other VLANs connected to other SSIDs. Each SSID is connected to one interface, each interface is connected to mainbridge.10, mainbridge.30 etc.
If you look at the first line in my example and change wan.20 to mainbridge.20, that show you the method all the other WiFi SSIDs are configured.
Am I correct that you have indeed resolved the issue based on the comment below:
If so, that makes perfect sense. With DSA and bridge-vlans, a port must only be used in one place... in this case, you've already got it in the mainbridge, so it cannot be resused elsewhere. Instead, you use a bridge-vlan to setup the appropriate VLAN and use that device.
With that in mind, are there any remaining issues?
No, there are no other issues on my setup now. As I wrote in the very first post, it works when I changed it from wan.20 to mainbridge.20. I thought the setting "Local" was part of it, but in the reality, the cause was as you say.
BUT, when I had unchecked "Local" for that VLAN on the bridge, and I then configured the interface and was asked to set the device, the suggestion for the device was "wan.20" instead of "mainbridge.20". Why is LuCI suggesting wan.20 here when it will only work with mainbridge.20?
Ethernet to Ethernet can be handled entirely in the switch hardware, but bridging Ethernet to wifi requires the kernel to set up a software bridge. This involves the connection from the switch chip to the CPU (though these are sometimes two modules on the same chip). Checking the "local" box enables this connection. It is another port of the switch that doesn't have a name in the configuration.
This communication is at layer 2-- based on MAC addresses which require no configuration. "Unmanaged" or proto none means there is no IP address, which is a layer 3 feature.