Obtaining a destination address so that a network interface device can write network data without headers directly into host memory
3 Assignments
0 Petitions
Accused Products
Abstract
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.
222 Citations
34 Claims
-
1-20. -20. (Cancelled)
-
21. A set of computer-executable instructions for execution on a host computer, wherein an application layer program is executing on the host computer, and wherein a network interface device is coupled to the host computer, and wherein the network interface device is coupled to receive a multi-packet message from a packet-switched network, the multi-packet message including a first packet and a plurality of subsequent packets, each of the plurality of subsequent packets containing a TCP header portion, an IP header portion and a data portion, the set of computer-executable instructions being for performing steps comprising:
-
passing at least a portion of the first packet of the multi-packet message to the application layer program;
receiving from the application layer program an indication of a destination in memory on the host computer; and
passing the indication of the destination to the network interface device such that the network interface device writes the data portions of the subsequent packets into the destination without writing any TCP header portion into the destination and without writing any IP header portion into the destination. - View Dependent Claims (22, 23, 24)
-
-
25. A method for transferring data of a message from a network interface device to a host computer, the network interface device being coupled to receive the message from a packet-switched network, the network interface device being coupled to the host computer, the message consisting of a first packet and a plurality of subsequent packets, wherein the first packet includes a session layer header portion, a TCP header portion and an IP header portion, and wherein each of the plurality of subsequent packets contains a TCP header portion, an IP header portion and a data portion, the method comprising:
-
(a) passing at least a portion of the first packet from the network interface device to an application layer program executing on the host computer, wherein said at least a portion includes the session layer header portion;
(b) the application layer program executing on the host computer examining the session layer header portion and generating an indication of a destination in host memory; and
(c) the network interface device transferring the data portions of the subsequent packets into the destination without writing any TCP header portion of any of the subsequent packets into the destination and without writing any IP header portion of any of the subsequent packets into the destination. - View Dependent Claims (26, 27, 28)
-
-
29. A method for transferring data of a message from a network interface device to a host computer, the network interface device being coupled to receive the message from a packet-switched network, the network interface device being coupled to the host computer, the message consisting of a first packet and a plurality of subsequent packets, wherein the first packet includes a session layer header portion, a TCP header portion and an IP header portion, and wherein each of the plurality of subsequent packets contains a TCP header portion, an IP header portion and a data portion, the method comprising:
-
(a) passing a first part of the first packet, but not a second part of the first packet, from the network interface device to the host computer, the first part of the first packet including the session layer header portion;
(b) an application layer program executing on the host computer examining the session layer header portion and generating an indication of a destination in host memory; and
(c) the network interface device transferring the data portions of the subsequent packets into the destination without writing any TCP header portion of any of the subsequent packets into the destination and without writing any IP header portion of any of the subsequent packets into the destination. - View Dependent Claims (30, 31, 32, 33, 34)
-
Specification