Network processor system including a central processor and at least one peripheral processor
First Claim
1. An apparatus comprising:
- a first peripheral processor, whereinsaid first peripheral processor is configured to perform a first packet processing task,said first packet processing task is at least one packet processing task of a set of a packet processing tasks, andeach packet processing task of said set of packet processing tasks is one ofpacket parsing,packet deconstruction,packet searching, andpacket editing;
a second peripheral processor, whereinsaid second peripheral processor is configured to perform a second packet processing task,said second packet processing task is one of a plurality of packet processing tasks, andsaid plurality of packet processing tasks comprises said each packet processing task of said set of packet processing tasks; and
a central processor configured toreceive a packet, whereinsaid packet comprises information,process said packet by virtue of being configured tocause said first peripheral processor to perform said first packet processing task, whereinsaid first packet processing task is performed using said information,determine said second packet processing task by virtue of being configured to evaluate a result of said first packet processing task, andcause said second peripheral processor to perform said second packet processing task.
0 Assignments
0 Petitions
Accused Products
Abstract
The present invention consists of a general purpose, software-controlled central processor (CP) augmented by a set of task specific, specialized peripheral processors (PPs). The central processor accomplishes its functions with the support of the PPs. Peripheral processors may include but are not limited to a packet parser, which provides the central processor with a numerical summary of the packet format; a packet deconstructor, which extracts designated fields from the packet the positions of which are determined by the central processor according to the packet format; a search engine, which is supplied a lookup index by and returns its results to the central processor; and a packet editor which modifies the packet as determined by the central processor using (in part) information returned from other peripherals. At each step in the use of this network processor system, the central processor has an opportunity to intervene and modify the handling of the packet based on its interpretation of PP results. The programmable nature of the CP and the PPs provides the system with flexibility and adaptability: rather than having to modify a circuit or system design in an ASIC or other hardware, new packet processing applications may be accommodated through the development of new software and its deployment in the central and/or peripheral processors.
-
Citations
20 Claims
-
1. An apparatus comprising:
-
a first peripheral processor, wherein said first peripheral processor is configured to perform a first packet processing task, said first packet processing task is at least one packet processing task of a set of a packet processing tasks, and each packet processing task of said set of packet processing tasks is one of packet parsing, packet deconstruction, packet searching, and packet editing; a second peripheral processor, wherein said second peripheral processor is configured to perform a second packet processing task, said second packet processing task is one of a plurality of packet processing tasks, and said plurality of packet processing tasks comprises said each packet processing task of said set of packet processing tasks; and a central processor configured to receive a packet, wherein said packet comprises information, process said packet by virtue of being configured to cause said first peripheral processor to perform said first packet processing task, wherein said first packet processing task is performed using said information, determine said second packet processing task by virtue of being configured to evaluate a result of said first packet processing task, and cause said second peripheral processor to perform said second packet processing task. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method comprising:
-
receiving a packet by a central processor, wherein said packet comprises information; and processing said packet by performing a plurality of packet processing tasks, wherein said processing comprises causing a first peripheral processor to perform a first packet processing task on said packet, wherein said first packet processing is performed using said information, said first packet processing task is at least one packet processing task of a set of packet processing tasks, each packet processing task of said set of packet processing tasks is one of
packet parsing,
packet deconstruction,
packet searching, and
packet editing,determining a second packet processing task by causing said central processor to evaluate a result of said first packet processing task, and causing a second peripheral processor to perform said second packet processing task on said packet, wherein said second packet processing task is one of a plurality of packet processing tasks, and said plurality of packet processing tasks comprises said each packet processing task of said set of packet processing tasks. - View Dependent Claims (17, 18, 19)
-
-
20. An apparatus comprising:
-
a first peripheral processor, wherein said first peripheral processor is configured to perform a first packet processing task, said first packet processing task is at least one packet processing task of a set of a packet processing tasks, and each packet processing task of said set of packet processing tasks is one of packet parsing, packet deconstruction, packet searching, and packet editing; a second peripheral processor, wherein said second peripheral processor is configured to perform a second packet processing task, said second packet processing task is one of a plurality of packet processing tasks, and said plurality of packet processing tasks comprises said each packet processing task of said set of packet processing tasks; a central processor, coupled to control said first and said second peripheral processors, wherein the central processor is configured to receive a packet, and said packet comprises information; and means for processing said packet, wherein said means for processing comprises means for causing said central processor to coordinate said packet processing tasks between said first and said second peripheral processors, means for causing said first peripheral processor to perform said first packet processing task on said packet, wherein said first packet processing task is performed using said information means for causing said central processor to determine a second packet processing task of said packet processing tasks comprising means for evaluating a result of said first packet processing task, and means for causing said second peripheral processor to perform said second packet processing task on said packet.
-
Specification