Patent ID: 7583673

Claim:
A Network Processor (NP), comprising: a programmable ASIC module, with at least one main forwarding hardware pipeline used for performing a main forwarding upon a packet; and a Micro Engine (ME) module, including at least one programmable ME used for completing an assistant forwarding upon the packet by software; wherein each of the at least one main forwarding hardware pipeline comprises a plurality of Steps, wherein designated, Steps in the at least one main forwarding hardware pipeline are further connected with each other through a judging unit which is connected with a corresponding designated ME in the ME module, the judging unit is used for judging whether a packet, which has been processed by a Step ahead of the judging unit in the at least one main forwarding hardware pipeline, needs an assistant forwarding, if the packet needs the assistant forwarding, the judging unit informs the corresponding ME to perform the assistant forwarding, otherwise, informs a Step behind the judging unit in the at least one main forwarding hardware pipeline to process the packet.