Generating and merging lookup results to apply multiple features
First Claim
1. A method for indentifying a merged lookup result, the method comprising:
- identifying an access control list including a plurality of access control list entries;
identifying a first set of access control list entries corresponding to a first feature of said plurality of access control list entries;
programming a first associative memory bank and a first adjunct memory with first associative memory entries corresponding to the first set of access control list entriesidentifying a second set of access control list entries corresponding to a second feature of said plurality of access control list entries; and
programming a second associative memory bank and a second adjunct memory with second associative memory entries corresponding to the second set of access control list entries;
wherein said first associative memory entries have a higher lookup precedence than said second associative memory entries.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods, apparatus, and other mechanisms are disclosed for merging lookup results, such as from one or more associative memory banks and/or memory devices. An access list is identified. A first set of entries corresponding to a first feature of the access control list entries and a second set of entries corresponding to a second feature of the access control list entries are identified. First and second associative memory banks are programmed respectively based on the first and second sets of entries. Lookup operations are then typically performed substantially simultaneously on the first and second sets of associative memory entries programmed in the associative memory banks to generate multiple lookup results, with these results typically being identified directly, or via a lookup operation in an adjunct memory or other storage mechanism. These lookup results are then combined to generate a merged lookup result.
111 Citations
20 Claims
-
1. A method for indentifying a merged lookup result, the method comprising:
-
identifying an access control list including a plurality of access control list entries; identifying a first set of access control list entries corresponding to a first feature of said plurality of access control list entries; programming a first associative memory bank and a first adjunct memory with first associative memory entries corresponding to the first set of access control list entries identifying a second set of access control list entries corresponding to a second feature of said plurality of access control list entries; and programming a second associative memory bank and a second adjunct memory with second associative memory entries corresponding to the second set of access control list entries; wherein said first associative memory entries have a higher lookup precedence than said second associative memory entries. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for identifying a merged lookup result, the method comprising:
-
identifying a packet; identifying a first lookup value; performing substantially simultaneous lookup operations in a plurality of associative memories and adjunct memories to generate a plurality of first lookup results; merging the plurality of first lookup results to identify a merged first result; identifying a second lookup value; performing substantially simultaneous lookup operations in the plurality of associative memories and adjunct memories to generate a plurality of second lookup results; and merging the plurality of second lookup results and the merged first result to identify a merged second result. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A computer-readable medium containing computer-executable instructions for performing steps for identifying a merged lookup result, said steps comprising:
-
identifying an access control list including a plurality of access control list entries; identifying a first set of access control list entries corresponding to a first feature of said plurality of access control list entries; programming a first associative memory bank and a first adjunct memory with first associative memory entries corresponding to the first set of access control list entries identifying a second set of access control list entries corresponding to a second feature of said plurality of access control list entries; and programming a second associative memory bank and a second adjunct memory with second associative memory entries corresponding to the second set of access control list entries; wherein said first associative memory entries have a higher lookup precedence than said second associative memory entries. - View Dependent Claims (13, 14, 15, 16)
-
-
17. An apparatus for identifying a merged lookup result, the apparatus comprising:
-
means for identifying an access control list including a plurality of access control identifying an access control list including a plurality of access control list entries; means for identifying a first set of access control list entries corresponding to a first feature of said plurality of access control list entries; means for programming a first associative memory bank and a first adjunct memory with first associative memory entries corresponding to the first set of access control list entries means for identifying a second set of access control list entries corresponding to a second feature of said plurality of access control list entries; and means for programming a second associative memory bank and a second adjunct memory with second associative memory entries corresponding to the second set of access control list entries; wherein said first associative memory entries have a higher lookup precedence than said second associative memory entries. - View Dependent Claims (18)
-
-
19. An apparatus for identifying a merged lookup result, the apparatus comprising:
-
means for identifying a packet; means for identifying a first lookup value; means for performing substantially simultaneous lookup operations in a plurality of associative memories and adjunct memories to generate a plurality of first lookup results; means for merging the plurality of first lookup results to identify a merged first result; means for identifying a second lookup value; means for performing substantially simultaneous lookup operations in the plurality of associative memories and adjunct memories to generate a plurality of second lookup results; and means for merging the plurality of second lookup results and the merged first result to identify a merged second result. - View Dependent Claims (20)
-
Specification