Patent ID: 7843926

Claim:
A network system, comprising: a plurality of separate processing entities; an interconnect coupled to the plurality of separate processing entities; and a network interface unit shared among the plurality of separate processing entities, the network interface unit coupled to the plurality of separate processing entities via the interconnect, the network interface unit comprising a plurality of memory access channels, wherein the network interface unit is configured to: for each of said plurality of separate processing entities, dedicate a group of multiple ones of said plurality of memory access channels to that processing entity; receive multiple data packets from a network external to said plurality of separate processing entities, said interconnect, and said network interface unit; wherein each data packet comprises respective header information; and send the multiple data packets to the plurality of separate processing entities such that data packets of a given packet flow are sent to a common processing entity and data packets of different packet flows are sent to different processing entities; wherein to send the multiple packets, the network interface unit is configured to, for each received data packet: based on a comparison of a portion of the header information of the received data packet to a data structure including mappings of packet flows to respective memory access channels of said plurality of memory access channels, select a particular group of said dedicated groups of memory access channels; wherein said data structure is stored within memory of said network interface unit; wherein the mapping of each packet flow in the data structure is written into said memory by the network interface unit in response to receiving an indication of that mapping from the processing entity that is to receive that packet flow; based on a comparison of an other portion of the header information of the received data packet to the data structure including the mappings of packet flows to respective memory access channels of said plurality of memory access channels, select a particular memory access channel from the selected group; and via said selected memory access channel and via said interconnect, transmit the received data packet to the processing entity dedicated to said particular group.