Xiaomi AX3600 / ipq8071A: hardware switch/vlan support?

Dear Community,

I configured a vlan on my network to be able to have a second SSID across multiple APs.
I use untagged traffic everywhere for the main network (as it's easy and works with every device) and tagged traffic on VLAN-ID 2 for the second SSID.

Setup in AX3600 is like this:

config device
	option name 'br-lan'
	option type 'bridge'
	list ports 'lan1'
	list ports 'lan2'
	list ports 'lan3'
	list ports 'wan'

config bridge-vlan
	option device 'br-lan'
	option vlan '1'
	list ports 'lan1:u*'
	list ports 'lan2:u*'
	list ports 'lan3:u*'
	list ports 'wan:u*'

config bridge-vlan
	option device 'br-lan'
	option vlan '2'
	list ports 'lan1:t'
	list ports 'lan2:t'
	list ports 'lan3:t'
	list ports 'wan:t'

config interface 'lan_dsl'
	option proto 'none'
	option device 'br-lan.2'
	option defaultroute '0'
	option delegate '0'

config interface 'lan'
	option device 'br-lan.1'
	option proto 'static'
	option ipaddr ''
	option netmask ''
	option gateway ''

Now I connect a second AP to LAN3 port and my computer to LAN2 port. The AP has also both "VLANS" (e.g. no vlan + vlan 2) setup, my computer only the plain network without vlan tagging.

Running iperf between my computer and the second AP (on its IP-Address in the "untagged network", e.g. no routing involved), I see 15% cpu load on the AX3600 (while reaching 950 Mbit/s) and lots of interrupts for the network interface. To me, this indicates that the traffic might be bridged by the CPU? Did I forgot something or does the switch not support hardware switching with VLANs setup?



Edit: dmesg info about Network interfaces:

[    4.568175] EDMA ver 1 hw init
[    4.572146] EDMA HW Reset completed succesfully
[    4.574803] Num rings - TxDesc:1 (23-23) TxCmpl:1 (7-7)
[    4.579199] RxDesc:1 (15-15) RxFill:1 (7-7)
[    4.585015] Generic PHY 90000.mdio-1:01: attached PHY driver (mii_bus:phy_addr=90000.mdio-1:01, irq=POLL)
[    4.589211] nss-dp 3a001200.dp2 wan: Registered netdev wan(qcom-id:2)
[    4.598695] Generic PHY 90000.mdio-1:02: attached PHY driver (mii_bus:phy_addr=90000.mdio-1:02, irq=POLL)
[    4.605352] nss-dp 3a001400.dp3 lan1: Registered netdev lan1(qcom-id:3)
[    4.614670] Generic PHY 90000.mdio-1:03: attached PHY driver (mii_bus:phy_addr=90000.mdio-1:03, irq=POLL)
[    4.621328] nss-dp 3a001600.dp4 lan2: Registered netdev lan2(qcom-id:4)
[    4.630803] Generic PHY 90000.mdio-1:04: attached PHY driver (mii_bus:phy_addr=90000.mdio-1:04, irq=POLL)
[    4.637450] nss-dp 3a001800.dp5 lan3: Registered netdev lan3(qcom-id:5)
[    4.646799] **********************************************************
[    4.652999] * NSS Data Plane driver
[    4.659577] **********************************************************

Would I profit from any of the offloading drivers? I don't technically need more speed, just I like to understand what's going on and why :slight_smile:

Ummm i have a one question how exactly u manage to get taged and untaged trafic over the same interfaces?

Just set it up that way? I do this like... forever on different devices and never had a problem. The config is posted in my initial post.

Generally you need to setup trunk to use a hardware optimizetion, From what im aware you cant setup untaged and taged trafic on the same port

But maybe im wrong :slight_smile:

I'm sorry to state that, but I think you are wrong, as I am regularly using that feature on other hardware :slight_smile:
I read a bit through some code and DTS files and do actually think now that the AX3600 does not even include a "hardware switch", that would explain what I'm seeing and I would actually profit from offloading that to the NSS core. But no hurry there.

What is more important to me is that I actually think there might be a bug hanging up the ethernet on that hardware when used with the vlan setup I am describing. Unfortunately, I use it in production since yesterday evening and can only start playing again when I get another AP today or tomorrow. For now, I disabled all VLANs again.

1 Like