NDIS_OFFLOAD 구조체(ntddndis.h)
NDIS_OFFLOAD 구조는 네트워크 어댑터로 오프로드할 수 있는 여러 계산 작업을 지정합니다.
구문
typedef struct _NDIS_OFFLOAD {
NDIS_OBJECT_HEADER Header;
NDIS_TCP_IP_CHECKSUM_OFFLOAD Checksum;
NDIS_TCP_LARGE_SEND_OFFLOAD_V1 LsoV1;
NDIS_IPSEC_OFFLOAD_V1 IPsecV1;
NDIS_TCP_LARGE_SEND_OFFLOAD_V2 LsoV2;
ULONG Flags;
NDIS_IPSEC_OFFLOAD_V2 IPsecV2;
NDIS_TCP_RECV_SEG_COALESCE_OFFLOAD Rsc;
NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD EncapsulatedPacketTaskOffloadGre;
NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_V2 EncapsulatedPacketTaskOffloadVxlan;
UCHAR EncapsulationTypes;
NDIS_RFC6877_464XLAT_OFFLOAD Rfc6877Xlat;
NDIS_UDP_SEGMENTATION_OFFLOAD UdpSegmentation;
NDIS_UDP_RSC_OFFLOAD UdpRsc;
} NDIS_OFFLOAD, *PNDIS_OFFLOAD;
멤버
Header
NDIS_OFFLOAD 구조체에 대한 NDIS_OBJECT_HEADER 구조체입니다. Header에서 지정하는 구조체의 Type 멤버를 NDIS_OBJECT_TYPE_OFFLOAD 설정합니다.
다음과 같이 NDIS_OBJECT_HEADER 구조체의 Revision 및 Size 멤버를 설정합니다.
- NDIS 6.83 이상 드라이버의 경우:
- 수정 버전을 NDIS_OFFLOAD_REVISION_6(NDIS 6.83)으로 설정합니다.
- 크기를 NDIS_SIZEOF_NDIS_OFFLOAD_REVISION_6 설정합니다.
- NDIS 6.70 이상 드라이버의 경우:
- 수정 버전을 NDIS_OFFLOAD_REVISION_5(NDIS 6.70)로 설정합니다.
- 크기를 NDIS_SIZEOF_NDIS_OFFLOAD_REVISION_5 설정합니다.
- NDIS 6.50 이상 드라이버의 경우:
- 수정 버전을 NDIS_OFFLOAD_REVISION_4(NDIS 6.50)로 설정합니다.
- 크기를 NDIS_SIZEOF_NDIS_OFFLOAD_REVISION_4 설정합니다.
- NDIS 6.30 이상 드라이버의 경우:
- 수정 버전을 NDIS_OFFLOAD_REVISION_3(NDIS 6.30)로 설정합니다.
- 크기를 NDIS_SIZEOF_NDIS_OFFLOAD_REVISION_3 설정합니다.
- NDIS 6.1 및 6.20 드라이버의 경우:
- 수정 버전을 NDIS_OFFLOAD_REVISION_2(NDIS 6.1)로 설정합니다.
- 크기를 NDIS_SIZEOF_NDIS_OFFLOAD_REVISION_2 설정합니다.
- NDIS 6.0 드라이버의 경우:
- 수정 버전을 NDIS_OFFLOAD_REVISION_1(NDIS 6.0)로 설정합니다.
- 크기를 NDIS_SIZEOF_NDIS_OFFLOAD_REVISION_1 설정합니다.
Checksum
체크섬은 NDIS_TCP_IP_CHECKSUM_OFFLOAD 구조체의 정보를 오프로드합니다.
LsoV1
NDIS_TCP_LARGE_SEND_OFFLOAD_V1 구조의 LSOV1(대규모 송신 오프로드 버전 1) 정보입니다.
IPsecV1
IPsec(인터넷 프로토콜 보안)은 NDIS_IPSEC_OFFLOAD_V1 구조에서 정보를 오프로드합니다.
LsoV2
LSOV2(대규모 송신 오프로드 버전 2)는 NDIS_TCP_LARGE_SEND_OFFLOAD_V2 구조에서 정보를 오프로드합니다.
Flags
네트워크 어댑터가 지원하는 속성을 지정하는 플래그의 비트 OR입니다. 다음 플래그가 정의됩니다.
값 | 의미 |
---|---|
IPSEC_OFFLOAD_V2_AND_TCP_CHECKSUM_COEXISTENCE 0x00000002 |
네트워크 어댑터는 IPsecV2 및 TCP 체크섬을 지원합니다. |
IPSEC_OFFLOAD_V2_AND_UDP_CHECKSUM_COEXISTENCE 0x00000004 |
네트워크 어댑터는 IPsecV2 및 UDP 체크섬을 지원합니다. |
IPsecV2
IPsec(인터넷 프로토콜 보안)은 NDIS_IPSEC_OFFLOAD_V2 구조에서 버전 2 정보를 오프로드합니다.
Rsc
NDIS_TCP_RECV_SEG_COALESCE_OFFLOAD 구조에서RSC(세그먼트 병합) 오프로드 정보를 수신합니다.
EncapsulatedPacketTaskOffloadGre
NVGRE(일반 라우팅 캡슐화)를 사용한 네트워크 가상화 태스크는 NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD 구조에서 정보를 오프로드합니다. 이 멤버는 NVGRE 형식 패킷에 대한 작업 오프로드를 지원하는 미니포트 드라이버에서만 설정해야 합니다.
참고: 이 멤버는 NDIS 6.30 이상에서만 사용할 수 있습니다.
EncapsulatedPacketTaskOffloadVxlan
VXLAN 캡슐화된 패킷 작업은 NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_V2 구조에서 정보를 오프로드합니다. 이 멤버는 VXLAN 형식 패킷에 대한 작업 오프로드를 지원하는 미니포트 드라이버에서만 설정해야 합니다. VXLAN은 NVGRE와 비슷하지만 다른 프로토콜을 사용합니다.
참고: 이 멤버는 NDIS 6.50 이상에서만 사용할 수 있습니다.
EncapsulationTypes
캡슐화된 패킷 태스크 오프로드에 사용할 수 있는 캡슐화 유형입니다.
참고: 이 멤버는 NDIS 6.50 이상에서만 사용할 수 있습니다.
Rfc6877Xlat
464XLAT 하드웨어는 NDIS_RFC6877_464XLAT_OFFLOAD 구조의 정보를 오프로드합니다.
참고: 이 멤버는 NDIS 6.70 이상에서만 사용할 수 있습니다.
UdpSegmentation
UDP USO(세그먼트 오프로드) 하드웨어는 NDIS_UDP_SEGMENTATION_OFFLOAD 구조에서 정보를 오프로드합니다.
참고: 이 멤버는 NDIS 6.83 이상에서만 사용할 수 있습니다.
UdpRsc
UDP URO(수신 세그먼트 병합 오프로드) 하드웨어는 NDIS_UDP_RSC_OFFLOAD 구조에서 정보를 오프로드합니다.
참고: 이 멤버는 NDIS 6.89 이상에서만 사용할 수 있습니다.
설명
NDIS_OFFLOAD 구조체는 다음 위치에서 사용됩니다.
- NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES 구조체의 DefaultOffloadConfiguration 멤버
- NDIS_BIND_PARAMETERS 구조체의 DefaultOffloadConfiguration 멤버
- NDIS_FILTER_ATTACH_PARAMETERS 구조체의 DefaultOffloadConfiguration 멤버
- NDIS_OID_REQUEST 구조체의 InformationBuffer 멤버(OID_TCP_OFFLOAD_CURRENT_CONFIG OID 요청에 사용됨)
- NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG 상태 표시의 StatusBuffer 멤버
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista,NDIS 6.0 이상에서 지원됩니다. |
지원되는 최소 서버 | Windows Server 2008 |
머리글 | ntddndis.h(Ndis.h 포함) |
추가 정보
NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES
NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG
NDIS_TCP_LARGE_SEND_OFFLOAD_V1
NDIS_TCP_LARGE_SEND_OFFLOAD_V2
NVGRE(일반 라우팅 캡슐화) 태스크 오프로드를 사용한 네트워크 가상화
OID_TCP_OFFLOAD_CURRENT_CONFIG