I have an upstream openwrt router (a nanopi r6s) connected to a dumb switch. The dumb switch is connected to 3 openwrt machines all running as Dumb APs.
I am trying to have all network machines, (and maybe a printer, and a server or 2) running on my infra vlan, vlan 3, (also, my lan running on vlan 6, guest on vlan 7, iot on vlan 8, and some other things for vlan 9 and 10, but I think vlan 3 is the relevant part here).
I hope to be able to use vlan 3 interface to communicate usteer stuff and to allow cross machine communication.
One of the AP is a WR3000 v1 and uses DSA and vlan filtering to set up the different vlans. The 2 other APs are EAP225s and don't have an internal switch, so as described here, I set them up using swconfig.
Each EAP can ping the upstream router, and the 2 EAP225s can ping eachother, but the WR3000 isn't able to ping the other EAPs, and I think it is because of the vlan issue, where the packets coming from the EAPs are not tagged as vlan3.
Here is /etc/config/network for the upstream router:
config interface 'loopback'
option device 'lo'
option proto 'static'
list ipaddr '127.0.0.1/8'
config globals 'globals'
option dhcp_default_duid '<snip>'
option ula_prefix '<snip>'
option packet_steering '2'
option steering_flows '128'
config device
option name 'br-lan'
option type 'bridge'
list ports 'eth0'
list ports 'eth2'
config interface 'lan'
option device 'br-lan.6'
option proto 'static'
option multipath 'off'
option delegate '0'
list ipaddr '10.0.6.1/24'
config device
option name 'eth0'
option macaddr '<snip>'
config device
option name 'eth2'
option macaddr '<snip>'
config device
option name 'eth1'
option macaddr '<snip>'
config interface 'wan'
option device 'eth1'
option proto 'dhcp'
option peerdns '0'
option multipath 'off'
list dns '<snip>'
config interface 'wan6'
option device 'eth1'
option proto 'dhcpv6'
config bridge-vlan
option device 'br-lan'
option vlan '3'
list ports 'eth0:t'
list ports 'eth2:u*'
config bridge-vlan
option device 'br-lan'
option vlan '6'
list ports 'eth0:u*'
list ports 'eth2:t'
config bridge-vlan
option device 'br-lan'
option vlan '7'
list ports 'eth0:t'
list ports 'eth2:t'
config bridge-vlan
option device 'br-lan'
option vlan '8'
list ports 'eth0:t'
list ports 'eth2:t'
config bridge-vlan
option device 'br-lan'
option vlan '9'
list ports 'eth0:t'
list ports 'eth2:t'
config interface 'infra'
option proto 'static'
option device 'br-lan.3'
option ipaddr '10.0.3.1'
option netmask '255.255.255.0'
option multipath 'off'
config interface 'guest'
option proto 'static'
option device 'br-lan.7'
option ipaddr '10.0.7.1'
option netmask '255.255.255.0'
option multipath 'off'
config interface 'iot'
option proto 'static'
option device 'br-lan.8'
option ipaddr '10.0.8.1'
option netmask '255.255.255.0'
option multipath 'off'
config interface 'work'
option proto 'static'
option device 'br-lan.10'
option ipaddr '10.0.10.1'
option netmask '255.255.255.0'
option multipath 'off'
config bridge-vlan
option device 'br-lan'
option vlan '10'
list ports 'eth0:t'
list ports 'eth2:t'
config interface 'streaming'
option proto 'static'
option device 'br-lan.9'
option ipaddr '10.0.9.1'
option netmask '255.255.255.0'
option multipath 'off'
Here is the /etc/config/network of my wr3000:
config interface 'loopback'
option device 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
config globals 'globals'
option ula_prefix '<snip>'
option packet_steering '2'
option steering_flows '128'
config device
option name 'br-lan'
option type 'bridge'
option acceptlocal '1'
list ports 'lan1'
list ports 'lan2'
list ports 'lan3'
list ports 'wan'
option ipv6 '0'
config interface 'lan'
option device 'br-lan.6'
option proto 'none'
config bridge-vlan
option device 'br-lan'
option vlan '7'
list ports 'wan:t'
config bridge-vlan
option device 'br-lan'
option vlan '6'
list ports 'lan1:u*'
list ports 'lan2:u*'
list ports 'lan3:u*'
list ports 'wan:t'
config bridge-vlan
option device 'br-lan'
option vlan '8'
list ports 'wan:t'
config bridge-vlan
option device 'br-lan'
option vlan '9'
list ports 'wan:t'
config interface 'guest'
option proto 'none'
option device 'br-lan.7'
option type 'bridge'
config interface 'iot'
option proto 'none'
option device 'br-lan.8'
config interface 'streaming'
option proto 'none'
option device 'br-lan.9'
config bridge-vlan
option device 'br-lan'
option vlan '3'
list ports 'wan:t*'
config interface 'infra'
option proto 'static'
option device 'br-lan.3'
option ipaddr '10.0.3.2'
option netmask '255.255.255.0'
option gateway '10.0.3.1'
list dns '10.0.3.1'
config bridge-vlan
option device 'br-lan'
option vlan '10'
list ports 'wan:t'
config interface 'work'
option proto 'none'
option device 'br-lan.10'
And the /etc/config/network for one of my EAP225s:
config interface 'loopback'
option device 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
config globals 'globals'
option ula_prefix '<snip>'
option packet_steering '2'
option steering_flows '128'
config device
option name 'br-lan'
option type 'bridge'
list ports 'eth0.6'
config device
option name 'br-infra'
option type 'bridge'
option ipv6 '0'
list ports 'eth0'
config device
option name 'br-guest'
option type 'bridge'
list ports 'eth0.7'
config device
option name 'br-iot'
option type 'bridge'
list ports 'eth0.8'
config device
option name 'br-work'
option type 'bridge'
list ports 'eth0.10'
config interface 'lan'
option device 'br-lan'
option proto 'none'
config interface 'infra'
option device 'br-infra'
option proto 'static'
option ipaddr '10.0.3.3'
option netmask '255.255.255.0'
option gateway '10.0.3.1'
list dns '10.0.3.1'
config interface 'iot'
option device 'br-iot'
option proto 'none'
config interface 'guest'
option device 'br-guest'
option proto 'none'
config interface 'work'
option device 'br-work'
option proto 'none'
