STP in Brocade VCS Fabric – an Interesting Solution after a Long Wait
A few years ago I lambasted the lack of STP support in Brocade’s VCS fabric. It took Brocade over two years to solve the problem, but they finally came up with an interesting end-to-end solution.
Here are a few highlights; for more details read the Configuring STP-type Protocols section in Network OS Administrator Guide.
Supported protocols. Network OS 4.0 and above supports standard STP, RSTP and MSTP, as well as Cisco’s PVST and PVRST in both standalone and fabric mode.
Single STP instance. A fabric of VDX switches behaves as a single STP instance, representing the fabric as a single humongous switch to its STP peers. As far as I know, this is the only fabric solution where numerous switches with independent control and management planes act as a single STP instance (Cisco’s vPC is also a single STP instance, but limited to two switches).
No root bridge enforcement. I’ve seen solutions that require the fabric (or MLAG pair) becoming a root bridge. Other solutions split a bridging domain into small STP domains around a fabric core. VCS fabric has no such limitation – the fabric participates in the regular operation of xSTP and blocks its edge ports as needed.
Internal state synchronization. RBridges (VDX switches) exchange STP information, probably using proprietary extensions to FSPF protocol that VCS fabric uses instead of IS-IS.
Distributed STP calculation. Each RBridge uses information supplied by its FSPF peers (think OSPF or IS-IS topology database), and information received through the fabric edge ports in xSTP BPDUs, to calculate the xSTP state and change the port state of its edge ports. Fabric ports are not affected by xSTP; they use TRILL-based forwarding controlled by FSPF routing protocol.
Summary. Brocade definitely took an interesting approach to STP integration and (within the scope of that approach) executed flawlessly. The solution is obviously totally proprietary, but then we probably gave up the idea of having multi-vendor fabrics years ago.
However, looking at the bigger picture, one has to wonder whether a tight integration with STP is better than fabric-at-core-STP-at-edges approach. If the VCS fabric is not the root bridge, then it propagates topology change events across all STP islands connected to its edge ports. That might be what the customers want, but it might not be the most stable solution.