IP Library Granted Patent US 10,855,573
Granted Patent B2
US 10,855,573 · App. 16/232,882 · Granted Dec 1, 2020

Hierarchical hardware linked list approach for multicast replication engine in a network ASIC

Inventors: Gerald Schmidt (San Jose, CA); Harish Krishnamoorthy (San Jose, CA); Tsahi Daniel (Palo Alto, CA)
Assignee: MARVELL ASIA PTE, LTD.
H04L45/04G06F16/27G06F16/9024H04L12/1854H04L12/1886H04L67/1095G06F2205/064H04L49/109H04L49/201H04L49/9015
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,855,573
App. No.
16/232,882
Granted
Dec 1, 2020
Kind
B2
Abstract

A multicast rule is represented in a hierarchical linked list with N tiers. Each tier or level in the hierarchical linked list corresponds to a network layer of a network stack that requires replication. Redundant groups in each tier are eliminated such that the groups in each tier are stored exactly once in a replication table. A multicast replication engine traverses the hierarchical linked list and replicates a packet according to each node in the hierarchical linked list.

Claims (21)

1. A method of implementing a network switch, the method comprising:

for each node of a hierarchical linked list,

replicating a packet according to instructions associated with a current node in a tier of the hierarchical linked list;

when a pointer to a node in the next tier of the hierarchical linked list is valid and a pointer to the next node in the same tier as the current node is valid, storing the pointer to the next node in the same tier as the current node in a stack and following the pointer to the node in the next tier of the hierarchical linked list;

when the pointer to the node in the next tier of the hierarchical linked list invalid and the pointer to the next node in the same tier as the current node is valid, following the pointer to the next node in the same tier as the current node; and

when the pointer to the node in the next tier of the hierarchical linked list invalid and the pointer to the next node in the same tier as the current node is invalid, removing data from the stack and returning to a node identified by the data that is removed from the stack.

2. The method of claim 1 , wherein a replication table includes a plurality of multicast rules.

3. The method of claim 2 , wherein each of the plurality of multicast rules is stored in multiple nodes arranged in a plurality of tiers.

4. The method of claim 3 , wherein each of the multiple nodes has an entry stored exactly once in the replication table.

5. The method of claim 3 , wherein at least a portion of the multiple nodes is pointed to by two or more of the plurality of multicast rules.

6. The method of claim 1 , wherein a trunk is the first tier of the hierarchical linked list.

7. A method of implementing a network switch, the method comprising:

inputting a packet; and

for each node of a hierarchical linked list, replicating the packet according to instructions associated with a current node in a tier of the hierarchical linked list, wherein each node in the hierarchical linked list is stored as an entry in the replication table and at least one of the entries includes a control field having a value that indicates how to modify a copy of a packet relative to an original.

8. The method of claim 7 , wherein each tier in the hierarchical linked list corresponds to a network layer of a network stack that requires replication.

9. The method of claim 7 , wherein the entry includes N pointer fields.

10. The method of claim 9 , wherein a first pointer field of the N pointer fields for a node in the ith tier of the hierarchical linked list includes a pointer to the next node in the ith tier of the hierarchical linked list or a NULL value.

11. The method of claim 10 , wherein a second pointer field of the N pointer fields for the node in the ith tier of the hierarchical linked list includes a pointer to a node in the (i+1)th tier of the hierarchical linked list or a NULL value.

12. The method of claim 11 , wherein the node in the (i+1)th tier of the hierarchical linked list is the first node in a linked list.

13. The method of claim 7 , further comprising a forwarding engine, wherein the forwarding engine derives an entry point into the replication table.

14. The method of claim 7 , further comprising a stack, wherein the depth of the stack is N.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2020
From: CAVIUM INTERNATIONAL
To: MARVELL ASIA PTE, LTD.
Reel/Frame 053179/0320 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 17, 2020
From: CAVIUM, LLC
To: CAVIUM INTERNATIONAL
Reel/Frame 051948/0807 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 26, 2018
From: SCHMIDT, GERALD; KRISHNAMOORTHY, HARISH; DANIEL, TSAHI
To: XPLIANT, INC.
Reel/Frame 047854/0711 →
MERGER Recorded Dec 26, 2018
From: XPLIANT, INC.
To: CAVIUM NETWORKS LLC
Reel/Frame 047854/0730 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 26, 2018
From: CAVIUM NETWORKS LLC
To: CAVIUM, INC.
Reel/Frame 047854/0750 →
CHANGE OF NAME Recorded Dec 26, 2018
From: CAVIUM, INC.
To: CAVIUM, LLC
Reel/Frame 047985/0167 →