Programmable packet parsing processor
First Claim
1. A packet parsing processor, comprising:
- a state-graph unit to store parsing instructions for content inspection of network packets at memory locations representative of packet parsing states; and
a parsing engine, having an input/output coupled to an input/output of the state-graph unit to receive the parsing instructions and having an input coupled to receive a network packet, the parsing engine to execute a first parsing instruction located at a current packet parsing state against a byte steam from the network packet to determine a next packet parsing state.
0 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides a packet processing device and method. A parsing processor provides instruction-driven content inspection of network packets at 10-Gbps and above with a parsing engine that executes parsing instructions. A flow state unit maintains statefulness of packet flows to allow content inspection across several related network packets. A state-graph unit traces state-graph nodes to keyword indications and/or parsing instructions. The parsing instructions can be derived from a high-level application to emulate user-friendly parsing logic. The parsing processor sends parsed packets to a network processor unit for further processing.
45 Citations
52 Claims
-
1. A packet parsing processor, comprising:
-
a state-graph unit to store parsing instructions for content inspection of network packets at memory locations representative of packet parsing states; and
a parsing engine, having an input/output coupled to an input/output of the state-graph unit to receive the parsing instructions and having an input coupled to receive a network packet, the parsing engine to execute a first parsing instruction located at a current packet parsing state against a byte steam from the network packet to determine a next packet parsing state. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. In a packet parsing processor, a method comprising:
-
storing parsing instructions for content inspection of network packets at memory locations representative of packet parsing states;
receiving a first parsing instruction and a network packet; and
executing a first parsing instruction located at a current packet parsing state against a byte stream of the network packet to determine a next packet parsing state. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
-
-
33. A packet parsing processor, comprising:
-
means for storing parsing instructions for content inspection of network packets at memory locations representative of packet parsing states;
means for receiving a first parsing instruction and a network packet; and
means for executing, coupled to the means for storing and the means for receiving, the means for executing performing an action on a first parsing instruction located at a current packet parsing state against a byte stream of the network packet to determine a next packet parsing state. - View Dependent Claims (34, 35, 36, 37, 38, 39, 40, 41, 42)
-
-
43. A computer program product, comprising a computer-readable medium having computer program instructions and data embodied thereon for a method of parsing packets in a packet parsing processor, the method comprising:
-
storing parsing instructions for content inspection of network packets at memory locations representative of packet parsing states;
receiving a first parsing instruction and a network packet; and
executing a first parsing instruction located at a current packet parsing state against a byte stream of the network packet to determine a next packet parsing state. - View Dependent Claims (44, 45, 46, 47, 48, 49, 50, 51)
-
-
52. A network device having a processor and a memory, comprising:
-
a state-graph unit to store parsing instructions for content inspection of network packets at memory locations representative of packet parsing states; and
a parsing engine, having an input/output coupled to an input/output of the state-graph unit to receive the parsing instructions and having an input coupled to receive a network packet, the parsing engine to execute a first parsing instruction located at a current packet parsing state against a byte steam from the network packet to determine a next packet parsing state.
-
Specification