Patent ID: 7974999

Claim:
A data processing system for generically communicating between a plurality of heterogeneous network processors in a network and at least one host processor, the system comprising: the plurality of heterogeneous network processors, wherein the plurality of heterogeneous network processors are computing processors; at least one standardized interface for each of the plurality of heterogeneous network processors, each of the plurality of heterogeneous network processors further including a plurality of packet processing shells, wherein each one of the plurality of packet processing shells includes a generic protocol software block and a library, and wherein each generic protocol software block is network processor independent, and further wherein each one of the plurality of packet processing shells included in each one of the plurality of heterogeneous network processors performs a different function; a packet dispatcher and a plurality of port proxies included in each one of the plurality of heterogeneous network processors, wherein each one of the plurality of port proxies is associated with a corresponding one of a plurality of ports included in each one of the plurality of heterogeneous network processors; a standardized transport layer, the standardized transport layer compatible with the at least one standardized interface; and a generic message application layer, the generic message application layer defining at least one generic payload and at least one generic message type for configuration communications between the plurality of heterogeneous network processors and the at least one host processor; a network processor independent system configuration application within the at least one host processor for configuring the plurality of heterogeneous network processors; a particular port included in a particular one of the plurality of heterogeneous network processors; a particular packet dispatcher included in the particular one of the plurality of heterogeneous network processors, wherein in response to the particular port receiving a packet, the particular packet dispatcher determines the particular port and provides the packet to a particular one of the plurality of port proxies included in the particular one of the plurality of heterogeneous network processors that corresponds with the particular port; and the plurality of port proxies, wherein the particular one of the plurality of port proxies determines a classification of the packet and uses the classification to determine to which one of the plurality of packet processing shells included in the particular one of the plurality of heterogeneous network processors to provide the packet.