IP Library Granted Patent US 10,218,641
Granted Patent B2
US 10,218,641 · App. 15/276,579 · Granted Feb 26, 2019

Handling dynamic cascade port/LAG changes in a non-blocking manner

Inventors: Kwun-Nan Kevin Lin (Saratoga, CA); Bipin Agarwal (San Jose, CA)
Assignee: ARRIS Enterprises LLC
H04L49/30H04L12/4641H04L45/586
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,218,641
App. No.
15/276,579
Granted
Feb 26, 2019
Kind
B2
Abstract

Techniques for handling dynamic cascade port/LAG changes in an extended bridge are provided. According to one embodiment, a first network device in an extended bridge can maintain a shadow table that stores information regarding one or more ports and one or more LAGs used to interconnect the network devices in the extended bridge. The first network device can further receive, from a user via a device UI, a command relating to a change to a port or a LAG, update the shadow table based on the change, transmit a change message to one or more other network devices affected by the change, and start a timer associated with the one or more other network devices. In various embodiments, the updating and the transmitting can be performed without blocking the user from entering further commands via the device UI.

Claims (92)

1. A method comprising:

maintaining, by a first network device in a system of network devices, a shadow table that stores information regarding one or more ports and one or more link aggregation groups (LAGs) used to interconnect the network devices in the system;

receiving, by the first network device from a user via a device user interface (UI), a first command relating to a change to at least a first port or a first link aggregation group (LAG) in the one or more ports or the one or more LAGs;

updating, by the first network device, the shadow table based on the change;

transmitting, by the first network device, a first message to one or more other network devices in the system that are affected by the change, the first message comprising information about the change; and

starting, by the first network device, a timer associated with the one or more other network devices,

wherein the updating and the transmitting are performed without blocking the user from entering further commands via the device UI,

wherein the first message is received by a second network device in the system that is affected by the change,

wherein, upon receipt of the first message, the second network device is configured to start a local timer, and

wherein, upon expiration of the local timer, the second network device is configured to program the change into its hardware.

2. The method of claim 1 further comprising:

receiving, from the user via the device UI, a second command relating to a change to at least a second port or a second LAG in the one or more ports or the one or more LAGs, wherein the change to the second port or the second LAG also affects the one or more other network devices affected by the change to the first port or the first LAG;

updating the shadow table based on the change to the second port or the second LAG;

restarting the timer associated with the one or more other network devices; and

transmitting a second message to the one or more other network devices, the second message comprising information about the change to the second port or the second LAG.

3. The method of claim 2 wherein, if the timer has not yet expired upon receipt of the second message, the second network device is configured to restart the local timer.

4. The method of claim 1 further comprising, prior to transmitting the first message:

validating the change based on contents of the updated table.

5. The method of claim of claim 4 wherein the validating comprises:

verifying that the first port or all ports in the first LAG have the same configured speed.

6. The method of claim of claim 4 wherein the validating comprises:

verifying that the first port or all ports in the first LAG are not part of a tagged VLAN (Virtual Local Area Network).

7. The method of claim of claim 4 wherein the validating comprises:

verifying that the first port or all ports in the first LAG are not used in OSPF (Open Shortest Path First) OSPF or PIM (Protocol Independent Multicast) protocols.

8. The method of claim of claim 4 wherein the validating comprises:

verifying that the change results in the same number of ports at both ends of a link or trunk connected to the first port or the first LAG.

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 9 wherein the first command relates to a dynamic change to a live cascade link or trunk in the extended bridge.

11. The method of claim 1 further comprising, prior to transmitting the first message:

receiving, from the user via the device UI, one or more further commands relating to changes to the one or more ports or the one or more LAGs, the one or more further commands being received within a predefined time interval from the first command; and

updating the shadow table based on the one or more further commands,

wherein the first message comprises an aggregated set of change information derived from the first command and the one or more further commands.

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:

maintain a shadow table storing information regarding one or more ports and one or more link aggregation groups (LAGs) used to interconnect the network devices in the system;

receive, from a user via a device user interface (UI), a first command relating to a change to at least a first port or a first link aggregation group (LAG) in the one or more ports or the one or more LAGs;

update the shadow table based on the change;

transmit a first message to every one or more other network devices in the system that are affected by the change, the first message comprising information about the change; and

start a timer associated with the one or more other network devices,

wherein the updating and the transmitting are performed without blocking the user from entering further commands via the device UI,

wherein the first message is received by a second network device in the system that is affected by the change,

wherein, upon receipt of the first message, the second network device is configured to start a local timer, and

wherein, upon expiration of the local timer, the second network device is configured to program the change into its hardware.

13. The non-transitory computer readable storage medium of claim 12 wherein the program code further causes the network device to:

receive, from the user via the device UI, a second command relating to a change to at least a second port or a second LAG in the one or more ports or the one or more LAGs, wherein the change to the second port or the second LAG also affects the one or more other network devices affected by the change to the first port or the first LAG;

update the shadow table based on the change to the second port or the second LAG;

restart the timer associated with the one or more other network devices; and

transmit a second message to the one or more other network devices, the second message comprising information about the change to the second port or the second LAG.

14. The non-transitory computer readable storage medium of claim 13 wherein, if the timer has not yet expired upon receipt of the second message, the second network device is configured to restart the local timer.

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:

maintain a shadow table storing information regarding one or more ports and one or more link aggregation groups (LAGs) used to interconnect the network devices in the system;

receive, from a user via a device user interface (UI), a first command relating to a change to at least a first port or a first link aggregation group (LAG) in the one or more ports or the one or more LAGs;

update the shadow table based on the change;

transmit a first message to one or more other network devices in the system that are affected by the change, the first message comprising information about the change, and

start a timer associated with the one or more other network devices,

wherein the updating and the transmitting are performed without blocking the user from entering further commands via the device UI,

wherein the first message is received by a second network device in the system that is affected by the change,

wherein, upon receipt of the first message, the second network device is configured to start a local timer, and

wherein, upon expiration of the local timer, the second network device is configured to program the change into its hardware.

16. The network device of claim 15 wherein the program code further causes the processor to:

receive, from the user via the device UI, a second command relating to a change to at least a second port or a second LAG in the one or more ports or the one or more LAGs, wherein the change to the second port or the second LAG also affects the one or more other network devices affected by the change to the first port or the first LAG;

update the shadow table based on the change to the second port or the second LAG;

restart the timer associated with the one or more other network devices; and

transmit a second message to the one or more other network devices, the second message comprising information about the change to the second port or the second LAG.

17. The network device of claim 16 wherein, if the timer has not yet expired upon receipt of the second message, the second network device is configured to restart the local timer.

18. A method comprising:

maintaining, by a first network device in a system of network devices, a shadow table that stores information regarding one or more ports and one or more link aggregation groups (LAGs) used to interconnect the network devices in the system;

receiving, by the first network device from a user via a device user interface (UI), a first command relating to a change to at least a first port or a first link aggregation group (LAG) in the one or more ports or the one or more LAGs;

updating, by the first network device, the shadow table based on the change;

validating, by the first network device, the change based on contents of the updated shadow table;

subsequently to the validating, transmitting, by the first network device, a first message to one or more other network devices in the system that are affected by the change, the first message comprising information about the change; and

starting, by the first network device, a timer associated with the one or more other network devices,

wherein the updating and the transmitting are performed without blocking the user from entering further commands via the device UI.

19. 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:

maintain a shadow table storing information regarding one or more ports and one or more link aggregation groups (LAGs) used to interconnect the network devices in the system;

receive, from a user via a device user interface (UI), a first command relating to a change to at least a first port or a first link aggregation group (LAG) in the one or more ports or the one or more LAGs;

update the shadow table based on the change;

validate the change based on contents of the updated shadow table;

subsequently to the validating, transmit a first message to every one or more other network devices in the system that are affected by the change, the first message comprising information about the change; and

start a timer associated with the one or more other network devices,

wherein the updating and the transmitting are performed without blocking the user from entering further commands via the device UI.

20. 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:

maintain a shadow table storing information regarding one or more ports and one or more link aggregation groups (LAGs) used to interconnect the network devices in the system;

receive, from a user via a device user interface (UI), a first command relating to a change to at least a first port or a first link aggregation group (LAG) in the one or more ports or the one or more LAGs;

update the shadow table based on the change;

validate the change based on contents of the updated shadow table;

subsequently to the validating, transmit a first message to one or more other network devices in the system that are affected by the change, the first message comprising information about the change, and

start a timer associated with the one or more other network devices,

wherein the updating and the transmitting are performed without blocking the user from entering further commands via the device UI.

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 →
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 →
PATENT SECURITY AGREEMENT Recorded Jul 3, 2019
From: ARRIS ENTERPRISES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 049820/0495 →
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 →
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/0472 →
Continuity (2)
Provisional Application 62239378 · Oct 9, 2015
Related Publication 20170104694A1 · Apr 13, 2017