A method to offload a network stack connection is presented. A request,
which includes a list of resource requirements from each software layer
in the stack, to offload the network stack connection is sent through the
stack to the peripheral device. The device allocates resources for the
list and sends a handle to each of the software layers for communication
with the device. The state for each layer is sent to the device that
includes state variables that are classified as a constant, a cached
variable handled by the CPU, or a delegated variable handled by the
device.