Patent ID: 7620071

Claim:
A method comprising: receiving multiple ingress Internet Protocol packets, each of the multiple ingress Internet Protocol packets having an Internet Protocol header and a Transmission Control Protocol segment having a Transmission Control Protocol header and a Transmission Control Protocol payload, the multiple Internet Protocol packets belonging to a same Transmission Control Protocol/Internet Protocol flow; preparing an Internet Protocol packet having a single Internet Protocol header and a single Transmission Control Protocol segment having a single Transmission Control Protocol header and a single payload formed by a combination of the Transmission Control Protocol segment payloads of the multiple Internet Protocol packets; excluding at least one packet belonging to the same flow from the multiple Internet Protocol packets based on at least one selected from the following group: the at least one packet includes an invalid Transmission Control Protocol checksum; the at least one packet does not include a Transmission Control Protocol data segment; the at least one packet includes a Transmission Control Protocol segment received out-of order; the at least one packet includes a Transmission Control Protocol urgent flag set; generating a signal that causes receive processing of the Internet Protocol packet; initiating at least one direct memory access to store the single Transmission Control Protocol header, the single Internet Protocol header, and the single payload of the Transmission Control Protocol segment to a memory; and indicating a number of Transmission Control Protocol segments combined via a descriptor, multiple ones of the segments having respective payloads; wherein the preparing comprises: determining a Transmission Control Protocol checksum for the single Transmission Control Protocol header; determining a byte length for the single Internet Protocol header; and determining an acknowledged sequence number of the single Transmission Control Protocol header; wherein the flow comprises a flow identified, at least in part, by the received Internet Protocol packets' Internet Protocol source and destination addresses included in the Internet Protocol packets' Internet Protocol header and the Transmission Control Protocol source and destination port numbers of the Transmission Control Protocol segment headers included within the Internet Protocol packets; and wherein the receiving, preparing, and generating comprises receiving, preparing, and generating by a network interface controller.