I've noticed an unusual issue on a 12-port switch with RTL9302B chip when configuring vlan filtering.
If I create an IP interface, managed by this device and configure one of its own switch ports as access port, no IPv4 traffic is possible. So I would connect a laptop but it doesn't receive an ip, for testing I assign one manually and try to ping this switch. Running a tcp dump at the same time both on this OWRT switch and on the laptop, I've noticed the ping doesn't reach the switch, but the laptop's ARP request does, however the ARP response only shows up in the dump on the OWRT switch, not in the dump on the laptop. Is that expected behavior?
For example, I'd add vlan 1105, set to untagged on port 5, then create an interface on switch.1105 with a static ip of 10.10.5.1/24, dhcp server enabled. Port 5 would not be a member of any other vlan. In that scenario, ARP responses get lost.
However, if I also make port 5 a member of vlan 1 but only tagged and leave everything else unchanged, it works! Isn't that unusual?
The OpenWRT switch in question is a Zyxel XGS1250-12 switch. In the default installation, vlan filtering was already enabled on the bridge and vlan 1 was already configured on the ports.
Here's something to show vlan 1 membership. The important bit is the "1" membership of lan5.
# bridge vlan show
port vlan-id
lan1 1 PVID Egress Untagged
700
1100
1102
1103
2701
lan2 1102 PVID Egress Untagged
lan3 1105 PVID Egress Untagged
lan4 1102 PVID Egress Untagged
lan5 1
1105 PVID Egress Untagged
...