A method of processing network data in a network processor includes using
three or more threads to process a beginning portion, a middle portion,
and an end portion of data packet is presented. The first thread
processes the beginning portion; one or more middle threads process the
middle portion, and a last thread processes the end portion. First
information is indirectly passed from the first thread to the last thread
via a first buffer with the middle threads progressively updating the
first information. Second information is directly passed from the first
thread to the last thread via a second buffer.