IP Library Granted Patent US 9,148,387
Granted Patent B2
US 9,148,387 · App. 14/207,146 · Granted Sep 29, 2015

Hardware hash table virtualization in multi-packet processor networking systems

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,148,387
App. No.
14/207,146
Granted
Sep 29, 2015
Kind
B2
Abstract

Techniques for virtualizing hardware hash tables in a networking system are provided. In one embodiment, the networking system can maintain a plurality of virtual hash tables corresponding to a plurality of hardware hash tables in the networking system. For each hardware hash table and its corresponding virtual hash table, the networking system can intercept operations directed to the hardware hash table and apply the intercepted operations to the virtual hash table. The networking system can then selectively install and/or uninstall virtual hash table entries to/from the hardware hash table in view of the operations.

Claims (51)

1. A method comprising:

maintaining, by a networking system, a plurality of virtual hash tables corresponding to a plurality of hardware hash tables in the networking system; and

for each hardware hash table and its corresponding virtual hash table:

intercepting, by the networking system, operations directed to the hardware hash table;

applying, by the networking system, the intercepted operations to the virtual hash table; and

selectively installing, by the networking system, entries in the virtual hash table to the hardware hash table.

2. The method of claim 1 wherein the plurality of hardware hash tables have varying sizes.

3. The method of claim 1 wherein each virtual hash table in the plurality of virtual hash tables is larger in size than the smallest hardware hash table in the plurality of hardware hash tables.

4. The method of claim 1 wherein the plurality of virtual hash tables are virtual MAC tables and wherein the plurality of hardware hash tables are hardware MAC tables.

5. The method of claim 1 wherein the networking system comprises a plurality of packet processors, and wherein each hardware hash table in the plurality of hardware hash tables is associated with a packet processor in the plurality of packet processors.

6. The method of claim 5 wherein selectively installing entries in the virtual hash table to the hardware hash table comprises, for a first virtual hash table entry:

determining whether a VLAN identifier included in the first virtual hash table entry is associated with a data port managed by the hardware hash table's associated packet processor.

7. The method of claim 6 wherein the selectively installing further comprises, if the VLAN identifier is associated with a data port managed by the hardware hash table's associated packet processor:

computing a hash index by hashing one or more fields of the first virtual hash table entry;

determining a set of hardware hash table entries in the hardware hash table corresponding to the hash index; and

if there is an unoccupied entry in set of hardware hash table entries, installing the first virtual hash table entry to the unoccupied entry.

8. The method of claim 7 wherein the selectively installing further comprises, if all entries in the set of hardware hash table entries are already occupied with virtual hash table entries in the virtual hash table:

checking for an occupied entry in the set of hardware hash table entries that has a corresponding virtual hash table entry with a lower priority than the first virtual hash table entry; and

if such an occupied entry is found:

clearing the occupied entry; and

installing the first virtual hash table entry to the cleared entry.

9. The method of claim 1 further comprising, for each virtual hash table and its corresponding hardware hash table:

selectively uninstalling entries in the virtual hash table from the hardware hash table.

10. The method of claim 9 wherein selectively uninstalling entries in the virtual hash table from the hardware hash table comprises, for a first virtual hash table entry:

identifying an entry in the hardware hash table occupied with the first virtual hash table entry; and

clearing the entry.

11. The method of claim 10 wherein the selectively uninstalling further comprises:

identifying a second virtual hash table entry that is in the same hash bucket as the first virtual hash table entry and that is not installed in the hardware hash table; and

installing the second virtual hash table entry to the cleared entry.

12. The method of claim 1 wherein the networking system is a stacking system comprising a plurality of stackable devices, and wherein each hardware hash table in the plurality of hardware hash tables is resident on a different stackable device in the plurality of stackable devices.

13. The method of claim 12 wherein the intercepting and the applying are performed by a master device in the plurality of stackable devices.

14. The method of claim 1 wherein the networking system is a chassis-based system comprising a plurality of line cards, and wherein each hardware hash table in the plurality of hardware hash tables is resident on a different line card in the plurality of line cards.

15. A non-transitory computer readable medium having stored thereon program code executable by one or more processors of a networking system, the program code comprising:

code that causes the one or more processors to maintain a plurality of virtual hash tables corresponding to a plurality of hardware hash tables in the networking system; and

for each hardware hash table and its corresponding virtual hash table:

code that causes the one or more processors to intercept operations directed to the hardware hash table;

code that causes the one or more processors to apply the intercepted operations to the virtual hash table; and

code that causes the one or more processors to selectively install entries in the virtual hash table to the hardware hash table.

16. The non-transitory computer readable medium of claim 15 wherein the plurality of hardware hash tables have varying sizes.

17. The non-transitory computer readable medium of claim 15 wherein each virtual hash table in the plurality of virtual hash tables is larger in size than the smallest hardware hash table in the plurality of hardware hash tables.

18. A networking system comprising:

one or more processors;

a plurality of hardware hash tables; and

a non-transitory computer readable medium having stored thereon program code which, when executed by the one or more processors, causes the one or more processors to:

maintain a plurality of virtual hash tables corresponding to the plurality of hardware hash tables; and

for each hardware hash table and its corresponding virtual hash table:

intercept operations directed to the hardware hash table;

apply the intercepted operations to the virtual hash table; and

selectively install entries in the virtual hash table to the hardware hash table.

19. The networking system of claim 18 wherein the plurality of hardware hash tables have varying sizes.

20. The networking system of claim 18 wherein each virtual hash table in the plurality of virtual hash tables is larger in size than the smallest hardware hash table in the plurality of hardware hash tables.

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 →
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 →
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 Mar 18, 2014
From: LIN, KWUN-NAN KEVIN; CHINDAPHORN, PIYA; BHATTACHARYYA, ARIJIT; GOWTHAMAN, RAMESH; SINHA, VISHAL
To: BROCADE COMMUNICATIONS SYSTEMS, INC.
Reel/Frame 032462/0503 →