Patent ID: 7565454

Claim:
A method for transferring control between a first network interface controller and at least a second network interface controller in a multiple network interface device, the method comprising: after the first network interface controller sends a data request and an identifier associated with a memory location allocated to receive requested data in the multiple network interface device to a second device, and the identifier and an associated data field comprising the requested data are subsequently received by the second network interface controller in the multiple network interface device from the second device, receiving, by an RDMA program component of the multiple network interface device, the identifier associated with the memory location in the multiple network interface device without the associated data field, from the second network interface controller, wherein the second network interface controller has no knowledge of the identifier and the associated data field, and wherein the first network interface controller and the second network interface controller operate under a Remote Direct Memory Access (RDMA) protocol; querying the first network interface controller to supply the RDMA program component with a list of valid identifiers generated by the first network interface controller and associated memory locations, wherein each identifier from the list of valid identifiers is associated with a location in a memory of the multiple network interface device; determining, by the RDMA program component, whether the first network interface controller generated the identifier, wherein, when the first network interface controller generated the identifier, the list of valid identifiers comprises the identifier; when it is determined that the first network interface controller generated the identifier, transmitting the memory location associated with the identifier to the second network interface controller, wherein the second network interface controller subsequently transmits the associated data field comprising the requested data to the memory location, and invalidating the identifier; and when the identifier is not found among the list of valid identifiers, invalidating the identifier and discarding the associated data field.