Patent ID: 8582428

Claim:
A method for analyzing packets received from a network, comprising: receiving packets from a network at a packet processing pipeline; classifying, using the packet processing pipeline, the received packets based on information in the received packets: (1) as belonging to one of a plurality of identified flows, or (2) as not belonging to any of the plurality of identified flows; for each received packet determined not to belong to one of the previously identified flows: sending at least a portion of the packet or a corresponding packet descriptor to a processing unit separate from the packet forwarding pipeline, wherein the processing unit operates at a speed slower than an operating speed of the packet processing pipeline, analyzing the at least the portion of the packet or the corresponding packet descriptor using the processing unit, defining a new flow corresponding to the packet using the processing unit and based on the analysis of the at least the portion of the packet or the corresponding packet descriptor, configuring, using the processing unit, the packet processing pipeline so that the packet processing pipeline recognizes the new flow as a one of the plurality of identified flows, and configuring, using the processing unit, the packet processing pipeline with one or more new rules corresponding to the new flow so that packets belonging to the new flow are processed by the packet processing pipeline according to the one or more new rules.