Handling Outstanding Send Data During a Terminate Offload Operation

When the offload of a TCP connection is terminated, outstanding send data might exist on the connection. This data can include:

  • Data that the offload target has sent but that has not yet been acknowledged by the remote host

  • Data that the offload target has not yet sent

The offload target can handle such data in either of the following ways or in a combination of these two ways:

When passing outstanding send data to the host, the offload target does the following:

  • Chains together NET_BUFFER_LIST structures that the host stack passed to the offload target's MiniportTcpOffloadSend function. These NET_BUFFER_LIST structures must be chained together in the same order that they were in when passed to the offload target.

  • Specifies a pointer in the NetBufferListChain member of the NDIS_MINIPORT_OFFLOAD_BLOCK_LIST structure that the offload target passes in the call to the NdisMTerminateOffloadComplete function. The value of NetBufferListChain points to the first NET_BUFFER_LIST structure in the linked list.

  • Specifies pointers in the SendDataHead and SendDataTail members of the TCP_OFFLOAD_STATE_DELEGATED structure that the offload target passes in the call to the NdisMTerminateOffloadComplete function.

 

 

Send comments about this topic to Microsoft

Show:
© 2015 Microsoft