The backbone of my network consists of two TP-Link switches running vendor firmware. I have enabled RSTP respectively MSTP (tried both) on them. I’ve noticed that my OpenWRT devices (GL-MT6000 and Zyxel 1900-10HP) don’t select the correct root bridge whenustpdis running. When ustpd is disabled (i.e. with just the kernel’s built-in STP support), everything works fine, but of course a tad slower on topology changes.
When I use service ustpd start to manually enable ustpd after the bridge is already up, the neighbor information for the uplink gets lost after the `message age timer` runs out: [ 260.342492] switch: port 9(lan9) neighbor 8000.xx:xx:xx:xx:xx:xx lost
I’ve tried some debugging with tcpdump and it seems the BPDU frames never reach the CPU port when ustpd is running. The OpenWRT devices are on 25.12-SNAPSHOT, but the same happened with 24.10-SNAPSHOT before.
Non-default settings in /etc/config/network on the switch (there’s of course a bit more stuff on the router, but neither works with ustpd):
(The priority option is apparently ignored by ustpd, but from what I can see on my devices, things are never getting that far with the user-space implementation.)
How would one do that? I haven’t been able to find much information about spanning tree in OpenWRT in the wiki (except the UCI settings in /etc/config/network). According to the initial commit, everything is supposed to be handled by netifdvia ubus?
So from what I could gather from https://www.kernel.org/doc/Documentation/networking/bridge.rst, user_stp mode should be enabled automatically by the kernel when /sbin/bridge-stp <bridge> start returns 0 (which it always does when ustpd is running).
You need to mirror the wire to actually check what is happening.
So to come back to this, I’d need to mirror the trunk to to my OpenWRT switch (port A) to another port on the TP-Link aggregation switch (port B), connect a computer to port B and run tcpdump to capture traffic on that port?
Also ensure that the non openwrt devices use rstp and not per vlan rstp or other vendor specific flavors, like multiple rstp and what not.
Not sure if this really helps you but as a side note: all these hassle with all the STP shizzle is one of the reason why you will find vxlan not only in data centers but also in campus networks nowadays. Because with a routed layer3 backbone you give a shit about the STP hazzle from stretched layer2 networks which try to be wannabe high availablea and fail straight forward.
/Rant