Hardware-based packet filtering accelerator
First Claim
1. An accelerator processor for classifying data packets according to a set of rules, the accelerator processor and a host processor arranged as an integrated circuit, the accelerator processor operating in parallel with the host processor and communicating with the host processor by a parallel bus, the accelerator processor comprising:
- a bus interface coupled to the parallel bus and adapted to transfer portions of the data packets from the host processor and to return results of a classification of the data packets to the host processor;
a memory coupled to the bus interface and adapted to store a program of machine code instructions converted directly from the set of rules to be applied to the data packets and to store the results of the classification of the data packets;
a packet parser circuit coupled to the bus interface and adapted to parse each data packet portion transferred from the host processor into relevant data units and to store the relevant data units in the memory; and
a packet analysis circuit coupled to the memory and arranged to classify each data packet by executing the program of machine code instructions using the relevant data units stored in the memory.
1 Assignment
0 Petitions
Accused Products
Abstract
A data packet filtering accelerator processor operates in parallel with a host processor and is arranged on an integrated circuit with the host processor. The accelerator processor classifies data packets by executing a sequence machine code instructions converted directly from a set of rules. Portions of data packets are passed to the accelerator processor from the host processor. The accelerator processor includes packet parser circuit for parsing the data packets into relevant data units and storing the relevant data units in memory. A packet analysis circuit executes the sequence of machine code instructions converted directly from the set of rules. The machine code instruction sequence operates on the relevant data units to classify the data packet. The packet analysis circuit returns the results of the classification to the host processor by storing the classification results in a register accessible by the host processor.
-
Citations
29 Claims
-
1. An accelerator processor for classifying data packets according to a set of rules, the accelerator processor and a host processor arranged as an integrated circuit, the accelerator processor operating in parallel with the host processor and communicating with the host processor by a parallel bus, the accelerator processor comprising:
-
a bus interface coupled to the parallel bus and adapted to transfer portions of the data packets from the host processor and to return results of a classification of the data packets to the host processor;
a memory coupled to the bus interface and adapted to store a program of machine code instructions converted directly from the set of rules to be applied to the data packets and to store the results of the classification of the data packets;
a packet parser circuit coupled to the bus interface and adapted to parse each data packet portion transferred from the host processor into relevant data units and to store the relevant data units in the memory; and
a packet analysis circuit coupled to the memory and arranged to classify each data packet by executing the program of machine code instructions using the relevant data units stored in the memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
22. A method for classifying data packets in accordance with a set of rules, comprising:
-
storing in a memory unit of an accelerator processor a program of machine code instructions converted directly from the set of rules;
transferring one or more portions of the data packets from a host processor to the accelerator processor;
parsing portions of the data packets into relevant data units and storing the relevant data units in the memory unit of the accelerator processor;
classifying each data packet by executing the program of machine code instructions in the accelerator processor using the relevant data units; and
returning results of the classification from the accelerator processor to the host processor. - View Dependent Claims (23, 24, 25, 26, 27, 28)
-
-
29. A system for classifying data packets, comprising:
-
means for storing in a memory unit of an accelerator processor a program of machine code instructions converted directly from the set of rules;
means for transferring one or more portions of the data packets from a host processor to the accelerator processor;
means for parsing portions of the data packets into relevant data units and storing the relevant data units in the memory unit of the accelerator processor;
means for classifying each data packet by executing the program of machine code instructions in the accelerator processor using the relevant data units; and
means for returning results of the classification from the accelerator processor to the host processor.
-
Specification