A method to synchronize and upload an offloaded network stack connection
between a host network stack and processing device is presented. A state
object for each layer in the stack is sent to the device that includes
state variables that are classified as a constant, a cached variable
handled by the host, or a delegated variable handled by the device. State
that must be updated by the network stack and the processing device is
cleanly divided. For example, statistics are tracked by the host, the
device, or the host and the device. A statistic tracked by both the host
and processing device is divided into non-overlapping portions and
combined to produce the statistic. Once an upload is initiated, the
device achieves a consistent state and hands delegated states to the
stack. Each layer in the stack takes control of its delegated state and
resources at the device are freed.