A reprogrammable packet processing system for processing a stream of data
is disclosed herein. A reprogrammable data processor is implemented with
a programmable logic device (PLD), such as a field programmable gate
array (FPGA), that is programmed to determine whether a stream of data
applied thereto includes a string that matches a redefinable data
pattern. If a matching string is found, the data processor performs a
specified action in response thereto. The data processor is
reprogrammable to search packets for the presence of different data
patterns and/or perform different actions when a matching string is
detected. A reconfiguration device receives input from a user specifying
the data pattern and action, processes the input to generate the
configuration information necessary to reprogram the PLD, and transmits
the configuration information to the packet processor for reprogramming
thereof.