Patent ID: 7480706

Claim:
A method of processing network data in a network processor comprising: assigning multiple program threads associated with multiple microengines operatively coupled to the network processor, the multiple program threads including a currently executing thread and a next thread, to a media access controller port of a network device operatively coupled to the network processor, a program thread having an associated program counter; processing network data received from the media access controller port using the multiple program threads in a round-robin fashion, wherein the multiple program threads form a sequence, to enable network data transfer to a port of a forwarding device, wherein the processing comprises successively passing status information of the processing from a currently executing thread to a next thread via a mailbox, wherein the next thread follows the currently executing thread in the sequence, wherein the status information of a thread is stored in a mailbox corresponding to the thread, wherein the status information includes a packet address indicative of a storage location for the network data received from the media access controller port, and wherein the mailbox is a first mailbox; and storing second status information of the next thread in a second mailbox of a subsequent next thread of the sequence of the multiple program threads, wherein number of the multiple program threads is predetermined.