Patent ID: 7430220

Claim:
A computer implemented method of dynamic segmentation based on processor load, the computer implemented method comprising: determining whether a network interface card is a microcode based network interface card or a non-microcode based network interface card; evaluating performance limitations of the microcode based network interface card, wherein segments are not processed if the microcode based network interface card performs segmentation slower than normal segmentation processing; responsive to the network interface card being enabled for segmentation, polling for processor utilization to determine whether a processor utilization value is greater than a threshold, wherein the processor utilization value is a timed average to prevent excessive switching between offloading segmentation, and wherein the threshold is selected from the group consisting of a user specified threshold and a default threshold, a value of the default threshold being between 70 and 100 percent processor utilization; responsive to the processor utilization value being above the threshold, creating a segment having a size greater than a maximum segment size of an interface protocol, wherein the interface protocol is selected from the group consisting of TCP/IP and user datagram protocol; further responsive to the processor utilization value being above the threshold, sending the segment to the network interface card for segmentation, wherein the segment segmented by the network interface card during offloading segmentation is compatible with a standard Ethernet protocol or a jumbo frame Ethernet protocol; and responsive to the processor utilization value being below or equal to the threshold, processing the segment normally using a transmission control protocol stack.