IP Library Granted Patent US 8,634,417
Granted Patent B2
US 8,634,417 · App. 13/152,011 · Granted Jan 21, 2014

Method and apparatus providing selective flow redistribution across Multi Link Trunk/Link Aggregation Group (MLT/LAG) after port member failure and recovery

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,634,417
App. No.
13/152,011
Granted
Jan 21, 2014
Kind
B2
Abstract

A method, apparatus and computer program product are presented. In a system having at least one Multi Link Trunk/Link Aggregation Group (MLT/LAG), a table is provided for each MLT/LAG, each table having at least one entry, each entry including at least two fields, a first field comprising a port member identification (ID) field and a second field comprising a port member status field. A port member status is checked for a port when a packet flow hashes into the table, and the status for the port member is determined. When the port member status is in a first state, then the associated port member ID is used as a destination port to transmit to. When the port member state is in a second state, then a next entry in the port table is accessed to find a next available entry having a port member status that is in the first state and the corresponding port member ID of the port member state that is in the first state is used as a destination port to transmit to. The first state is UP and the second state is DOWN.

Claims (33)

1. A computer-implemented method comprising:

in a system having at least one Multi Link Trunk/ Link Aggregation Group (MLT/LAG), providing a table for each MLT/LAG, each table having at least one entry, each entry including at least two fields, a first field comprising a port member identification (ID) field and a second field comprising a port member status field, wherein said table is indexed by an n-bit hash ID, and wherein said hash ID is computed using a hash function over selected fields within the packet;

checking a port member status for a port when a packet flow hashes into said table, and determining the status for the port member;

wherein when said port member status is in a first state, then using the associated port member ID as a destination port to transmit to; and

when the port member state is in a second state, then accessing a next entry in said port table to find a next available entry having a port member status that is in said first state and using the corresponding port member ID of said port member state that is in said first state as a destination port to transmit to, and wherein said first state is UP and said second state is DOWN.

2. The computer-implemented method of claim 1 wherein said table maintains all active and non-active port members belonging to an MLT/LAG.

3. The computer-implemented method of claim 1 wherein said table has 2 n entries, where n is a width of the hash ID in bits.

4. The computer-implemented method of claim 3 where n is selected such that the number of table entries 2 n is at least twice the number of maximum allowable port members per MLT/LAG.

5. The computer-implemented method of claim 1 wherein all the instances of a given port member in the table entries are preceded or followed by a different port member.

6. The computer-implemented method of claim 1 wherein when a port fails a corresponding port member status is set to said second state and when a port is recovered the corresponding port member status is set to said first state.

7. A non-transitory computer readable storage medium having computer readable code thereon for selective flow redistribution, the medium including instructions in which a computer system performs operations comprising:

providing a table for each MLT/LAG, each table having at least one entry, each entry including at least two fields, a first field comprising a port member identification (ID) field and a second field comprising a port member status field, wherein said table is indexed by an n-bit hash ID, and wherein said hash ID is computed using a hash function over selected fields within the packet;

checking a port member status for a port when a packet flow hashes into said table, and determining the status for the port member;

wherein when said port member status is in a first state, then using the associated port member ID as a destination port to transmit to; and

when the port member state is in a second state, then accessing a next entry in said port table to find a next available entry having a port member status that is in said first state and using the corresponding port member ID of said port member state that is in said first state as a destination port to transmit to, and wherein said first state is UP and said second state is DOWN.

8. The computer readable storage medium of claim 7 wherein said table maintains all active and non-active port members belonging to an MLT/LAG.

9. The computer readable storage medium of claim 7 wherein said table has 2 n entries, where n is a width of the hash ID in bits.

10. The computer readable storage medium of claim 9 where n is selected such that the number of table entries 2 n is at least twice the number of maximum allowable port members per MLT/LAG.

11. The computer readable storage medium of claim 7 wherein all the instances of a given port member in the table entries are preceded or followed by a different port member.

12. The computer readable storage medium of claim 7 wherein when a port fails a corresponding port member status is set to said second state and when a port is recovered the corresponding port member status is set to said first state.

13. A network device comprising:

a memory;

a processor;

a communications interface;

an interconnection mechanism coupling the memory, the processor and the communications interface; and

wherein the memory is encoded with an application providing selective flow redistribution, that when performed on the processor, provides a process for processing information, the process causing the first aggregation device to perform the operations of:

providing a table for each MLT/LAG, each table having at least one entry, each entry including at least two fields, a first field comprising a port member identification (ID) field and a second field comprising a port member status field, wherein said table is indexed by n-bit hash ID, and wherein said hash ID is computed using a hash function over selected fields within the packet;

checking a port member status for a port when a packet flow hashes into said table, and determining the status for the port member;

wherein when said port member status is in a first state, then using the associated port member ID as a destination port to transmit to; and

when the port member state is in a second state, then accessing a next entry in said port table to find a next available entry having a port member status that is in said first state and using the corresponding port member ID of said port member state that is in said first state as a destination port to transmit to, and wherein said first state is UP and said second state is DOWN.

14. The network device of claim 13 wherein said table maintains all active and non-active port members belonging to an MLT/LAG.

15. The network device of claim 13 wherein all the instances of a given port member in the table entries are preceded or followed by a different port member.

16. The network device of claim 13 wherein when a port fails a corresponding port member status is set to said second state and when a port is recovered the corresponding port member status is set to said first state.

Assignments (13)
AMENDED SECURITY AGREEMENT Recorded Aug 18, 2023
From: EXTREME NETWORKS, INC.; AEROHIVE NETWORKS, INC.
To: BANK OF MONTREAL
Reel/Frame 064782/0971 →
SECURITY INTEREST Recorded May 1, 2018
From: EXTREME NETWORKS, INC.
To: BANK OF MONTREAL
Reel/Frame 046050/0546 →
RELEASE OF SECURITY INTEREST Recorded May 1, 2018
From: SILICON VALLEY BANK
To: EXTREME NETWORKS, INC.
Reel/Frame 046051/0775 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 030083/0639 Recorded Dec 15, 2017
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVAYA INC.
Reel/Frame 045012/0666 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 029608/0256 Recorded Dec 15, 2017
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVAYA INC.
Reel/Frame 044891/0801 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 041576/0001 Recorded Dec 15, 2017
From: CITIBANK, N.A.
To: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS INC.; OCTEL COMMUNICATIONS LLC (FORMERLY KNOWN AS OCTEL COMMUNICATIONS CORPORATION); VPNET TECHNOLOGIES, INC.
Reel/Frame 044893/0531 →
THIRD AMENDED AND RESTATED PATENT AND TRADEMARK SECURITY AGREEMENT Recorded Oct 31, 2017
From: EXTREME NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 044639/0300 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2017
From: AVAYA INC.; AVAYA COMMUNICATION ISRAEL LTD; AVAYA HOLDINGS LIMITED
To: EXTREME NETWORKS, INC.
Reel/Frame 043569/0047 →
SECOND AMENDED AND RESTATED PATENT AND TRADEMARK SECURITY AGREEMENT Recorded Jul 14, 2017
From: EXTREME NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 043200/0614 →
SECURITY INTEREST Recorded Jan 27, 2017
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS INC.; OCTEL COMMUNICATIONS CORPORATION; VPNET TECHNOLOGIES, INC.
To: CITIBANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 041576/0001 →
SECURITY AGREEMENT Recorded Mar 13, 2013
From: AVAYA, INC.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., THE
Reel/Frame 030083/0639 →
SECURITY AGREEMENT Recorded Jan 10, 2013
From: AVAYA, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 029608/0256 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 2, 2011
From: ASSARPOUR, HAMID
To: AVAYA INC.
Reel/Frame 026380/0307 →