Returning Completion Status of an Initiate Offload Operation
[The TCP chimney offload feature is deprecated and should not be used.]
Before calling NdisMInitiateOffloadComplete, the offload target must write a completion status to the Status member of each NDIS_MINIPORT_OFFLOAD_BLOCK_LIST structure in the state tree. The offload target can write one of the following NDIS_STATUS values:
NDIS_STATUS_SUCCESS
The offload target successfully offloaded the following:
The offload state that is associated with the NDIS_MINIPORT_OFFLOAD_BLOCK_LIST structure.
The offload state that is associated with all of the immediately dependent NDIS_MINIPORT_OFFLOAD_BLOCK_LIST structures. An immediately dependent structure is a structure that is referenced by the pointer in the DependentBlockList member or a structure that is linked directly or indirectly to such a structure through a next block link.
NDIS_STATUS_OFFLOAD_PARTIAL_SUCCESS
The offload target successfully offloaded the offload state that is associated with the NDIS_MINIPORT_OFFLOAD_BLOCK_LIST structure. However, the offload target failed to offload the offload state that is associated with one or more of the immediately dependent NDIS_MINIPORT_OFFLOAD_BLOCK_LIST structures.
NDIS_STATUS_FAILURE
The offload target failed to offload the state that is associated with the NDIS_MINIPORT_OFFLOAD_BLOCK_LIST structure. The cause of the failure cannot be categorized.
NDIS_STATUS_RESOURCES
The offload target failed to offload the state that is associated with the NDIS_MINIPORT_OFFLOAD_BLOCK_LIST structure because the offload target could not allocate sufficient host memory.
NDIS_STATUS_OFFLOAD_TCP_ENTRIES
The offload target failed to offload the state that is associated with the NDIS_MINIPORT_OFFLOAD_BLOCK_LIST structure because the offload target could not allocate a TCP connection state object.
NDIS_STATUS_OFFLOAD_PATH_ENTRIES
The offload target failed to offload the state that is associated with the NDIS_MINIPORT_OFFLOAD_BLOCK_LIST structure because the offload target could not allocate a path state object.
NDIS_STATUS_OFFLOAD_NEIGHBOR_ENTRIES
The offload target failed to offload the state that is associated with the NDIS_MINIPORT_OFFLOAD_BLOCK_LIST structure because the offload target could not allocate a neighbor state object.
NDIS_STATUS_OFFLOAD_HW_ADDRESS_ENTRIES
The offload target failed to offload the state that is associated with the NDIS_MINIPORT_OFFLOAD_BLOCK_LIST structure because the host stack specified a non-NULL value in the DlSourceAddress member of the NEIGHBOR_OFFLOAD_STATE_CONST structure, and the offload target either does not support configurable source medium access control (MAC) addresses or cannot accept additional source MAC addresses.
NDIS_STATUS_OFFLOAD_IP_ADDRESS_ENTRIES
The offload target failed to offload the state that is associated with the NDIS_MINIPORT_OFFLOAD_BLOCK_LIST structure because the offload target could not allocate a data structure for the source IP address that is referenced by the pointer in the SourceAddress member of the PATH_OFFLOAD_STATE_CONST structure.
NDIS_STATUS_OFFLOAD_TCP_XMIT_BUFFER
The offload target failed to offload the state that is associated with the NDIS_MINIPORT_OFFLOAD_BLOCK_LIST structure because the offload target could not allocate enough TCP transmit buffers.
NDIS_STATUS_OFFLOAD_TCP_RCV_BUFFER
The offload target failed to offload the state that is associated with the NDIS_MINIPORT_OFFLOAD_BLOCK_LIST structure because the offload target could not allocate enough TCP receive buffers.
NDIS_STATUS_OFFLOAD_TCP_RCV_WINDOW
The offload target failed to offload the state that is associated with the NDIS_MINIPORT_OFFLOAD_BLOCK_LIST structure because the InitialRcvWnd member that is specified in the TCP_OFFLOAD_STATE_CACHED structure is larger than the offload target can support.
NDIS_STATUS_OFFLOAD_VLAN_ENTRIES
The offload target has run out of resources to track additional VLAN identifiers.
NDIS_STATUS_OFFLOAD_VLAN_MISMATCH
The VlanId member of the NEIGHBOR_OFFLOAD_STATE_CONST structure is nonzero and does not match one of the interface VLAN identifiers.
NDIS_STATUS_OFFLOAD_PATH_MTU
The path maximum transmission unit (MTU) for the TCP connection is larger than what the offload target supports.
NDIS_STATUS_OFFLOAD_CONNECTION_REJECTED
The offload target failed to offload the connection because the offload target determined this connection is not a good candidate for offload.