Patent ID: 7437547

Claim:
In a computer system environment including a sending station associated with at least one software component, and a NIC, a method for dynamically offloading, on a per-packet basis and depending on the then current needs of a computer system, an operating task from the software component to the NIC, thereby freeing up CPU resources of the computer system and increasing the overall efficiency of the computer system, the method comprising: receiving at a NIC, a sequence of data packets, including a first packet and one or more subsequent packets, the sequence of packets indicating that the NIC is to perform one or more specified operating tasks, wherein the first packet includes a specific packet extension having contextual information to be used for performing the one or more specified operating tasks with the sequence of data packets, the specific packet extension being omitted from the one or more subsequent packets in such a manner that the one or more subsequent packets fail to directly include the contextual information; and using the contextual information to implement the one or more operating tasks in the event that the NIC includes task offload capabilities for implementing the one or more operating tasks, or upon determining that the NIC fails to include task offload capabilities for implementing the operating task, causing the operating task to be performed by the CPU of the computer system.