I had trouble with the new detection code for interface ports.
In turned out that the carrier was down, but IFF_RUNNING was set.
I changed the code to check for IFF_UP & IFF_LOWER_UP for interface ports and now it works the way it should.
Would it be better to check IFF_LOWER_UP or is my interface device driver incorrect?
I just put a fix for the detection of bridge pseudo-device being up
into the current rstp code available at:
git://git.kernel.org/pub/scm/linux/kernel/git/shemminger/rstp.git