Revision with unchanged content. Emerging network applications are shifting from routing and traffic management to those requiring inspection and modification of packet contents. Such applications act on data streams, and the requirement to process every byte of a packet exceeds the already-substantial processing capabilities of high-speed networking equipment. Network processors are application-specific processors that are optimized to bridge the gap between the performance of ASIC and the programmability of general-purpose processors. Performance on traditional network applications is impressive, but we believe that these architectures are not well-suited for the emerging packet applications. Stream architectures are specifically designed to apply a consistent set of complex operations to each of a sequence of elements. Packet processing shares many of the same characteristics of media and image processing that motivate stream architectures: little global data reuse, abundant data parallelism, and high computational complexity. Therefore, stream architectures have been proposed as efficient and flexible platforms for network packet processing.