A Network Interface device (NI device) coupled to a host computer receives
a multi-packet message from a network (for example, the Internet) and
DMAs the data portions of the various packets directly into a destination
in application memory on the host computer. The address of the
destination is determined by supplying a first part of the first packet
to an application program such that the application program returns the
address of the destination. The address is supplied by the host computer
to the NI device so that the NI device can DMA the data portions of the
various packets directly into the destination. In some embodiments the NI
device is an expansion card added to the host computer, whereas in other
embodiments the NI device is a part of the host computer.