IP Library Granted Patent US 8,982,898
Granted Patent B2
US 8,982,898 · App. 12/575,611 · Granted Mar 17, 2015

Creation and deletion of logical ports in a logical switch

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 8,982,898
App. No.
12/575,611
Granted
Mar 17, 2015
Kind
B2
Abstract

A Layer 2 network switch is partitionable into a plurality of switch fabrics. The single-chassis switch is partitionable into a plurality of logical switches, each associated with one of the virtual fabrics. The logical switches behave as complete and self-contained switches. A logical switch fabric can span multiple single-chassis switch chassis. Logical switches are connected by inter-switch links that can be either dedicated single-chassis links or logical links. An extended inter-switch link can be used to transport traffic for one or more logical inter-switch links. Physical ports of the chassis are assigned to logical switches and are managed by the logical switch. Legacy switches that are not partitionable into logical switches can serve as transit switches between two logical switches.

Claims (140)

1. A method of connecting logical switches in a network, comprising:

establishing a logical inter-switch link between a first logical switch in a first chassis and a second logical switch in a second chassis, the logical inter-switch link using one or more extended inter-switch links for data transport between the first chassis and the second chassis;

creating a logical port of the first logical switch, wherein the logical port is not mapped to a physical port of the first chassis; and

associating the logical port with the logical inter-switch link,

wherein logical inter-switch link is not a physical inter-switch link between the first logical switch and the second logical switch, and

wherein one of the one or more extended inter-switch links is a physical inter-switch link connected to the first chassis.

2. The method of claim 1 , wherein associating the logical port with the logical inter-switch link comprises:

executing a logical inter-switch link protocol with the second logical switch;

marking the logical port as online; and

sending notifications that the logical port is online.

3. The method of claim 1 , further comprising:

deleting the logical port; and

tearing down the logical inter-switch link.

4. The method of claim 3 , wherein deleting the logical port comprises:

sending a logical port deletion request to a logical port manager;

sending a port deletion request to a switch driver;

sending notifications that the logical port is down; and

removing the logical port from the first logical switch.

5. The method of claim 3 , further comprising:

deleting the first logical switch if the first logical switch has no assigned ports.

6. The method of claim 1 , wherein establishing a logical inter-switch link comprises:

sending a logical inter-switch link creation request to the second logical switch;

receiving a response to the logical inter-switch link creation request from the second logical switch;

marking the logical port online if the response indicates acceptance of the request; and

retrying the request if the response indicates an error condition.

7. The method of claim 6 , wherein retrying the request if the response indicates an error condition comprises:

retrying the request if the response indicates a timeout;

retrying the request if the response indicates the second logical switch is busy; and

if the response indicates the second logical switch is down, waiting for a notification that the second logical switch is online, then retrying the request.

8. The method of claim 1 , wherein establishing a logical inter-switch link comprises:

receiving a logical inter-switch link creation request from the second logical switch;

sending a response to the request indicating acceptance or rejection of the request; and

if the response indicates acceptance, notifying a logical port manager software to create a logical port and associate the logical port with the logical inter-switch link.

9. The method of claim 1 , wherein creating a logical port comprises:

storing a record of the logical port in a logical port database; and

storing attributes of the logical port in the logical port database.

10. The method of claim 1 , wherein associating the logical port with the logical inter-switch link comprises:

recognizing the formation of a virtual fabric corresponding to the logical inter-switch link; and

sending a notification to every other logical switch in the virtual fabric of a data path between the first logical switch and each other logical switch.

11. The method of claim 10 , wherein associating the logical port with the logical inter-switch link further comprises:

computing a cost of the logical inter-switch link, and

wherein sending a notification to every other logical switch in the virtual fabric comprises:

identifying the logical port and the cost of the logical inter-switch link.

12. The method of claim 10 , wherein associating the logical port with the logical inter-switch link further comprises:

flooding logical switch data base updates on all dedicated inter-switch links connected to the first logical switch indicating the presence of the logical inter-switch link;

performing a path calculation responsive to receiving a logical switch data base update; and

sending path information messages for any paths affected by the path calculation.

13. A network switch, comprising:

a processor;

a storage medium, connected to the processor;

a switch, partitionable into a plurality of logical switches, comprising:

a logical port, associated with a first logical switch of the plurality of logical switches, the logical port not mapped to a physical port of the network switch; and

a logical inter-switch link associated with the logical port, configured to carry data between the first logical switch and a second logical switch of another network switch, wherein the logical inter-switch link is not a physical inter-switch link, and

an extended inter-switch link, associated with a second logical switch of the network switch, configured to provide data transport for the logical inter-switch link.

14. The network switch of claim 13 , further comprising:

a logical fabric manager software, stored on the storage medium, which when executed by the processor causes the processor to perform actions comprising:

establishing the logical inter-switch link; and

tearing down the logical inter-switch link.

15. The network switch of claim 14 , wherein the logical fabric manager software comprises a state machine.

16. The network switch of claim 14 , wherein establishing the logical inter-switch link comprises:

sending a logical inter-switch link creation request to the second logical switch;

receiving a response to the logical inter-switch link creation request from the second logical switch;

marking the logical port online if the response indicates acceptance of the request; and

retrying the request if the response indicates an error condition.

17. The network switch of claim 16 , wherein retrying the request if the response indicates an error condition comprises:

retrying the request if the response indicates a timeout;

retrying the request if the response indicates the second logical switch is busy; and

waiting for a notification that the second logical switch is online, if the response indicates the second logical switch is down, then retrying the request.

18. The network switch of claim 14 , wherein establishing the logical inter-switch link comprises:

receiving a logical inter-switch link creation request from the second logical switch;

sending a response to the request indicating acceptance or rejection of the request; and

if the response indicates acceptance, notifying a logical port manager software to create a logical port and associate the logical port with the logical inter-switch link.

19. The network switch of claim 14 , wherein tearing down the logical inter-switch link comprises:

running a logical inter-switch link teardown protocol for a logical inter-switch link between the first logical switch and a second switch associated with the logical port; and

requesting deletion of the logical port.

20. The network switch of claim 13 , further comprising:

a logical port manager software, stored on the storage medium, which when executed by the processor causes the processor to perform actions comprising:

creating a logical port;

deleting a logical port;

storing a record of logical ports in the network switch; and

storing attributes of the logical ports.

21. The network switch of claim 20 , wherein the logical port manager software, when executed by the processor, causes the processor to perform actions further comprising:

identifying a logical interface associated with the logical port, the logical interface associated with a physical port through which data is transported for the logical inter-switch link associated with the logical port.

22. The network switch of claim 20 , wherein deleting a logical port comprises:

receiving a logical port deletion request;

sending a port deletion request to a switch driver;

removing a logical interface object associated with the logical port;

unregistering the logical interface object with an interface manager; and

sending a notification of completion of the logical port deletion request.

23. The network switch of claim 20 , wherein creating a logical port comprises:

receiving a logical port creation request;

creating the logical port;

notifying protocol daemons of the network switch that the port is up;

receiving a notification with a new set of interfaces available to send domain controller frames for a remote virtual fabric domain; and

updating a domain-port table.

24. The network switch of claim 13 , further comprising software, stored on the storage medium, that when executed by the processor, causes the processor to perform actions comprising:

receiving a notification that a data path to the first logical switch over a logical inter-switch link is up;

flooding logical switch database updates on all dedicated inter-switch links of the first logical switch;

performing a path calculation;

sending path information messages for all paths affected by the path calculation; and

creating a new set of interfaces available for sending domain controller frames for affected remote virtual fabric domains.

25. The network switch of claim 24 , wherein the software, when executed by the processor, causes the processor to perform actions further comprising:

receiving a data path down message;

removing corresponding link state records from a logical switch database; and

sending logical switch database updates on all dedicated inter-switch links of the first logical switch.

26. A non-transitory computer readable medium on which is stored software for managing a network switch, the software for instructing a processor of the network switch to perform actions comprising:

establishing a logical inter-switch link associated with a logical switch of the network switch, the logical inter-switch link connecting the logical switch with a logical switch of a second network switch;

establishing a logical port of the logical switch, the logical port not mapped to a physical port of the network switch; and

associating the logical port with the logical inter-switch link.

27. The non-transitory computer readable medium of claim 26 , wherein establishing a logical inter-switch link comprises:

sending a logical inter-switch link creation request to a second logical switch;

receiving a response to the logical inter-switch link creation request from the second logical switch;

if the response indicates acceptance of the request, marking the logical port online; and

retrying the request if the response indicates an error condition.

28. The non-transitory computer readable medium of claim 27 , wherein retrying the request if the response indicates an error condition comprises:

retrying the request if the response indicates a timeout;

retrying the request if the response indicates the second logical switch is busy; and

if the response indicates the second logical switch is down, waiting for a notification that the second logical switch is online, then retrying the request.

29. The non-transitory computer readable medium of claim 26 , wherein establishing a logical inter-switch link comprises:

receiving a logical inter-switch link creation request from a second logical switch;

sending a response to the request indicating acceptance or rejection of the request; and

if the response indicates acceptance, notifying a logical port manager software to create a logical port and associate the logical port with the logical inter-switch link.

30. The non-transitory computer readable medium of claim 26 , wherein the actions further comprise:

tearing down the logical inter-switch link.

31. The non-transitory computer readable medium of claim 26 , wherein the action of associating the logical port with a logical inter-switch link comprises:

recognizing the formation of a virtual fabric corresponding to the logical inter-switch link; and

sending a notification to every other logical switch in the virtual fabric of a data path between the logical switch and each other logical switch in the virtual fabric.

32. The non-transitory computer readable medium of claim 31 , wherein the action of associating the logical port with a logical inter-switch link further comprises:

computing a cost of the logical inter-switch link, and

wherein sending a notification to every other logical switch in the virtual fabric comprises:

identifying the logical port and the cost of the logical inter-switch link.

33. The non-transitory computer readable medium of claim 26 , wherein the action of associating the logical port with a logical inter-switch link comprises:

flooding logical switch data base updates on all dedicated inter-switch links connected to the logical switch indicating the presence of the logical inter-switch link;

performing a path calculation responsive to receiving a logical switch data base update; and

sending path information messages for any paths affected by the path calculation.

34. The non-transitory computer readable medium of claim 33 , wherein deleting the logical port comprises:

sending a logical port deletion request to a logical port manager;

sending a port deletion request to a switch driver;

sending a notification that the logical port is down; and

removing the logical port from the logical switch.

Assignments (5)
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 →
RELEASE OF SECURITY INTEREST Recorded Jan 22, 2015
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: BROCADE COMMUNICATIONS SYSTEMS, INC.; FOUNDRY NETWORKS, LLC
Reel/Frame 034804/0793 →
SECURITY AGREEMENT Recorded Jan 20, 2010
From: BROCADE COMMUNICATIONS SYSTEMS, INC.; FOUNDRY NETWORKS, LLC; INRANGE TECHNOLOGIES CORPORATION; MCDATA CORPORATION; MCDATA SERVICES CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 023814/0587 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 12, 2009
From: GNANASEKARAN, SATHISH KUMAR; LAKSHMANAN, SUBRAMANIAN; BHATIA, TARUN; KOLLU, BADRINATH; LIANG, XUPEI; HU, LEIFANG; WANG, BEI
To: BROCADE COMMUNICATIONS SYSTEMS, INC.
Reel/Frame 023506/0162 →