Packet filtering for data networks
First Claim
1. A method for selectively forwarding a data packet and controlling the distribution of data packets in a computer network system, the data packet having a candidate field containing information about the data packet, the method comprising:
- configuring a target memory of a controller to contain a target hash array in steps including;
aa determining a target field and extracting a plurality of target indices from said target field, the target indices being a binary number having a value;
ab setting memory locations in the target memory corresponding to the value of each of the target indices; and
processing the data packet in steps including;
ba extracting the candidate field from the data packet;
bb extracting from the candidate field a plurality of candidate field indices;
bc comparing the values of each of the candidate field indices to the target hash array; and
bd forwarding the packet when each of the values of each of the candidate field indices corresponds to a memory location of the target hash array which was set in step ab.
3 Assignments
0 Petitions
Accused Products
Abstract
An improved partial packet filter (10) for filtering data packets (210) in a computer network (12) wherein a candidate field (413) of the data packet (210) is hashed to a plurality of bit-wise subsets (636) each being an independent representation of the candidate field (413). Each of the bit-wise subsets (636) is compared to a reference hash table (644) which has been prepared in a preliminary operation series (514). The preliminary operation series (512) configures a plurality of target fields (714) to set selected memory locations (312) in the reference hash table (644).
483 Citations
17 Claims
-
1. A method for selectively forwarding a data packet and controlling the distribution of data packets in a computer network system, the data packet having a candidate field containing information about the data packet, the method comprising:
-
configuring a target memory of a controller to contain a target hash array in steps including; aa determining a target field and extracting a plurality of target indices from said target field, the target indices being a binary number having a value; ab setting memory locations in the target memory corresponding to the value of each of the target indices; and processing the data packet in steps including; ba extracting the candidate field from the data packet; bb extracting from the candidate field a plurality of candidate field indices; bc comparing the values of each of the candidate field indices to the target hash array; and bd forwarding the packet when each of the values of each of the candidate field indices corresponds to a memory location of the target hash array which was set in step ab. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
Specification