Patent ID: 7042898

Claim:
A method, comprising: (a) transferring a data payload from a host memory to a first memory of a network interface device; (b) on the network interface device and before the transferring of (a) is complete creating a pseudoheader and storing the pseudoheader in a second memory of the network interface device, the pseudoheader containing a header portion and a checksum portion, the checksum portion being a checksum of the header portion and not a checksum of the data payload; (c) on the network interface device and before the transferring of (a) is complete transferring the pseudoheader from the second memory to the first memory; (d) after (c) generating on the network interface device a checksum for the data payload; wherein the pseudoheader and the data payload together comprise a pseudopacket; and (e) reading the pseudoheader and at least a portion of the data payload from the first memory and combining the checksum for the header portion with the checksum for the data payload to generate a final checksum, the final checksum being inserted into the pseudopacket to form a complete TCP packet, the complete TCP packet being output from the network interface device to a network.