RSTP not working properly on CSS106-5G-1S

I have two CSS106-5G-1S switches: sw01 and sw03. They are connected with a trunk line. There is absolutely no loop in the network. When RSTP is turned on on both switches, then sw03 is “point-to-point forwarding” and sw01 is “point-to-point discarding”. Well, actually the link is flapping between discarding and forwarding, but most of the time it is discarding. (It is hard to tell, the web UI is not very responsive). As a result, I’m not able to reach sw03 through sw01.

If I turn off RSTP on sw01, then it becomes “edge forwarding” and everything works as is should.

https://imgur.com/a/wp5SztZ

The swos version is the latest 2.13 as of today. There is a warning here https://help.mikrotik.com/docs/display/SWOS/CSS106+%28RB260%29+series+Manual#CSS106(RB260)seriesManual-VLANandVLANs in the documentation:

CSS106 devices running SwOS version 2.12 can filter RSTP BPDU packets when enabling VLAN filtering on ports (VLAN Mode enabled or strict). With SwOS version 2.13, it is recommended to set VLAN Receive to any on trunk ports.

For this reason, the “ingress VLAN receive” filter was set to “any” on both switches. It should allow RSTP BDU packets to go through.

So why sw01 is discarding packets on port1 P1-SW03 when RSTP is turned on?

Why even have RSTP turned on?

Ask my friend who lost a day troubleshooting a crashed network after a clueless end user moved a PoE VoIP phone, helpfully reconnecting both the regular RJ45 jack and the loop-thru jack to the room’s drops.

Their take? Blame the user.

Mine? Blame the network engineer who thought he’d be clever and “optimize” the network by turning off STP.

Just because there is no loop today doesn’t mean there will never be a loop tomorrow.

is difficult to understant why MikroTik do things like this

CSS106 hav a basic RSTP support with no tunable timers or values, that makes this function very useless

But the worst part is, when you disable RSTP switch does not allow BPDU pass so if you plug it on a STP/RSTP topology you can make a loop easily

Even cheaper non manageable switches pass BPDU transparently avoiding this kind of problem

It sounds like the root election is in a constant fight. Set one bridge’s priority lower than the other to make it win the fight each time. Only when that switch goes MIA will the other take over.