NDIS_MINIPORT_OFFLOAD_BLOCK_LIST 구조체(ndischimney.h)

[TCP 굴뚝 오프로드 기능은 더 이상 사용되지 않으며 사용하면 안 됩니다.]

NDIS_MINIPORT_OFFLOAD_BLOCK_LIST 구조는 TCP 굴뚝 오프로드 상태 트리의 기본 구성 요소입니다. 오프로드 상태 트리에는 하나 이상의 NDIS_MINIPORT_OFFLOAD_BLOCK_LIST 구조체가 포함될 수 있습니다.

구문

typedef struct _NDIS_MINIPORT_OFFLOAD_BLOCK_LIST {
  IN NDIS_OBJECT_HEADER                Header;
  IN _NDIS_MINIPORT_OFFLOAD_BLOCK_LIST *NextBlock;
#if ...
  struct                               _NDIS_MINIPORT_OFFLOAD_BLOCK_LIST;
  IN _NDIS_MINIPORT_OFFLOAD_BLOCK_LIST *DependentBlockList;
#else
  struct                               _NDIS_MINIPORT_OFFLOAD_BLOCK_LIST;
#endif
  OUT NDIS_STATUS                      Status;
  IN PVOID                             NdisReserved[2];
  IN OUT PVOID                         *MiniportOffloadContext;
  IN NDIS_HANDLE                       NdisOffloadHandle;
  IN PVOID                             ProtocolReserved[2];
  IN PVOID                             MiniportReserved[2];
  IN PVOID                             ImReserved[2];
  IN PVOID                             Scratch[2];
  IN PVOID                             SourceHandle;
  IN NDIS_PORT_NUMBER                  PortNumber;
  IN OUT PNET_BUFFER_LIST              NetBufferListChain;
} NDIS_MINIPORT_OFFLOAD_BLOCK_LIST, *PNDIS_MINIPORT_OFFLOAD_BLOCK_LIST;

멤버

Header

NDIS_MINIPORT_OFFLOAD_BLOCK_LIST 구조체의 헤더입니다. 헤더는 NDIS_OBJECT_HEADER 구조체로 서식이 지정됩니다. NDIS_OBJECT_HEADER 구조체에는 NDIS_MINIPORT_OFFLOAD_BLOCK_LIST 구조체의 수정 버전 번호, 메모리의 NDIS_MINIPORT_OFFLOAD_BLOCK_LIST 구조 바로 뒤의 오프로드 상태 유형 및 헤더를 포함한 NDIS_MINIPORT_OFFLOAD_BLOCK_LIST 구조체의 크기(바이트)가 포함됩니다.

NDIS_OBJECT_HEADER 구조체의 Type 멤버는 오프로드 상태의 형식을 나타내며, 메모리의 NDIS_MINIPORT_OFFLOAD_BLOCK_LIST 구조 바로 뒤에 있는 특정 오프로드 상태 구조체(또는 구조체)를 의미합니다.

지원되는 OFFLOAD_STATE_TYPE 값은 다음과 같습니다.

NeighborOffloadConstState

상수 인접 상태를 지정합니다. 이 상태는 로 형식이 지정됩니다. NEIGHBOR_OFFLOAD_STATE_CONST 구조체입니다.

NeighborOffloadCachedState

캐시된 인접 상태를 지정합니다. 이 상태는 로 형식이 지정됩니다. NEIGHBOR_OFFLOAD_STATE_CACHED 구조체입니다.

NeighborOffloadDelegatedState

위임된 인접 상태를 지정합니다. 이 상태는 로 형식이 지정됩니다. NEIGHBOR_OFFLOAD_STATE_DELEGATED 구조체입니다.

NeighborOffloadState

상수, 캐시됨 및 위임된 인접 상태를 포함하여 모든 인접 상태 정보를 지정합니다. 이 상태는 NEIGHBOR_OFFLOAD_STATE_CONST 구조체로 형식이 지정되고 NEIGHBOR_OFFLOAD_STATE_CACHED 구조와 NEIGHBOR_OFFLOAD_STATE_DELEGATED 구조가 뒤따릅니다.

Ip4OffloadConstState

상수 경로 상태(IPv4)를 지정합니다. 이 상태는 로 형식이 지정됩니다. PATH_OFFLOAD_STATE_CONST 구조체입니다.

Ip4OffloadCachedState

캐시된 경로 상태(IPv4)를 지정합니다. 이 상태는 로 형식이 지정됩니다. PATH_OFFLOAD_STATE_CACHED 구조체입니다.

Ip4OffloadDelegatedState

위임된 경로 상태(IPv4)를 지정합니다. 이 상태는 로 형식이 지정됩니다. PATH_OFFLOAD_STATE_DELEGATED 구조체입니다. 현재 위임된 경로 상태가 없습니다. PATH_OFFLOAD_STATE_DELEGATED 구조체에는 변수가 없습니다.

Ip4OffloadState

상수, 캐시된 경로 상태 및 위임된 경로 상태를 포함하여 모든 경로 상태(IPv4)를 지정합니다. 이 상태는 PATH_OFFLOAD_STATE_CONST 구조로 형식이 지정되고 PATH_OFFLOAD_STATE_CACHED 구조와 PATH_OFFLOAD_STATE_DELEGATED 구조가 뒤따릅니다.

Ip6OffloadConstState

상수 경로 상태(IPv6)를 지정합니다. 이 상태는 PATH_OFFLOAD_STATE_CONST 구조체로 형식이 지정됩니다.

Ip6OffloadCachedState

캐시된 경로 상태(IPv6)를 지정합니다. 이 상태는 PATH_OFFLOAD_STATE_CACHED 구조체로 서식이 지정됩니다.

Ip6OffloadDelegatedState

위임된 경로 상태(IPv6)를 지정합니다. 이 상태는 PATH_OFFLOAD_STATE_DELEGATED 구조체로 형식이 지정됩니다. 현재 위임된 경로 상태가 없습니다. PATH_OFFLOAD_STATE_DELEGATED 구조체에는 변수가 없습니다.

Ip6OffloadState

상수, 캐시된 경로 및 위임된 경로 상태를 포함하여 모든 경로 상태 정보(IPv6)를 지정합니다. 이 상태는 PATH_OFFLOAD_STATE_CONST 구조로 형식이 지정되고 PATH_OFFLOAD_STATE_CACHED 구조와 PATH_OFFLOAD_STATE_DELEGATED 구조가 뒤따릅니다.

TcpOffloadConstState

상수 TCP 상태를 지정합니다. 이 상태는 로 형식이 지정됩니다. TCP_OFFLOAD_STATE_CONST 구조체입니다.

TcpOffloadCachedState

캐시된 TCP 상태를 지정합니다. 이 상태는 로 형식이 지정됩니다. TCP_OFFLOAD_STATE_CACHED 구조체입니다.

TcpOffloadDelegatedState

위임된 TCP 상태를 지정합니다. 이 상태는 로 형식이 지정됩니다. TCP_OFFLOAD_STATE_DELEGATED 구조체입니다.

TcpOffloadResourceState

예약되어 있습니다. 이 OFFLOAD_STATE_TYPE 값과 TCP_OFFLOAD_RESOURCE_STATE 구조체는 현재 사용되지 않습니다.

TcpOffloadState

상수, 캐시됨 및 위임된 TCP 상태를 포함하여 모든 TCP 상태 정보를 지정합니다. 이 상태는 TCP_OFFLOAD_STATE_CONST 구조체로 형식이 지정되고 TCP_OFFLOAD_STATE_CACHED 구조와 TCP_OFFLOAD_STATE_DELEGATED 구조가 뒤따릅니다.

FilterReservedOffloadState

필터 드라이버용으로 예약되어 있습니다.

NextBlock

헤더 멤버의 Type 멤버가 나타내는 오프로드 상태 계층(인접, 경로 또는 TCP)의 다음 NDIS_MINIPORT_OFFLOAD_BLOCK_LIST 구조체에 대한 포인터입니다. NextBlock 포인터를 통해 연결된 NDIS_MINIPORT_OFFLOAD_BLOCK_LIST 구조체는 항상 오프로드 상태의 동일한 계층에 있습니다. NULLNextBlock 값은 이 수준에서 추가적인 다음 NDIS_MINIPORT_OFFLOAD_BLOCK_LIST 구조체가 없음을 나타냅니다.

_NDIS_MINIPORT_OFFLOAD_BLOCK_LIST

DependentBlockList

오프로드 상태의 종속 계층(오프로드 상태 트리의 상위 계층)에 있는 NDIS_MINIPORT_OFFLOAD_BLOCK_LIST 구조체에 대한 포인터입니다. TCP 굴뚝 오프로드의 경우:

  • 인접 계층에 있는 NDIS_MINIPORT_OFFLOAD_BLOCK_LIST 구조체의 DependentBlockList 멤버는 경로 계층의 NDIS_MINIPORT_OFFLOAD_BLOCK_LIST 구조만 가리킬 수 있습니다.
  • 경로 계층에 있는 NDIS_MINIPORT_OFFLOAD_BLOCK_LIST 구조체의 DependentBlockList 멤버는 TCP 계층의 NDIS_MINIPORT_OFFLOAD_BLOCK_LIST 구조만 가리킬 수 있습니다.
  • TCP 계층에서 NDIS_MINIPORT_OFFLOAD_BLOCK_LIST 구조체의 DependentBlockList 멤버는 항상 NULL입니다.
DependentBlockList이 NULL이면 종속 NDIS_MINIPORT_OFFLOAD_BLOCK_LIST 구조체가 없음을 나타냅니다.

Status

오프로드 시작, 쿼리 오프로드, 오프로드 업데이트, 오프로드 무효화 또는 오프로드 종료 작업의 완료 상태 오프로드 대상이 NDIS_MINIPORT_OFFLOAD_BLOCK_LIST 구조와 연결되거나 참조되는 상태에서 수행되는 오프로드 작업을 종료합니다. 작업에 따라 오프로드 대상은 다음 NDIS_STATUS 값 중 하나를 Status 멤버에 씁니다.

NDIS_STATUS_SUCCESS

오프로드 시작: 오프로드 대상이 NDIS_MINIPORT_OFFLOAD_BLOCK_LIST 구조와 연결된 상태와 즉시 종속된 모든 NDIS_MINIPORT_OFFLOAD_BLOCK_LIST 구조체와 연결된 상태를 성공적으로 오프로드했습니다.

오프로드 쿼리, 업데이트, 무효화 또는 종료: 오프로드 대상이 NDIS_MINIPORT_OFFLOAD_BLOCK_LIST 구조와 연결되거나 참조되는 상태에서 작업을 성공적으로 수행했습니다.

NDIS_STATUS_OFFLOAD_PARTIAL_SUCCESS

오프로드 시작: 오프로드 대상이 NDIS_MINIPORT_OFFLOAD_BLOCK_LIST 구조체와 연결된 상태를 오프로드했지만 즉시 종속된 NDIS_MINIPORT_OFFLOAD_BLOCK_LIST 구조체 중 하나 이상과 연결된 상태를 오프로드하지 못했습니다.

오프로드 쿼리, 업데이트, 무효화 또는 종료: 허용되는 상태 값이 아닙니다.

NDIS_STATUS_FAILURE

오프로드 시작: 오프로드 대상이 NDIS_MINIPORT_OFFLOAD_BLOCK_LIST 구조와 연결된 상태를 오프로드하지 못했습니다. 오류의 원인을 분류할 수 없습니다.

오프로드 쿼리, 업데이트, 무효화 또는 종료: 오프로드 대상이 NDIS_MINIPORT_OFFLOAD_BLOCK_LIST 구조와 연결되거나 참조되는 상태에서 작업을 수행하지 못했습니다.

NDIS_STATUS_RESOURCES

오프로드 시작: 오프로드 대상이 충분한 호스트 메모리를 할당할 수 없으므로 오프로드 대상이 NDIS_MINIPORT_OFFLOAD_BLOCK_LIST 구조와 연결된 상태를 오프로드하지 못했습니다.

오프로드 쿼리, 업데이트, 무효화 또는 종료: 허용되는 상태 값이 아닙니다.

NDIS_STATUS_OFFLOAD_TCP_ENTRIES

오프로드 시작: 오프로드 대상이 TCP 연결 상태 개체를 할당할 수 없으므로 오프로드 대상이 NDIS_MINIPORT_OFFLOAD_BLOCK_LIST 구조와 연결된 상태를 오프로드하지 못했습니다.

오프로드 쿼리, 업데이트, 무효화 또는 종료: 허용되는 상태 값이 아닙니다.

NDIS_STATUS_OFFLOAD_PATH_ENTRIES

오프로드 시작: 오프로드 대상이 경로 상태 개체를 할당할 수 없으므로 오프로드 대상이 NDIS_MINIPORT_OFFLOAD_BLOCK_LIST 구조와 연결된 상태를 오프로드하지 못했습니다.

오프로드 쿼리, 업데이트, 무효화 또는 종료: 허용되는 상태 값이 아닙니다.

NDIS_STATUS_OFFLOAD_NEIGHBOR_ENTRIES

오프로드 시작: 오프로드 대상이 인접 상태 개체를 할당할 수 없으므로 오프로드 대상이 NDIS_MINIPORT_OFFLOAD_BLOCK_LIST 구조와 연결된 상태를 오프로드하지 못했습니다.

오프로드 쿼리, 업데이트, 무효화 또는 종료: 허용되는 상태 값이 아닙니다.

NDIS_STATUS_OFFLOAD_HW_ADDRESS_ENTRIES

오프로드 시작: 호스트 스택이 에서 NULL이 아닌 DlSourceAddress 멤버를 지정했기 때문에 오프로드 대상이 NDIS_MINIPORT_OFFLOAD_BLOCK_LIST 구조와 연결된 상태를 오프로드하지 못했습니다. NEIGHBOR_OFFLOAD_STATE_CONST 구조와 오프로드 대상은 구성 가능한 원본 MAC 주소를 지원하지 않거나 추가 원본 MAC 주소를 수락할 수 없습니다.

오프로드 쿼리, 업데이트, 무효화 또는 종료: 허용되는 상태 값이 아닙니다.

NDIS_STATUS_OFFLOAD_IP_ADDRESS_ENTRIES

오프로드 시작: 오프로드 대상이 의 SourceAddress 포인터에서 참조하는 원본 IP 주소에 대한 데이터 구조를 할당할 수 없으므로 오프로드 대상이 NDIS_MINIPORT_OFFLOAD_BLOCK_LIST 구조와 연결된 상태를 오프로드하지 못했습니다. PATH_OFFLOAD_STATE_CONST 구조체입니다.

오프로드 쿼리, 업데이트, 무효화 또는 종료: 허용되는 상태 값이 아닙니다.

NDIS_STATUS_OFFLOAD_TCP_XMIT_BUFFER

오프로드 시작: 오프로드 대상이 충분한 TCP 전송 버퍼를 할당할 수 없으므로 오프로드 대상이 NDIS_MINIPORT_OFFLOAD_BLOCK_LIST 구조와 연결된 상태를 오프로드하지 못했습니다.

오프로드 쿼리, 업데이트, 무효화 또는 종료: 허용되는 상태 값이 아닙니다.

NDIS_STATUS_OFFLOAD_TCP_RCV_BUFFER

오프로드 시작: 오프로드 대상이 충분한 TCP 수신 버퍼를 할당할 수 없으므로 오프로드 대상이 NDIS_MINIPORT_OFFLOAD_BLOCK_LIST 구조와 연결된 상태를 오프로드하지 못했습니다.

오프로드 쿼리, 업데이트, 무효화 또는 종료: 허용되는 상태 값이 아닙니다.

NDIS_STATUS_OFFLOAD_TCP_RCV_WINDOW

오프로드 시작: 오프로드 대상이 에 지정된 InitialRcvWnd 멤버로 인해 NDIS_MINIPORT_OFFLOAD_BLOCK_LIST 구조체와 연결된 상태를 오프로드하지 못했습니다. TCP_OFFLOAD_STATE_CACHED 구조는 오프로드 대상이 지원할 수 있는 것보다 큽니다.

오프로드 쿼리, 업데이트, 무효화 또는 종료: 허용되는 상태 값이 아닙니다.

NDIS_STATUS_OFFLOAD_VLAN_ENTRIES

오프로드 시작: 오프로드 대상에 추가 VLAN ID를 추적하기 위한 리소스가 부족합니다.

오프로드 쿼리, 업데이트, 무효화 또는 종료: 허용되는 상태 값이 아닙니다.

NDIS_STATUS_OFFLOAD_VLAN_MISMATCH

오프로드 시작: 인접 한 VlanId 가 0이 아니고 인터페이스 VLAN ID 중 하나와 일치하지 않습니다.

오프로드 쿼리, 업데이트, 무효화 또는 종료: 허용되는 상태 값이 아닙니다.

NDIS_STATUS_OFFLOAD_PATH_MTU

TCP 연결에 대한 경로 MTU가 오프로드 대상이 지원하는 것보다 큽니다.

오프로드 쿼리, 업데이트, 무효화 또는 종료: 허용되는 상태 값이 아닙니다.

NdisReserved[2]

NDIS에서 사용하도록 예약되었습니다.

MiniportOffloadContext

오프로드 대상이 PVOID 값을 쓰는 메모리 위치에 대한 포인터입니다. PVOID 값은 오프로드 대상이 NDIS_MINIPORT_OFFLOAD_BLOCK_LIST 구조와 연결된 상태를 저장하는 오프로드 컨텍스트 영역을 참조합니다. 상태가 오프로드 대상에 의해 오프로드될 새 상태인 경우 MiniportOffloadContext 가 가리키는 메모리 위치에 NULL 값이 포함됩니다. 상태를 오프로드한 후 오프로드 대상은 이 메모리 위치에 PVOID 값을 씁니다. 오프로드 대상에서 제공하는 PVOID 값은 상태가 오프로드된 오프로드 컨텍스트 영역을 참조합니다. MiniportOffloadContext 멤버 자체가 NULL인 경우 NDIS_MINIPORT_OFFLOAD_BLOCK_LIST 구조체는 오프로드 상태 트리의 자리 표시자입니다.

NdisOffloadHandle

에 대한 후속 호출에서 오프로드 대상이 제공하는 핸들입니다. NdisTcpOffloadEventHandler 함수 또는 NdisTcpOffloadReceiveHandler 함수는 이 NDIS_MINIPORT_OFFLOAD_BLOCK_LIST 구조와 연결된 오프로드 상태를 표시할 때 작동합니다.

ProtocolReserved[2]

프로토콜 드라이버에서 사용하도록 예약되어 있습니다. 이 영역은 고유한 용도로 사용할 수 있습니다. 오프로드 대상은 이 값을 수정해서는 안 됩니다.

MiniportReserved[2]

NDIS_MINIPORT_OFFLOAD_BLOCK_LIST 구조와 연결된 오프로드 상태를 큐에 대기하는 등 고유한 용도로 이 영역을 사용할 수 있는 오프로드 대상에서 사용하도록 예약됩니다.

ImReserved[2]

이 영역을 고유한 용도로 사용할 수 있는 중간 드라이버에서 사용하도록 예약되어 있습니다. 오프로드 대상은 이 값을 수정해서는 안 됩니다.

Scratch[2]

오프로드 대상은 내부 추적에 이 영역을 사용할 수 있습니다. 이 영역의 정보는 오프로드 대상에 NDIS_MINIPORT_OFFLOAD_BLOCK_LIST 소유권이 있는 경우에만 유효합니다.

SourceHandle

이 멤버는 오프로드 대상에 중요하지 않습니다. 오프로드 대상은 이 멤버를 수정해서는 안됩니다.

PortNumber

미니포트 어댑터 포트를 식별하는 포트 번호입니다. 미니포트 어댑터 포트 번호를 할당하려면 NdisMAllocatePort 함수를 호출합니다. 0 값은 미니포트 어댑터의 기본 포트를 식별합니다. 미니포트 드라이버가 지정된 어댑터에 대한 포트를 할당하지 않은 경우 기본 포트를 사용합니다.

NetBufferListChain

호스트 스택이 NULL 값을 지정하는 경우 NetBufferListChain 은 중요하지 않으며 오프로드 대상에서 무시할 수 있습니다.

호스트 스택이 NULL 이 아닌 값을 지정하는 경우 NetBufferListChain 은 독립 실행 형 구조체 또는 이러한 구조체의 연결된 목록에서 첫 번째 구조체일 수 있는 NET_BUFFER_LIST 구조를 가리킵니다. 연결된 목록의 각 NET_BUFFER_LIST 구조체는 하나의 NET_BUFFER 구조를 설명합니다. NET_BUFFER 구조체는 MDL(메모리 설명자 목록) 체인에 매핑됩니다. NET_BUFFER_LIST 및 관련 구조체는 잠겨 있으므로 실제 메모리에 상주합니다. 그러나 시스템 메모리에 매핑되지 않습니다.

NET_BUFFER 구조와 연결된 MDL에는 호스트 스택이 오프로드 작업의 일부로 오프로드 대상에 전달하는 데이터가 포함됩니다. 오프로드 대상은 적절한 NdisTcpOffloadXxxComplete 함수를 호출하여 이러한 데이터를 호스트 스택으로 비동기적으로 다시 완료합니다. 현재 연결된 목록에는 미해결 송신 데이터라는 한 가지 유형의 데이터만 포함될 수 있습니다. 자세한 내용은 오프로드 작업 중 및 후 미해결 송신 데이터 처리를 참조하세요.

오프로드 대상은 TCP 연결의 오프로드를 종료할 때 미해결 전송 데이터를 호스트 스택에 전달할 수 있습니다. 이 경우 오프로드 대상은 를 호출할 때 NetBufferListChain 멤버에 대해 NULL이 아닌 값을 지정합니다. NdisMTerminateOffloadComplete 함수. 오프로드 대상이 종료되는 TCP 연결에 대한 송신 데이터를 전달하지 않는 경우 NetBufferListChain 멤버에 대해 NULL 값을 지정해야 합니다.

설명

NDIS_MINIPORT_OFFLOAD_BLOCK_LIST 구조를 함께 연결하여 TCP 굴뚝 오프로드 상태 트리의 프레임워크를 빌드할 수 있습니다.

NDIS를 통해 호스트 스택은 오프로드 상태 트리를 오프로드 대상의 다음 함수 중 하나에 참조하는 OffloadBlockList 포인터를 전달합니다.

오프로드 대상은 동일한 포인터를 해당 완료 함수에 전달하여 트리를 호스트 스택으로 반환합니다. NDIS_MINIPORT_OFFLOAD_BLOCK_LIST 구조체는 오프로드, 쿼리, 업데이트, 무효화 또는 종료할 상태를 포함하는 오프로드 상태 구조 로 메모리에서 바로 뒤에 올 수 있습니다. NDIS_MINIPORT_OFFLOAD_BLOCK_LIST 구조체 헤더Type 멤버는 메모리의 NDIS_MINIPORT_OFFLOAD_BLOCK_LIST 구조 뒤에 있는 특정 오프로드 상태 구조체(또는 구조체)와 관련된 오프로드 상태의 형식을 지정합니다.

호스트 스택 및 오프로드 대상은 NDIS_MINIPORT_OFFLOAD_BLOCK_LIST 구조체의 *MiniportOffloadContextNdisOffloadHandle 멤버를 사용하여 오프로드된 상태를 참조합니다. 자세한 내용은 오프로드된 상태 저장 및 참조를 참조하세요.

NDIS_MINIPORT_OFFLOAD_BLOCK_LIST 구조체는 오프로드 상태 트리에서 여러 함수 중 하나를 수행할 수 있습니다. 자리 표시자, 링커로 작동하거나 오프로드 대상에 의해 오프로드될 새 상태를 전달할 수 있습니다. 자세한 내용은 자리 표시자, 링커 및 새 오프로드를 참조하세요.

오프로드 시작, 쿼리 오프로드, 업데이트 오프로드, 오프로드 무효화 또는 오프로드 종료 작업을 완료하기 전에 오프로드 대상은 완료 상태 상태 트리의 각 NDIS_MINIPORT_OFFLOAD_BLOCK_LIST 구조의 상태 멤버에 기록해야 합니다.

요구 사항

요구 사항
헤더 ndischimney.h(Ndischimney.h 포함)

추가 정보

MiniportInitiateOffload

MiniportInvalidateOffload

MiniportQueryOffload

MiniportTerminateOffload

MiniportUpdateOffload

NDIS_OBJECT_HEADER

NEIGHBOR_OFFLOAD_STATE_CACHED

NEIGHBOR_OFFLOAD_STATE_DELEGATED

NdisMAllocatePort

NdisMInitiateOffloadComplete

NdisMInvalidateOffloadComplete NdisMQueryOffloadStateComplete NdisMTerminateOffloadComplete

NdisMUpdateOffloadComplete

NdisTcpOffloadEventHandler

NdisTcpOffloadReceiveHandler

PATH_OFFLOAD_STATE_CACHED

PATH_OFFLOAD_STATE_CONST

PATH_OFFLOAD_STATE_DELEGATED

TCP_OFFLOAD_STATE_CACHED

TCP_OFFLOAD_STATE_CONST

TCP_OFFLOAD_STATE_DELEGATED