Network processor system
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
49 Claims
-
1-29. -29. (canceled)
-
30. An apparatus comprising:
-
a peripheral processor, wherein said peripheral processor is configured to perform a packet processing task; and
a central processor, wherein said central processor is coupled to control said peripheral processor, said central processor is configured to cause said peripheral processor to perform said packet processing task, and said central processor and said peripheral processor are configured to communicate with one another - View Dependent Claims (31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44)
-
-
45. A method comprising:
-
receiving a packet;
determining a vector by parsing at least a portion of said packet; and
processing said packet by performing a plurality of packet processing tasks, wherein said processing comprises causing a central processor to coordinate said packet processing tasks using said vector, said coordinating comprises causing a peripheral processor to perform at least one of said packet processing tasks, and said central processor is coupled to cause said peripheral processor to perform said at least one of said packet processing tasks. - View Dependent Claims (46, 47, 48)
-
-
49. An apparatus comprising:
-
a peripheral processor;
a central processor, coupled to control said peripheral processor and configured to receive a packet;
means for determining a vector comprising means for parsing at least a portion of said packet; and
means for processing said packet comprising means for performing a plurality of packet processing tasks, wherein one of said means for performing said processing tasks comprises said peripheral processor, said means for processing comprises means for causing said central processor to coordinate said packet processing tasks using said vector, means for causing said central processor to coordinate comprises means for causing said peripheral processor to perform at least one of said packet processing tasks, and said central processor is coupled to cause said peripheral processor to perform said at least one of said packet processing tasks.
-
Specification