Patent ID: 7464174
Filing Date: 2008-12-09
Classification: H04L

Abstract:
1. A shared network interface controller (NIC) comprising: an external-network connection that sends external packets and receives external packets over an external network using an external-network protocol; a local network connection for sending and receiving local packets to and from a first processor and to and from a second processor on a local network using a local-network protocol; wherein the local packets include a routing specifier that specifies a route through the local network; a protocol converter for embedding data from external packets received from the external network inside local packets sent over the local network; a first set of registers that include a first command register to command transmission of an external packet that contains data from the first processor and a first transmit-pointer register for locating data to transmit in the external packet and a first receive-pointer register for indicating a location to store data from external packets received; wherein local packets from the first processor received by the local network connection of the shared NIC have a first routing value of the routing specifier that specifies a first route between the first processor and the shared NIC; a second set of registers that include a second command register to command transmission of an external packet that contains data from the second processor and a second transmit-pointer register for locating data to transmit in the external packet and a second receive-pointer register for indicating a location to store data from external packets received; wherein local packets from the second processor received by the local network connection of the shared NIC have a second routing value of the routing specifier that specifies a second route between the second processor and the shared NIC; wherein the first routing value and the second routing value are different values; and a context controller that selects the first set of registers for access in response to the local packets when the local packets contain the first routing value; the context controller selecting the second set of registers for access in response to the local packets when the local packets contain the second routing value, whereby the external network connection is shared by the first and second processors and the first and second set of registers are selected for access by the first or second routing values for the local network.