Programmable hash-tuple generation with parallel rule implementation independence
First Claim
Patent Images
1. An apparatus comprising:
- matching logic configured to concurrently evaluate packet header information against respective entries of a rule set coded in storage; and
a hash generator for calculating a hash result relative to the evaluated packet information, the hash generator including intermediate and final portions and a filtration stage coupled therebetween,wherein the intermediate portion is configured as a chain of hash-intermediate stages each coupled to calculate a rule entry evaluation-specific contribution for possible inclusion in the hash and, for lower-order ones of the hash-intermediate stages, for possible propagation down chain and inclusion in a next higher-order hash-intermediate stage contribution, andwherein the filtration stage is selective for a rule entry-specific contribution from a particular one of the hash-intermediate stages for supply to the final portion for use in completing calculation of the hash result.
25 Assignments
0 Petitions
Accused Products
Abstract
Techniques have been developed to facilitate concurrent evaluation of hash rule entries in ways that allow an implementation to maintain a deterministic resultant hash irrespective of variations in the allocation of particular rules to particular storage banks or evaluation logic, such as may occur with rule set revisions. Similarly, uniform deterministic hash results can be assured even across a range of implementations that support greater or lesser levels of concurrent rule evaluations.
-
Citations
20 Claims
-
1. An apparatus comprising:
-
matching logic configured to concurrently evaluate packet header information against respective entries of a rule set coded in storage; and a hash generator for calculating a hash result relative to the evaluated packet information, the hash generator including intermediate and final portions and a filtration stage coupled therebetween, wherein the intermediate portion is configured as a chain of hash-intermediate stages each coupled to calculate a rule entry evaluation-specific contribution for possible inclusion in the hash and, for lower-order ones of the hash-intermediate stages, for possible propagation down chain and inclusion in a next higher-order hash-intermediate stage contribution, and wherein the filtration stage is selective for a rule entry-specific contribution from a particular one of the hash-intermediate stages for supply to the final portion for use in completing calculation of the hash result. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method of generating a hash in correspondence with evaluation of packet header information against constituent rule entries of a rule base, the method comprising:
-
concurrently performing plural evaluations of the packet header information against respective ones of the rule entries retrieved from storage; calculating the hash relative to the evaluated packet information using logic partitioned into intermediate and final portions, wherein the intermediate portion of the hash calculating is performed using a chain of stages each coupled to supply a rule entry evaluation-specific contribution for possible inclusion in the hash and, for lower-order ones of the stages, to selectively propagate down chain a rule entry evaluation-specific contribution for possible inclusion in a next higher-order stage contribution, and filtering the rule entry evaluation-specific contributions to select a particular one for supply to the final portion of the hash calculating. - View Dependent Claims (16, 17, 18, 19)
-
-
20. An apparatus comprising:
-
means for concurrently performing plural evaluations of the packet header information against respective ones of the rule entries retrieved from storage; means for calculating the hash relative to the evaluated packet information using logic partitioned into intermediate and final portions, wherein the intermediate portion of the hash calculating is performed using a chain of stages each coupled to supply a rule entry evaluation-specific contribution for possible inclusion in the hash and, for lower-order ones of the stages, to selectively propagate down chain a rule entry evaluation-specific contribution for possible inclusion in a next higher-order stage contribution; means for filtering the rule entry evaluation-specific contributions to select a particular one for supply to the final portion of the hash calculating; and means for repeating, relative first to an initial subset of the rule entries and thereafter for subsequent subsets thereof, both the concurrent evaluations of packet header information and the intermediate portion of the hash calculating.
-
Specification