Hi!
We have developed a custom board with a LS1028. The switch ports are added to a bridge (br0), and the bridges of multiple boards are daisy chained together in a ring. STP (Spanning Tree Protocol) is enabled to support the ring configuration. The recovery time of STP is way too long, and we need to enable RSTP instead. How do we do this, and how do we optimise for a shortest possible recovery time ?
To configure STP we simply use brctl (for example "brctl stp br0 on").
We are using LS SDK 20.04 v4.19.
Any help is greatly appreciated. Thanks
/Rolf
Please switch the bridge mode from stp to rstp using the mstpctl application.
mstpctl setforcevers br0 rstp
Please refer to 4.4. RSTP — Processor SDK Linux Documentation
GitHub - mstpd/mstpd: Multiple Spanning Tree Protocol Daemon
We have experimented with mstpd / mstpctl now. The results are much better, but we need even better results.
The minimum values we were able to set are:
mstpctl sethello br0 1
mstpctl setmaxage br0 6
mstpctl setfdelay br0 4
mstpctl setageing br0 10
This results in a recovery time of roughly maximum 6 seconds. Afaik the maximum should be around 3 x hello time, but we are seeing around twice this in practice.
Anyways, our ultimate goal is sub-second recovery time.
All our bridges are of same priority and the devices must be able to reconnect in any fashion (ring, mesh, star) without disturbing multicast ip6 traffic for too long (ideally sub second). How do we accomplish this?
Thanks. We will try this.
But what we were hoping is that RSTP would be performed solely at L2 level with such a powerful switch as the one in LS1028. Using a daemon gives the impression that this is performed at application level?
/Rolf