Jose Ventura - 2014-10-20

Hi,

I'm implementing the mstpd daemon in a platform based on an ARM processor, connected to a micrel switch KSZ8873. The switch has 3 ports, one connected to the ARM CPU, the other two are the "external" ports. The switch as a special feature, a tail tag feature, that allows the two ports to be mapped on the ARM CPU. The Driver also acts as a DSA Switch.

I can configure the mstpd daemon correctly and the rstp protocol works as expected but with a strange behavior.
If the link breaks on one of the ports, the convergence time is around 5-6 seconds. If other link fails on the Ring, the convergence time is 50ms. I have tested the mstpd daemon on a PC with two ethernet cards and this does not happen.

I thought that the problem might be between the link down detection and the daemon taking actions but on dmesg it shows that it only takes a couple of miliseconds between the link down on the interface and the message from the daemon changing the status of the port.

Do you know what may be causing this behavior?

Best Regards,
José