A method for communicating a message from a packet-switched network, through a network interface device, and to a host computer, the message comprising a plurality of packets, each of the plurality of packets comprising a data portion, the host computer having a memory, the network interface device being coupled to the host computer such that the network interface device can write to the memory of the host computer, the method comprising:
- (a) passing a first part of the first packet of the message from the network interface device to a buffer in the memory of the host computer, a first part of the first packet including a first part of the data portion of the first packet, a second part of the data portion of the first packet not being passed from the network interface device to the buffer;
- (b) passing from the host computer to the network interface device an indication of a destination in the memory of the host computer where data from the message is to be placed;
- (c) the host computer transferring the first part of the data portion of the first packet from the buffer to the destination;
- (d) the network interface device using the indication of the destination to transfer the second part of the data portion of the first packet from the network interface device to the destination without the second part of the data portion being written into the buffer;
- and
- (e) the network interface device using the indication of the destination to transfer the data portions of the rest of the plurality of packets from the network interface device to the destination without the data portions being written into the buffer.