IP Library Granted Patent US 10,153,944
Granted Patent B2
US 10,153,944 · App. 15/276,619 · Granted Dec 11, 2018

Lag configuration learning in an extended bridge

Inventors: Kwun-Nan Kevin Lin (Saratoga, CA); Bipin Agarwal (San Jose, CA)
Assignee: ARRIS Enterprises LLC
H04L41/0803H04L41/0866H04L49/10H04L49/30Y02D30/30
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,153,944
App. No.
15/276,619
Granted
Dec 11, 2018
Kind
B2
Abstract

Techniques for configuring/learning the link aggregation groups (LAGs) of a port extender (PE) at the time the PE joins an extended bridge are provided. According to one embodiment, a first network device in a system of network devices (e.g., an extended bridge) can receive a join message from a second network device in the system, where the join message includes a LAG configuration for one or more LAGs programmed on the second network device. The first network device can further determine whether a provisional LAG configuration for the one or more LAGs of the second network device exists on the first network device. If a provisional LAG configuration does not exist on the first network device, the first network device can learn the LAG configuration included in the join message and can integrate the second network device into the system based on the learned LAG configuration.

Claims (70)

1. A method comprising:

receiving, by a first network device in a system of network devices, a join message from a second network device in the system, the join message including a link aggregation group (LAG) configuration for one or more LAGs programmed on the second network device, the LAG configuration specifying a first set of LAGs for the second network device and, for each LAG in the first set of LAGs, port identifiers of ports included in said each LAG;

determining, by the first network device, whether a provisional LAG configuration for the one or more LAGs of the second network device exists on the first network device, the provisional LAG configuration specifying a second set of LAGs for the second network device and, for each LAG in the second set of LAGs, port identifiers of ports included in said each LAG;

if the provisional LAG configuration does not exist on the first network device:

learning, by the first network device, the LAG configuration included in the join message; and

integrating, by the first network device, the second network device into the system based on the learned LAG configuration; and

if the provisional LAG configuration does exist on the first network device:

checking whether a number of LAGs in the first set of LAGs matches a number of LAGs in the second set of LAGs; and

checking whether the port IDs of ports included in said each LAG of the first set of LAGs match the port IDs of ports included in said each LAG of the second set of LAGs.

2. The method of claim 1 wherein the join message further includes an identifier of the second network device, and wherein the determining comprises determining whether any provisional LAG configuration on the first network device is associated with the identifier of the second network device.

3. The method of claim 1 wherein the one or more LAGs are LAGs that are operable for connecting the second network device to the system of network devices.

4. The method of claim 1 wherein if the provisional LAG configuration does exist on the first network device, the method further comprises:

checking whether the provisional LAG configuration includes an egress port of the second network device from which the join message was sent.

5. The method of claim 1 wherein if the provisional LAG configuration does exist on the first network device, the method further comprises:

determining whether a number of ports in the LAG configuration or a number of ports in the provisional LAG configuration better matches port counts in LAG configurations of other network devices in the system of network devices that connect to the second network device.

6. The method of claim 1 wherein if the provisional LAG configuration does exist on the first network device, the first network device learns the LAG configuration included in the join message and integrates the second network device into the system based on the learned LAG configuration if:

the provisional LAG configuration does not include an egress port of the second network device from which the join message was sent; or

a number of ports in the LAG configuration better matches port counts in LAG configurations of other network devices in the system of network devices that connect to the second network device.

7. The method of claim 1 wherein if the provisional LAG configuration does exist on the first network device, the first network device integrates the second network device into the system based on the provisional LAG configuration if:

the provisional LAG configuration includes an egress port of the second network device from which the join message was sent; and

a number of ports in the provisional LAG configuration better matches port counts in LAG configurations of other network devices in the system of network devices that connect to the second network device.

8. The method of claim 7 wherein, upon integrating the second network device into the system based on the provisional LAG configuration, the first network device sends the provisional LAG configuration to the second network device for local programming on the second network device.

9. The method of claim 1 wherein the first network device is a controlling bridge (CB) and wherein the system of network devices is an extended bridge.

10. The method of claim 1 wherein the second network device is a port extender (PE).

11. The method of claim 1 wherein the join message is a Link Layer Discovery Protocol (LLDP) join message.

12. A non-transitory computer readable storage medium having stored thereon program code executable by a first network device in a system of network devices, the program code causing the first network device to:

receive a join message from a second network device in the system, the join message including a link aggregation group (LAG) configuration for one or more LAGs programmed on the second network device, the LAG configuration specifying a first set of LAGs for the second network device and, for each LAG in the first set of LAGs, port identifiers of ports included in said each LAG;

determine whether a provisional LAG configuration for the one or more LAGs of the second network device exists on the first network device, the provisional LAG configuration specifying a second set of LAGs for the second network device and, for each LAG in the second set of LAGs, port identifiers of ports included in said each LAG;

if the provisional LAG configuration does not exist on the first network device:

learn the LAG configuration included in the join message; and

integrate the second network device into the system based on the learned LAG configuration; and

if the provisional LAG configuration does exist on the first network device:

check whether a number of LAGs in the first set of LAGs matches a number of LAGs in the second set of LAGs; and

check whether the port IDs of ports included in said each LAG of the first set of LAGs match the port IDs of ports included in said each LAG of the second set of LAGs.

13. The non-transitory computer readable storage medium of claim 12 wherein if the provisional LAG configuration does exist on the first network device, the program code further causes the first network device to:

check whether the provisional LAG configuration includes an egress port of the second network device from which the join message was sent.

14. The non-transitory computer readable storage medium of claim 12 wherein if the provisional LAG configuration does exist on the first network device, the program code further causes the first network device to:

determine whether a number of ports in the LAG configuration or a number of ports in the provisional LAG configuration better matches port counts in LAG configurations of other network devices in the system of network devices that connect to the second network device.

15. A network device comprising:

a processor; and

a non-transitory computer readable medium having stored thereon program code that, when executed by the processor, causes the processor to:

receive a join message from a second network device in the system, the join message including a link aggregation group (LAG) configuration for one or more LAGs programmed on the second network device, the LAG configuration specifying a first set of LAGs for the second network device and, for each LAG in the first set of LAGs, port identifiers of ports included in said each LAG;

determine whether a provisional LAG configuration for the one or more LAGs of the second network device exists on the network device, the provisional LAG configuration specifying a second set of LAGs for the second network device and, for each LAG in the second set of LAGs, port identifiers of ports included in said each LAG;

if the provisional LAG configuration does not exist on the network device:

learn the LAG configuration included in the join message; and

integrate the second network device into the system based on the learned LAG configuration; and

if the provisional LAG configuration does exist on the network device:

check whether a number of LAGs in the first set of LAGs matches a number of LAGs in the second set of LAGs; and

check whether the port IDs of ports included in said each LAG of the first set of LAGs match the port IDs of ports included in said each LAG of the second set of LAGs.

16. The network device of claim 15 wherein if the provisional LAG configuration does exist on the network device, the program code further causes the processor to: check whether the provisional LAG configuration includes an egress port of the second network device from which the join message was sent.

17. The network device of claim 15 wherein if the provisional LAG configuration does exist on the network device, the program code further causes the processor to:

determine whether a number of ports in the LAG configuration or the a number of ports in the provisional LAG configuration better matches port counts in LAG configurations of other network devices in the system of network devices that connect to the second network device.

18. A method comprising:

receiving, by a first network device in a system of network devices, a join message from a second network device in the system, the join message including a link aggregation group (LAG) configuration for one or more LAGs programmed on the second network device;

determining, by the first network device, whether a provisional LAG configuration for the one or more LAGs of the second network device exists on the first network device;

if the provisional LAG configuration does not exist on the first network device:

learning, by the first network device, the LAG configuration included in the join message; and

integrating, by the first network device, the second network device into the system based on the learned LAG configuration; and

if the provisional LAG configuration does exist on the first network device:

determining whether a number of ports in the LAG configuration or a number of ports in the provisional LAG configuration better matches port counts in LAG configurations of other network devices in the system of network devices that connect to the second network device.

19. A network device comprising:

a processor; and

a non-transitory computer readable medium having stored thereon program code that, when executed by the processor, causes the processor to:

receive a join message from a second network device in the system, the join message including a link aggregation group (LAG) configuration for one or more LAGs programmed on the second network device;

determine whether a provisional LAG configuration for the one or more LAGs of the second network device exists on the network device;

if the provisional LAG configuration does not exist on the network device:

learn the LAG configuration included in the join message; and

integrate the second network device into the system based on the learned LAG configuration; and

if the provisional LAG configuration does exist on the network device:

determining whether a number of ports in the LAG configuration or a number of ports in the provisional LAG configuration better matches port counts in LAG configurations of other network devices in the system of network devices that connect to the second network device.

Assignments (11)
SECURITY INTEREST Recorded Apr 8, 2026
From: ARRIS ENTERPRISES LLC; RUCKUS IP HOLDINGS LLC
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 075476/0814 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 2, 2025
From: ARRIS ENTERPRISES LLC
To: RUCKUS IP HOLDINGS LLC
Reel/Frame 073081/0001 →
RELEASE OF SECURITY INTEREST AT REEL/FRAME 049905/0504 Recorded Dec 19, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: ARRIS ENTERPRISES LLC (F/K/A ARRIS ENTERPRISES, INC.); ARRIS TECHNOLOGY, INC.; ARRIS SOLUTIONS, INC.; COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; RUCKUS WIRELESS, LLC (F/K/A RUCKUS WIRELESS, INC.)
Reel/Frame 071477/0255 →
SECURITY INTEREST Recorded Dec 17, 2024
From: ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE INC., OF NORTH CAROLINA; OUTDOOR WIRELESS NETWORKS LLC; RUCKUS IP HOLDINGS LLC
To: APOLLO ADMINISTRATIVE AGENCY LLC
Reel/Frame 069889/0114 →
SECURITY INTEREST Recorded Nov 19, 2021
From: ARRIS SOLUTIONS, INC.; ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE, INC. OF NORTH CAROLINA; RUCKUS WIRELESS, INC.
To: WILMINGTON TRUST
Reel/Frame 060752/0001 →
ABL SECURITY AGREEMENT Recorded Jul 3, 2019
From: COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; ARRIS ENTERPRISES LLC; ARRIS TECHNOLOGY, INC.; RUCKUS WIRELESS, INC.; ARRIS SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 049892/0396 →
PATENT SECURITY AGREEMENT Recorded Jul 3, 2019
From: ARRIS ENTERPRISES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 049820/0495 →
TERM LOAN SECURITY AGREEMENT Recorded Jul 3, 2019
From: COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; ARRIS ENTERPRISES LLC; ARRIS TECHNOLOGY, INC.; RUCKUS WIRELESS, INC.; ARRIS SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 049905/0504 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 16, 2018
From: BROCADE COMMUNICATIONS SYSTEMS LLC F/K/A BROCADE COMMUNICATIONS SYSTEMS, INC; FOUNDRY NETWORKS LLC F/K/A FOUNDRY NETWORKS INC.
To: ARRIS ENTERPRISES LLC
Reel/Frame 045600/0755 →
CHANGE OF NAME Recorded Dec 13, 2017
From: BROCADE COMMUNICATIONS SYSTEMS, INC.
To: BROCADE COMMUNICATIONS SYSTEMS LLC
Reel/Frame 044861/0618 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 26, 2016
From: LIN, KWUN-NAN KEVIN; AGARWAL, BIPIN
To: BROCADE COMMUNICATIONS SYSTEMS, INC.
Reel/Frame 039860/0547 →
Continuity (2)
Provisional Application 62239378 · Oct 9, 2015
Related Publication 20170104626A1 · Apr 13, 2017