IP Library Granted Patent US 9,288,105
Granted Patent B2
US 9,288,105 · App. 14/142,362 · Granted Mar 15, 2016

N-node virtual link trunking (VLT) systems fault management

Inventors: Mohnish Anumala (Cupertino, CA); Jeyasubramanian Irungola Pillai (Chennai, IN)
Assignee: DELL PRODUCTS L.P.
H04L41/0668H04L45/245
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 9,288,105
App. No.
14/142,362
Filed
Dec 27, 2013
Granted
Mar 15, 2016
Kind
B2
Examiner
ZHAO, WEI
Art Unit
2475
USPC
370/401
Abstract

Aspects of the present invention include an N-Node virtual link trunking (VLT) system comprising a set of N nodes collectively provide a logical fabric-level view that is consistent across the set of N nodes. Embodiments of the N-Node VLT system comprise a control plane mechanism to provide Layer 2 multipathing between access network devices (switches or servers) and the core network. The N-Node VLT system provides a loop-free topology with active-active load-sharing of uplinks from access to the core. Accordingly, the N-Node VLT system eliminates the disadvantage of Spanning Tree Protocol (STP) (active-standby links) by allowing link aggregation group (LAG) terminations on multiple separate distribution or core switches and also supporting a loop-free topology. Additional benefits of an N-Node VLT system include, but are not limited to, higher resiliency, improved link utilization, and improved manageability of the network.

Claims (71)

1. A method for handing a failure of a link of a virtual link trunking (VLT) group in a n-node VLT system that comprises a plurality of nodes communicatively coupled via inter-node links (INLs) and at least some of the plurality of nodes of the n-node VLT system being communicatively coupled via one or more input/output (I/O) ports to one or more client devices to form one or more VLTs, the method comprising:

responsive to a VLT link failure of a VLT on a first node being detected:

assigning the first node as a topology-change-owner node, the first node performing the steps comprising:

determining one or more topology tables entries that require ownership change; and

sending one or more messages to one or more nodes in the n-node VLT system to assume ownership for a certain table entry or entries; and

responsive to the first node having no links for the VLT being operational on the first node as a result of the VLT link failure:

computing an assigned node for the first node, an assigned node being a node in the n-node VLT system has an active link or links for the VLT, wherein data traffic that is intended for the VLT and received at the first node is sent via an INL to the assigned node for egress; and

updating one or more port block masks for the n-node VLT system to avoid loops; and

synchronizing topology tables entry or entries that have changed as a result of the VLT link failure to maintain a consistent representation across all nodes in the n-node VLT system.

2. The method of claim 1 wherein the one or more port block masks are part of one or more topology tables and the one or more topology tables further comprising:

a virtual link trunking (VLT) membership table that comprises a listing of which nodes in the n-node VLT system participate in which of the one or more VLTs;

an assigned node table that comprises an assigned node for each node that may receive ingress traffic on the node that is destined for a VLT that does not have a link on the node but does have a link or links on one or more of the other nodes in the n-node VLT system, the assigned node having a link for the VLT;

a VLT-to-INL table that, for a node, maps a VLT to an inter-node link (INL) based upon the assigned node for the node; and

a system-wide egress mask table that comprises, for each assigned node assignment, a mapping of allowed VLT egress for data ingressing on a specific INL between network nodes in the n-node VLT system.

3. The method of claim 2 wherein the one or more topology tables, upon synchronization, are common to all nodes in the n-node VLT system.

4. The method of claim 1 wherein the first node performs the steps of:

computing an assigned node for the first node; and

updating one or more port block masks for the n-node VLT system to avoid loops.

5. The method of claim 1 wherein one or more of the nodes in the n-node VLT system pre-computes updates in anticipation of failure of the VLT link.

6. The method of claim 1 wherein one or more of the nodes sends a status update message to one or more of the other nodes in the n-node VLT system to detect a VLT link failure.

7. The method of claim 1 further comprising:

responsive to the VLT link on the first node being restored, assigning the first node as a topology-change-owner node, the first node performing the steps comprising:

reverting the updated one or more port block masks for the n-node VLT system and the assigned node back their states before the VLT link failure; and

opening existing port blocks that were affected after the reverted one or more port block masks have been successfully installed first.

8. A method for handing a failure of an inter-node link (INL) of a virtual link trunking (VLT) group in a n-node VLT system that comprises a plurality of nodes communicatively coupled via inter-node links (INLs) and at least some of the plurality of nodes of the n-node VLT system being communicatively coupled via one or more input/output (I/O) ports to one or more client devices to form one or more VLTs, the method comprising:

responsive to detecting an INL failure between a first node and a second node in the n-node VLT system:

selecting one of the first and second nodes to be removed from the n-node VLT system based upon one or more criteria;

disabling VLT ports at the node that is to be removed from the n-node VLT system according to rules comprising:

responsive to a VLT having as its only member the node that is to be removed from the n-node VLT system, retaining that VLT at that node; and

responsive to a VLT having more node members including the node that is to be removed from the n-node VLT system, disabling that VLT at the node that is to be removed from the n-node VLT system;

disabling all INL ports, except one, at the node that is to be removed from the n-node VLT system, the one INL port that is retained being selected based upon one or more criteria; and

removing the selected node from the n-node VLT system in order to operate, based upon table programming, including port block mask, as a normal switch connected to one of the nodes in the n-node VLT system.

9. The method of claim 8 further wherein the table programming comprises:

a virtual link trunking (VLT) membership table that comprises a listing of which nodes in the n-node VLT system participate in the one or more VLTs;

an assigned node table that comprises an assigned node for each node that may receive ingress traffic on the node that is destined for a VLT that does not have a link on the node but does have a link or links on one or more of the other nodes in the n-node VLT system, the assigned node having a link for the VLT;

a VLT-to-INL table that, for a node, maps a VLT to an inter-node link (INL) based upon the assigned node for the node; and

a system-wide egress mask table that comprises, for each assigned node assignment, a mapping of allowed VLT egress for data ingressing on a specific INL between network nodes in the n-node VLT system.

10. The method of claim 9 further comprising:

updating the assigned node table as a result of the INL failure and the removal of the selected node.

11. The method of claim 10 further comprising:

to avoid potential loops, opening existing port blocks only after new blocks are first installed.

12. The method of claim 9 further comprising:

assigning the node that is retained in the n-node VLT system as a topology-change-owner node.

13. The method of claim 12 wherein:

the topology-change-owner node changes ownership of affected table entries to a node in the n-node VLT system according to one or more criteria.

14. The method of claim 13 wherein the one or more criteria comprises selecting, for an affected table entry, the node that has a lowest MAC address.

15. The method of claim 9 wherein the table programming, upon synchronization, are common to all nodes in the n-node VLT system.

16. The method of claim 8 further comprising:

responsive to the INL between the first and second nodes being restored:

assigning a node as a topology-change-owner node;

reverting the VLT ports and table programming to their states as they were before the VLT link failure; and

returning the node that was removed from the n-node VLT system back to the n-node VLT system, wherein existing port blocks that were affected are opened after the reverted table programming has been successfully installed first.

17. A method for handing a failure of a node in a n-node virtual link trunking (VLT) system that comprises a plurality of nodes communicatively coupled via inter-node links (INLs) and at least some of the plurality of nodes of the n-node VLT system being communicatively coupled via one or more input/output (I/O) ports to one or more client devices to form one or more VLTs, the method comprising:

responsive to a node failure being detected:

assigning one of the remaining nodes in the n-node VLT system as a topology-change-owner node, the topology-change-owner node performing the steps comprising:

determining one or more topology tables entries that require ownership change; and

sending one or more messages to one or more nodes in the n-node VLT system to assume ownership for a certain table entry or entries;

computing assigned nodes for the remaining nodes in the n-node VLT system, an assigned node being a node in the n-node VLT system has an active link or links for a VLT, wherein data traffic that is intended for the VLT and received at the first node is sent via an INL to the assigned node for egress;

updating one or more port block masks for the n-node VLT system to avoid loops; and

synchronizing topology tables entry or entries that have changed as a result of the node failure to maintain a consistent representation across the remaining nodes in the n-node VLT system.

18. The method of claim 17 wherein the one or more port block masks are part of one or more topology tables and the one or more topology tables further comprise:

a virtual link trunking (VLT) membership table that comprises a listing of which nodes in the n-node VLT system participate in the one or more VLTs;

an assigned node table that comprises an assigned node for each node that may receive ingress traffic on the node that is destined for a VLT that does not have a link on the node but does have a link or links on one or more of the other nodes in the n-node VLT system, the assigned node having a link for the VLT;

a VLT-to-INL table that, for a node, maps a VLT to an inter-node link (INL) based upon the assigned node for the node; and

a system-wide egress mask table that comprises, for each assigned node assignment, a mapping of allowed VLT egress for data ingressing on a specific INL between network nodes in the n-node VLT system.

19. The method of claim 17 wherein one or more of the nodes in the n-node VLT system pre-computes updates in anticipation of failure of the VLT link.

20. The method of claim 17 further comprising:

responsive to the node being restored:

assigning a node as a topology-change-owner node;

reverting the updated one or more port block masks for the n-node VLT system and the assigned node back their states before the node failure; and

opening existing port blocks that were affected after the reverted one or more port block masks have been successfully installed first.

Assignments (16)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
RELEASE OF SECURITY INTEREST OF REEL 032809 FRAME 0930 (TL) Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; CREDANT TECHNOLOGIES, INC.; COMPELLENT TECHNOLOGIES, INC.; FORCE10 NETWORKS, INC.; SECUREWORKS, INC.
Reel/Frame 040045/0255 →
RELEASE OF REEL 032810 FRAME 0206 (NOTE) Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; CREDANT TECHNOLOGIES, INC.; COMPELLENT TECHNOLOGIES, INC.; FORCE10 NETWORKS, INC.; SECUREWORKS, INC.
Reel/Frame 040027/0204 →
RELEASE OF REEL 032809 FRAME 0887 (ABL) Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; CREDANT TECHNOLOGIES, INC.; COMPELLENT TECHNOLOGIES, INC.; FORCE10 NETWORKS, INC.; SECUREWORKS, INC.
Reel/Frame 040017/0314 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES) Recorded May 1, 2014
From: COMPELLENT TECHNOLOGIES, INC.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; SECUREWORKS, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 032810/0206 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN) Recorded May 1, 2014
From: COMPELLENT TECHNOLOGIES, INC.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; SECUREWORKS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 032809/0930 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL) Recorded May 1, 2014
From: COMPELLENT TECHNOLOGIES, INC.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; SECUREWORKS, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 032809/0887 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 2, 2014
From: ANUMALA, MOHNISH; PILLAI, JEYASUBRAMANIAN IRUNGOLA
To: DELL PRODUCTS, L. P.
Reel/Frame 032581/0336 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2014
From: ANUMALA, MOHNISH; PILLAI, JEYASUBRAMANIAN IRUNGOLA
To: DELL PRODUCTS, L. P.
Reel/Frame 031940/0139 →
Continuity (1)
Related Publication 20150188753A1 · Jul 2, 2015