IP Library Granted Patent US 8,472,452
Granted Patent B2
US 8,472,452 · App. 13/565,422 · Granted Jun 25, 2013

Lookup cluster complex

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 8,472,452
App. No.
13/565,422
Granted
Jun 25, 2013
Kind
B2
Abstract

A packet processor provides for rule matching of packets in a network architecture. The packet processor includes a lookup cluster complex having a number of lookup engines and respective on-chip memory units. The on-chip memory stores rules for matching against packet data. Each of the lookup engines receives a key request associated with a packet and determines a subset of the rules to match against the packet data. As a result of the rule matching, the lookup engine returns a response message indicating whether a match is found.

Claims (41)

1. A method of processing a packet comprising:

receiving a key request including a key and a table identifier (TID), the key including data extracted from a packet;

parsing the key to extract at least one field;

selecting at least one entry in a tree access table indicated by the TID, the entry providing a starting address of a path to a set of rules stored in a memory;

processing the entry, based on the at least one field, to determine at least one bucket, the at least one bucket including pointers to a subset of rules, the subset of rules being a portion of the set of rules;

retrieving the subset of rules from the memory;

applying the at least one field against the subset of rules; and

outputting a response signal indicating whether the at least one field matches at least one rule of the subset of rules.

2. The method of claim 1 , wherein the key request includes a key format table index.

3. The method of claim 2 , wherein parsing the key is based on the key format table index.

4. The method of claim 1 , wherein the set of rules is a portion of rules stored in the memory.

5. The method of claim 1 , wherein the at least one bucket includes a plurality of buckets.

6. The method of claim 5 , wherein the entry includes a node associated with the plurality of buckets.

7. The method of claim 6 , wherein processing the entry includes processing the node to determine the plurality of buckets.

8. The method of claim 6 , wherein the node is associated with the plurality of buckets via at least one intermediary node.

9. The method of claim 1 , wherein the subset of rules is ordered by priority.

10. The method of claim 9 , wherein the at least one field is applied against the subset of rules in a descending order of priority.

11. The method of claim 10 , wherein the response signal is output after a first match between the at least one field and the subset of rules is located.

12. The method of claim 11 , wherein applying the at least one field against the subset of rules is stopped after the first match is located.

13. The method of claim 1 , wherein selecting at least one entry in a tree access table indicated by the TID includes selecting a plurality of entries.

14. The method of claim 13 , further comprising selecting among a plurality of match results based on a predetermined priority, each match result corresponding to one of the plurality of entries.

15. An apparatus for processing a packet comprising:

a tree walk engine (TWE) configured to:

receive a key request including a key and a table identifier (TID),

the key including data extracted from a packet;

parse the key to extract at least one field;

select at least one entry in a tree access table indicated by the TID, the entry providing a starting address of a set of rules stored in a memory; and

process the entry, based on the at least one field, to determine at least one bucket, the at least one bucket including pointers to a subset of rules, the subset of rules being a portion of the set of rules;

a bucket-walk engine (BWE) configured to retrieve the subset of rules from the memory;

a rule-matching engine (RME) configured to apply the at least one field against the subset of rules and output a response signal indicating whether the at least one field matches at least one of the subset of rules.

16. The apparatus of claim 15 , wherein the key request includes a key format table index.

17. The apparatus of claim 16 , wherein parsing the key is based on the key format table index.

18. The apparatus of claim 15 , wherein the set of rules is a portion of rules stored in the memory.

19. The method of claim 15 , wherein the at least one bucket includes a plurality of buckets.

20. The method of claim 19 , wherein the entry includes a node associated with the plurality of buckets.

21. The apparatus of claim 20 , wherein processing the entry includes processing the node to determine the plurality of buckets.

22. The apparatus of claim 20 , wherein the node is associated with the plurality of buckets via at least one intermediary node.

23. The apparatus of claim 15 , wherein the subset of rules is ordered by priority.

24. The apparatus of claim 23 , wherein the at least one field is applied against the subset of rules in a descending order of priority.

25. The apparatus of claim 24 , wherein the response signal is output after a first match between the at least one field and the subset of rules is located.

26. The apparatus of claim 25 , wherein applying the at least one field against the subset of rules is stopped after the first match is located.

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 →
CERTIFICATE OF CONVERSION AND CERTIFICATE OF FORMATION Recorded Oct 2, 2018
From: CAVIUM, INC.
To: CAVIUM, LLC
Reel/Frame 047185/0422 →
RELEASE OF SECURITY INTEREST Recorded Jul 6, 2018
From: JP MORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: CAVIUM, INC; CAVIUM NETWORKS LLC; QLOGIC CORPORATION
Reel/Frame 046496/0001 →
SECURITY AGREEMENT Recorded Aug 17, 2016
From: CAVIUM, INC.; CAVIUM NETWORKS LLC
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 039715/0449 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 16, 2012
From: GOYAL, RAJAN; BOUCHARD, GREGG A.
To: CAVIUM, INC.
Reel/Frame 029137/0027 →