STP on bridge of vif's not behaving


#1

Hi. I’m not sure if I’ve encountered a bug or just a missetup by me.

I have multiple bridge interfaces with STP enabled, connecting two physical links with multiple VIFs:

bridge br100 {
     address 192.xx/24
     description xx
     priority 10000
     stp true
 }
 bridge br101 {
     address 10.xx/24
     description xx
     priority 10000
     stp true
 }
ethernet eth5 {
     duplex auto
     hw-id xx
     smp-affinity auto
     speed auto
     vif 100 {
         bridge-group {
             bridge br100
         }
     }
     vif 101 {
         bridge-group {
             bridge br101
         }
     }
}
ethernet eth6 {
     duplex auto
     hw-id xx
     smp-affinity auto
     speed auto
     vif 100 {
         bridge-group {
             bridge br100
         }
     }
     vif 101 {
         bridge-group {
             bridge br101
         }
     }
}

each of the ports eth5, eth6 is connected to a switch (Cisco SF300) with MSTP and one instance per VLAN, priorities on all of them 28672. The switches are connected together with a single trunk link. Edge ports are enabled on all access ports and disabled on the two ports connected to the vyos. The goal is to disable the inter-switch link by default, and enable it if either uplink to vyos dies.

This all works if the inter-switch link is disconnected, but as soon as it’s connected (after the forwarding delay) there is a loop on all VLANs.

The problem as I see it is, the switches arent detecting the root bridge on vyos:

|Bridge ID:|28672-08:d0:9f:af:96:85|
|---|---|
|Root Bridge ID:|28672-08:d0:9f:af:96:85|

The root bridge should be the bridges on vyos, which is 10000. So the switches can’t see it as far as I can see.

Originally I tried to create a bridge of the physical eth’s first, then vifs on that bridge (that would be simpler), but there’s no configuration command to add vif’s on a bridge.

I’d be happy if anyone could contribute any troubleshooting ideas.