Patent ID: 8325630

Claim:
A computer-implemented method to prevent spanning tree protocol operations from removing redundancy provided by a multi-chassis trunk (MCT), the method comprising: maintaining a multi-chassis port channel (MCPC) priority vector for a port of a first switch in a network topology, wherein the first switch is connected to a second switch in the network topology via an MCT to form an MCPC complex, and wherein the MCPC priority vector includes a switch identifier field, a designated switch identifier field, and at least one of a root identifier field and a cost field, wherein the switch identifier field is configured to store a value indicating whether the port is used to establish the MCT in the MCPC complex, wherein the MCPC complex is configured to: detect failure of the second switch by periodically synchronizing one or more parameters between the first switch and the second switch connected via the MCT; and upon detecting failure of the second switch, initiate a switchover operation to the first switch, such that the first switch serves as a redundant switch for the failed second switch; when performing the spanning tree protocol operations to remove one or more loops in the network topology, determining, based on the switch identifier field, whether the port is used to establish the MCT in the MCPC complex; upon determining that the port is used to establish the MCT in the MCPC complex: preventing the spanning tree protocol operations from blocking the port, to maintain redundancy provided by the MCT in the MCPC complex; and setting the value of the switch identifier field to a designated switch identifier value matching a value stored in the designated switch identifier field; and upon determining that the port is not used to establish the MCT in the MCPC complex: allowing the spanning tree protocol operations to block the port; and setting the value of the switch identifier field to a local switch identifier value identifying a switch to which the port belongs, wherein the local switch identifier value is different from the designated switch identifier value.