IP Library Granted Patent US 10,462,049
Granted Patent B2
US 10,462,049 · App. 15/411,716 · Granted Oct 29, 2019

Spanning tree in fabric switches

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,462,049
App. No.
15/411,716
Granted
Oct 29, 2019
Kind
B2
Abstract

One embodiment of the present invention provides a switch. The switch includes a packet processor and a spanning tree management module. The packet processor obtains information associated with a spanning tree from a message. The spanning tree management module, in response to the obtained information being superior to locally available information of the spanning tree, determines the port role of a local port of the switch for the spanning tree to be the root port and the port state of the local port for the spanning tree to be blocking.

Claims (57)

1. A switch, comprising:

port management circuitry configured to:

assign a port identifier to a port of the switch; and

store, in an entry of a port identifier allocation table, the assigned port identifier;

spanning tree management circuitry configured to participate in a spanning tree using the port identifier; and

wherein the port management circuitry is further configured to reassign the port identifier to the port in response to the switch leaving and rejoining the spanning tree, and

wherein the port management circuitry is further configured to store, in the entry of the port identifier allocation table, an interface name of the port and an indicator that indicates whether the entry is an active entry, and wherein the interface name is distinct from the port identifier and the indicator is distinct from the port identifier.

2. The switch of claim 1 , wherein the interface name includes a switch identifier of the switch and a port number of the port.

3. The switch of claim 1 , wherein reassigning the port identifier to the port comprises:

determining whether the entry is an active entry based on the indicator;

in response to determining that the entry is not an active entry, assigning the port identifier to the port; and

updating the indicator to indicate that the entry is an active entry.

4. The switch of claim 1 , wherein, in response to the switch leaving and rejoining the spanning tree, the port management circuitry is further configured to:

determine whether a second entry of the port identifier allocation table is an active entry based on a second indicator in the second entry, wherein the second entry includes a second port identifier that has previously been assigned to a second port of the switch; and

in response to determining that the entry is an active entry, assign a new port identifier to the second port.

5. The switch of claim 1 , further comprising fabric switch management circuitry configured to maintain a membership in a network of interconnected switches, wherein the network of interconnected switches is identified by a fabric identifier, and wherein the port identifier is unique among edge ports of the network of interconnected switches.

6. The switch of claim 5 , wherein the fabric switch management circuitry is further configured to:

associate a lock with the port identifier assignment, wherein the lock prevents switches in the network of interconnected switches from allocating a port identifier; and

release the lock in response to synchronizing the port identifier allocation table with a respective other switch in the network of interconnected switches.

7. The switch of claim 5 , wherein the fabric switch management circuitry is further configured to learn that a second switch in the network of interconnected switches has left the spanning tree; and

wherein the port management circuitry is further configured to mark an entry, which comprises a port identifier of a port of the second switch, in the port identifier allocation table as a stale entry.

8. The switch of claim 1 , wherein the fabric switch management circuitry is further configured to:

associate a lock with the port identifier assignment, wherein the lock prevents switches in the network of interconnected switches from allocating a port identifier.

9. A computer-executed method, comprising:

assigning a port identifier to a port of a switch;

storing, in an entry of a port identifier allocation table of the switch, the assigned port identifier;

participating in a spanning tree using the port identifier; and

reassigning the port identifier to the port in response to the switch leaving and rejoining the spanning tree, and

wherein the storing includes storing, in the entry of the port identifier allocation table, an interface name of the port and an indicator that indicates whether the entry is an active entry, and wherein the interface name is distinct from the port identifier and the indicator is distinct from the from the port identifier.

10. The method of claim 9 , wherein the interface name includes a switch identifier of the switch and a port number of the port.

11. The method of claim 9 , wherein the reassigning the port identifier to the port comprises:

determining whether the entry is an active entry based on the indicator;

in response to determining that the entry is not an active entry, assigning the port identifier to the port; and

updating the indicator to indicate that the entry is an active entry.

12. The method of claim 9 , wherein, in response to the switch leaving and rejoining the spanning tree, the method further comprises:

determining whether a second entry of the port identifier allocation table is an active entry based on a second indicator in the second entry, wherein the second entry includes a second port identifier that has previously been assigned to a second port of the switch; and

in response to determining that the entry is an active entry, assigning a new port identifier to the second port.

13. The method of claim 9 , further comprising maintaining a membership in a network of interconnected switches, wherein the network of interconnected switches is identified by a fabric identifier, and wherein the port identifier is unique among edge ports of the network of interconnected switches.

14. The method of claim 13 , further comprising:

associating a lock with the port identifier assignment, wherein the lock prevents switches in the network of interconnected switches from allocating a port identifier; and

releasing the lock in response to synchronizing the port identifier allocation table with a respective other switch in the network of interconnected switches.

15. The method of claim 9 , further comprising:

learning that a second switch in the network of interconnected switches has left the spanning tree; and

marking an entry, which comprises a port identifier of a port of the second switch, in the port identifier allocation table as a stale entry.

16. A computer system, comprising:

a processor; and

a storage device coupled to the processor and storing instructions which when executed by the processor cause the processor to perform a method, the method comprising:

assigning a port identifier to a port of a switch;

storing, in an entry of a port identifier allocation table of the switch, the assigned port identifier;

participating in a spanning tree using the port identifier; and

reassigning the port identifier to the port in response to the switch leaving and rejoining the spanning tree, and

wherein the storing includes storing, in the entry of the port identifier allocation table, an interface name of the port and an indicator that indicates whether the entry is an active entry, and wherein the interface name is distinct from the port identifier and the indicator is distinct from the port identifier.

17. The computer system of claim 16 , wherein the interface name includes a switch identifier of the switch and a port number of the port.

18. The computer system of claim 16 , wherein the reassigning the port identifier to the port comprises:

determining whether the entry is an active entry based on the indicator;

in response to determining that the entry is not an active entry, assigning the port identifier to the port; and

updating the indicator to indicate that the entry is an active entry.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2018
From: BROCADE COMMUNICATIONS SYSTEMS LLC
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047270/0247 →
CHANGE OF NAME Recorded Dec 13, 2017
From: BROCADE COMMUNICATIONS SYSTEMS, INC.
To: BROCADE COMMUNICATIONS SYSTEMS LLC
Reel/Frame 044891/0536 →