IP Library Granted Patent US 9,853,889
Granted Patent B2
US 9,853,889 · App. 14/171,152 · Granted Dec 26, 2017

Broadcast and multicast traffic reduction in stacking systems

Inventors: Kwun-Nan Kevin Lin (Saratoga, CA); Shafiuddin Mohammed (Fremont, CA); Tao Guan (Cupertino, CA); Vishal Sinha (Union City, CA)
Assignee: Brocade Communications Systems, Inc.
H04L45/48H04L12/1886H04L12/4641H04L45/18
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,853,889
App. No.
14/171,152
Granted
Dec 26, 2017
Kind
B2
Abstract

Techniques for reducing broadcast and multicast traffic in a stacking system are provided. In one embodiment, a master device in the stacking system can automatically determine a minimal set of VLAN associations for stacking links in the stacking system. The minimal set of VLAN associations can avoid unnecessary transmission of broadcast or multicast packets through the system's topology.

Claims (64)

1. A method comprising:

determining, by a master device in a stacking system, a minimal set of virtual local area network (VLAN) associations for stacking links in the stacking system,

wherein the determining is based on a set of single-source spanning trees calculated in view of the stacking system's topology, each single-source spanning tree defining one or more paths from a root device in the stacking system to one or more other devices in the stacking system,

wherein the minimal set of VLAN associations avoids transmission of broadcast or multicast traffic to each device in the stacking system that does not have a data port in a VLAN associated with the broadcast or multicast traffic, and

wherein the determining comprises:

for each single-source spanning tree in the set of single-source spanning trees, upon determining that the root device and a non-root device of the single-source spanning tree have one or more data ports in a common VLAN, creating a VLAN association between the common VLAN and each stacking link in a path between the root device and the non-root device in the single-source spanning tree.

2. The method of claim 1 wherein the determining comprises:

creating a device VLAN bitmask for each device in the stacking system, wherein the device VLAN bitmask identifies VLANs of which the device's data ports are members.

3. The method of claim 1 wherein the determining comprises:

creating a link VLAN bitmask for each stacking link in the stacking system, wherein the link VLAN bitmask represents VLAN associations for the stacking link; and

initializing each link VLAN bitmask to zero.

4. The method of claim 3 wherein the determining comprises:

for each single-source spanning tree in the set of single-source spanning trees:

for each non-root device in the single-source spanning tree:

creating a common bitmask by executing a logical AND of a device VLAN bitmask for the root device of the single-source spanning tree and a device VLAN bitmask for the non-root device; and

when the common bitmask is non-zero, walking up the single-source spanning tree from the non-root device to the root device.

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

determining when a stacking link has been traversed; and

updating the link VLAN bitmask for the stacking link by executing a logical OR of the link VLAN bitmask and the common bitmask.

6. The method of claim 1 further comprising:

causing VLANs to be assigned to stacking ports in the stacking system in accordance with the minimal set of VLAN associations.

7. The method of claim 1 wherein the master device re-determines the minimal set of VLAN associations when the stacking system's topology changes.

8. The method of claim 1 wherein the master device re-determines the minimal set of VLAN associations when VLAN membership of one or more data ports in the stacking system changes.

9. The method of claim 1 wherein the stacking system's topology is an arbitrary mesh-like topology.

10. The method of claim 1 wherein the stacking links comprise higher bandwidth links and lower bandwidth links.

11. A non-transitory computer readable medium having stored thereon program code executable by a processor, the program code comprising:

code that causes the processor to determine a minimal set of virtual local area network (VLAN) associations for stacking links in a stacking system,

wherein the determining is based on a set of single-source spanning trees calculated in view of the stacking system's topology, each single-source spanning tree defining one or more paths from a root device in the stacking system to one or more other devices in the stacking system,

wherein the minimal set of VLAN associations avoids transmission of broadcast or multicast traffic to each device in the stacking system that does not have a data port in a VLAN associated with the broadcast or multicast traffic, and

wherein the determining comprises:

for each single-source spanning tree in the set of single-source spanning trees, upon determining that the root device and a non-root device of the single-source spanning tree have one or more data ports in a common VLAN, creating a VLAN association between the common VLAN and each stacking link in a path between the root device and the non-root device in the single-source spanning tree.

12. The non-transitory computer readable medium of claim 11 wherein the code that causes the processor to determine the minimal set of VLAN associations comprises:

code that causes the processor to create a device VLAN bitmask for each device in the stacking system, wherein the device VLAN bitmask identifies VLANs of which the device's data ports are members.

13. The non-transitory computer readable medium of claim 11 wherein the code that causes the processor to determine the minimal set of VLAN associations comprises:

code that causes the processor to create a link VLAN bitmask for each stacking link in the stacking system, wherein the link VLAN bitmask represents VLAN associations for the stacking link; and

initialize each link VLAN bitmask to zero.

14. The non-transitory computer readable medium of claim 13 wherein the code that causes the processor to determine the minimal set of VLAN associations comprises:

for each single-source spanning tree in the set of single-source spanning trees:

for each non-root device in the single-source spanning tree:

code that causes the processor to create a common bitmask by executing a logical AND of a device VLAN bitmask for the root device of the single-source spanning tree and a device VLAN bitmask for the non-root device; and

when the common bitmask is non-zero, code that causes the processor to walk up the single-source spanning tree from the non-root device to the root device.

15. The non-transitory computer readable medium of claim 14 wherein the code that causes the processor to walk up the single-source spanning tree comprises:

code that causes the processor to determine when a stacking link has been traversed; and

code that causes the processor to update the link VLAN bitmask for the stacking link by executing a logical OR of the link VLAN bitmask and the common bitmask.

16. A network device comprising:

a processor; and

a non-transitory computer readable medium having stored thereon program code which, when executed by the processor, causes the processor to determine a minimal set of virtual local area network (VLAN) associations for stacking links in a stacking system,

wherein the determining is based on a set of single-source spanning trees calculated in view of the stacking system's topology, each single-source spanning tree defining one or more paths from a root device in the stacking system to one or more other devices in the stacking system,

wherein the minimal set of VLAN associations avoids transmission of broadcast or multicast traffic to each device in the stacking system that does not have a data port in a VLAN associated with the broadcast or multicast traffic, and

wherein the determining comprises:

for each single-source spanning tree in the set of single-source spanning trees, upon determining that the root device and a non-root device of the single-source spanning tree have one or more data ports in a common VLAN, creating a VLAN association between the common VLAN and each stacking link in a path between the root device and the non-root device in the single-source spanning tree.

17. The network device of claim 16 wherein the program code that causes the processor to determine the minimal set of VLAN associations comprises:

code that causes the processor to create a device VLAN bitmask for each device in the stacking system, wherein the device VLAN bitmask identifies VLANs of which the device's data ports are members.

18. The network device of claim 16 wherein the program code that causes the processor to determine the minimal set of VLAN associations comprises:

code that causes the processor to create a link VLAN bitmask for each stacking link in the stacking system, wherein the link VLAN bitmask represents VLAN associations for the stacking link; and

initialize each link VLAN bitmask to zero.

19. The network device of claim 18 wherein the program code that causes the processor to determine the minimal set of VLAN associations comprises:

for each single-source spanning tree in the set of single-source spanning trees:

for each non-root device in the single-source spanning tree:

code that causes the processor to create a common bitmask by executing a logical AND of a device VLAN bitmask for the root device of the single-source spanning tree and a device VLAN bitmask for the non-root device; and

when the common bitmask is non-zero, code that causes the processor to walk up the single-source spanning tree from the non-root device to the root device.

20. The network device of claim 19 wherein the program code that causes the processor to walk up the single-source spanning tree comprises:

code that causes the processor to determine when a stacking link has been traversed; and

code that causes the processor to update the link VLAN bitmask for the stacking link by executing a logical OR of the link VLAN bitmask and the common bitmask.

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 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2024
From: ARRIS ENTERPRISES LLC
To: RUCKUS IP HOLDINGS LLC
Reel/Frame 066399/0561 →
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 Feb 3, 2014
From: LIN, KWUN-NAN KEVIN; MOHAMMED, SHAFIUDDIN; GUAN, TAO; SINHA, VISHAL
To: BROCADE COMMUNICATIONS SYSTEMS, INC.
Reel/Frame 032120/0877 →
Continuity (2)
Provisional Application 61825449 · May 20, 2013
Related Publication 20140341080A1 · Nov 20, 2014