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_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 플래그입니다. 다음 플래그가 정의됩니다.
| 값 | 의미 |
|---|---|
|
네트워크 어댑터는 IPsecV2 및 TCP 체크섬을 지원합니다. |
|
네트워크 어댑터는 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 형식 패킷에 대한 작업 오프로드를 지원하는 미니포트 드라이버에서만 설정해야 합니다.
EncapsulatedPacketTaskOffloadVxlan
VXLAN 캡슐화된 패킷 태스크는 NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_V2 구조의 정보를 오프로드합니다. 이 멤버는 VXLAN 형식 패킷에 대한 작업 오프로드를 지원하는 미니포트 드라이버에서만 설정해야 합니다. VXLAN은 NVGRE와 비슷하지만 다른 프로토콜을 사용합니다.
EncapsulationTypes
캡슐화된 패킷 태스크 오프로드에 사용할 수 있는 캡슐화 형식입니다.
Rfc6877Xlat
464XLAT 하드웨어는 NDIS_RFC6877_464XLAT_OFFLOAD 구조의 정보를 오프로드합니다.
UdpSegmentation
UDP USO(Segmentation Offload) 하드웨어는 NDIS_UDP_SEGMENTATION_OFFLOAD 구조의 정보를 오프로드합니다.
설명
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
피드백
다음에 대한 사용자 의견 제출 및 보기