Patent ID: 8848741

Claim:
A method of offloading data intensive tasks from a processor, comprising: at a processor: preparing a plurality of TCP packets, each TCP packet comprising a TCP header and a data payload, adding a prepend header to each of the TCP packets, the prepend header comprising a TCP segmentation flag and a maximum segment size value indicating a maximum segment size for TCP segmentation; and transmitting each TCP packet to a configurable logic device (CLD); and at the CLD: receiving a TCP packet from the processor; determining whether to generate a set of TCP segment packets based on the TCP segmentation flag for the TCP packet; generating a set of TCP segment packets if the TCP segmentation flag indicates that TCP segment packets are to be generated, each TCP segment packet being no longer than the maximum segmentation size for the TCP packet and comprising: a copy of the TCP header, an incrementing segment sequence identifier, and a portion of the data payload; transmitting the set of TCP segment packets to an external network interface; and repeating the receiving, determining, generating, and transmitting steps for a plurality of TCP packets received from the processor.