Share via


NDIS_OFFLOAD_PARAMETERS 구조체(ntddndis.h)

NDIS_OFFLOAD_PARAMETERS 구조는 OID_TCP_OFFLOAD_PARAMETERS OID 집합 요청에 대한 응답으로 현재 작업 오프로드 구성 설정을 지정합니다.

구문

typedef struct _NDIS_OFFLOAD_PARAMETERS {
  NDIS_OBJECT_HEADER                 Header;
  UCHAR                              IPv4Checksum;
  UCHAR                              TCPIPv4Checksum;
  UCHAR                              UDPIPv4Checksum;
  UCHAR                              TCPIPv6Checksum;
  UCHAR                              UDPIPv6Checksum;
  UCHAR                              LsoV1;
  UCHAR                              IPsecV1;
  UCHAR                              LsoV2IPv4;
  UCHAR                              LsoV2IPv6;
  UCHAR                              TcpConnectionIPv4;
  UCHAR                              TcpConnectionIPv6;
  ULONG                              Flags;
  UCHAR                              IPsecV2;
  UCHAR                              IPsecV2IPv4;
  struct {
    UCHAR RscIPv4;
    UCHAR RscIPv6;
  };
  struct {
    UCHAR EncapsulatedPacketTaskOffload;
    UCHAR EncapsulationTypes;
  };
  union {
    struct {
      USHORT VxlanUDPPortNumber;
    } VxlanParameters;
    ULONG Value;
  } EncapsulationProtocolParameters;
  _ENCAPSULATION_PROTOCOL_PARAMETERS _ENCAPSULATION_PROTOCOL_PARAMETERS;
  struct {
    UCHAR IPv4;
    UCHAR IPv6;
  } UdpSegmentation;
} NDIS_OFFLOAD_PARAMETERS, *PNDIS_OFFLOAD_PARAMETERS;

멤버

Header

NDIS_OFFLOAD_PARAMETERS 구조체의 NDIS_OBJECT_HEADER 구조체입니다. Header에서 지정하는 구조체의 Type 멤버를 NDIS_OBJECT_TYPE_DEFAULT 설정합니다.

NDIS_OFFLOAD_PARAMETERS 구조체의 버전을 나타내려면 Revision 멤버를 다음 값 중 하나로 설정합니다.

의미
NDIS_OFFLOAD_PARAMETERS_REVISION_3
3
NDIS 6.30에 대한 RscIPv4 , RscIPv6, EncapsulatedPacketTaskOffloadEncapsulationTypes 멤버를 지원합니다.

Size 멤버를 NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_3 설정합니다.

NDIS_OFFLOAD_PARAMETERS_REVISION_2
2
NDIS 6.1용 IPsecV2, IPsecV2IPv4, Reserved1Reserved2 멤버를 지원합니다.

Size 멤버를 NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_2 설정합니다.

NDIS_OFFLOAD_PARAMETERS_REVISION_1
1
NDIS 6.0의 원래 버전입니다.

Size 멤버를 NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_1 설정합니다.

IPv4Checksum

미니포트 어댑터의 IPv4 체크섬 설정입니다. 자세한 내용은 아래 설명 부분을 참조하십시오.

TCPIPv4Checksum

TCP 패킷에 대한 미니포트 어댑터의 IPv4 체크섬 설정입니다. 자세한 내용은 아래 설명 부분을 참조하십시오.

UDPIPv4Checksum

UDP 패킷에 대한 미니포트 어댑터의 IPv4 체크섬 설정입니다. 자세한 내용은 아래 설명 부분을 참조하십시오.

TCPIPv6Checksum

TCP 패킷에 대한 미니포트 어댑터의 IPv6 체크섬 설정입니다. 자세한 내용은 아래 설명 부분을 참조하십시오.

UDPIPv6Checksum

UDP 패킷에 대한 미니포트 어댑터의 IPv6 체크섬 설정입니다. 자세한 내용은 아래 설명 부분을 참조하십시오.

LsoV1

미니포트 어댑터의 LSOV1(대규모 송신 오프로드 버전 1) 설정입니다. 이 설정은 다음 값 중 하나여야 합니다.

의미
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE
미니포트 드라이버는 현재 설정을 변경하지 않아야 합니다.
NDIS_OFFLOAD_PARAMETERS_LSOV1_DISABLED
LSOV1을 사용할 수 없습니다.
NDIS_OFFLOAD_PARAMETERS_LSOV1_ENABLED
LSOV1을 사용할 수 있습니다.

IPsecV1

미니포트 어댑터의 IPsec(인터넷 프로토콜 보안) 오프로드 설정입니다. 이 설정은 다음 값 중 하나여야 합니다.

의미
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE
미니포트 드라이버는 현재 설정을 변경하지 않아야 합니다.
NDIS_OFFLOAD_PARAMETERS_IPSECV1_DISABLED
IPsec 오프로드를 사용할 수 없습니다.
NDIS_OFFLOAD_PARAMETERS_IPSECV1_AH_ENABLED
전송 및 수신에 대해 IPsec 오프로드 AH(인증 헤더) 기능을 사용하도록 설정해야 합니다.
NDIS_OFFLOAD_PARAMETERS_IPSECV1_ESP_ENABLED
전송 및 수신에 대해 IPsec 오프로드 ESP(캡슐화 보안 페이로드) 기능을 사용하도록 설정해야 합니다.
NDIS_OFFLOAD_PARAMETERS_IPSECV1_AH_AND_ESP_ENABLED
IPsec 오프로드 AH 및 ESP 기능은 전송 및 수신을 위해 사용할 수 있습니다.

LsoV2IPv4

미니포트 어댑터의 IPv4 대형 송신 오프로드 버전 2(LSOV2) 설정입니다. 이 설정은 다음 값 중 하나여야 합니다.

의미
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE
미니포트 드라이버는 현재 설정을 변경하지 않아야 합니다.
NDIS_OFFLOAD_PARAMETERS_LSOV2_DISABLED
IPv4용 LSOV2를 사용할 수 없습니다.
NDIS_OFFLOAD_PARAMETERS_LSOV2_ENABLED
IPv4용 LSOV2를 사용할 수 있습니다.

LsoV2IPv6

미니포트 어댑터의 IPv6 LSOV2 설정입니다. 이러한 설정은 다음 값 중 하나로 지정됩니다.

의미
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE
미니포트 드라이버는 현재 설정을 변경하지 않아야 합니다.
NDIS_OFFLOAD_PARAMETERS_LSOV2_DISABLED
IPv6용 LSOV2를 사용할 수 없습니다.
NDIS_OFFLOAD_PARAMETERS_LSOV2_ENABLED
IPv6용 LSOV2를 사용할 수 있습니다.

TcpConnectionIPv4

미니포트 어댑터의 IPv4 연결 오프로드 설정입니다. 이러한 설정은 다음 값 중 하나로 지정됩니다.

의미
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE
미니포트 드라이버는 현재 설정을 변경하지 않아야 합니다.

TcpConnectionIPv6

미니포트 어댑터의 IPv6 연결 오프로드 설정입니다. 이러한 설정은 다음 값 중 하나로 지정됩니다.

의미
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE
미니포트 드라이버는 현재 설정을 변경하지 않아야 합니다.

Flags

비트 OR 연산과 결합할 수 있는 플래그 집합입니다. 이 멤버를 0으로 설정합니다. 현재 정의된 플래그가 없습니다.

IPsecV2

IPv6 및 IPv4를 지원하는 미니포트 어댑터의 IPsec(인터넷 프로토콜 보안) 오프로드 버전 2 설정입니다. 이 멤버는 IPv6 및 IPv4 지원 모두에 대한 설정을 지정합니다. 이 설정은 다음 값 중 하나여야 합니다.

의미
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE
미니포트 드라이버는 현재 설정을 변경하지 않아야 합니다.
NDIS_OFFLOAD_PARAMETERS_IPSECV2_DISABLED
IPsec 오프로드 버전 2를 사용할 수 없습니다.
NDIS_OFFLOAD_PARAMETERS_IPSECV2_AH_ENABLED
전송 및 수신에 대해 IPsec 오프로드 버전 2 AH(인증 헤더) 기능을 사용하도록 설정해야 합니다.
NDIS_OFFLOAD_PARAMETERS_IPSECV2_ESP_ENABLED
전송 및 수신에 대해 IPsec 오프로드 버전 2 ESP(보안 페이로드 캡슐화) 기능을 사용하도록 설정해야 합니다.
NDIS_OFFLOAD_PARAMETERS_IPSECV2_AH_AND_ESP_ENABLED
IPsec 오프로드 버전 2A H 및 ESP 기능은 전송 및 수신에 사용할 수 있습니다.

IPsecV2IPv4

IPv4를 지원하고 IPv6을 지원하지 않는 미니포트 어댑터의 IPsec(인터넷 프로토콜 보안) 오프로드 버전 2 설정입니다. 미니포트 드라이버가 IPv6을 지원하는 경우 IPsecV2 멤버는 IPv4 설정을 지정하고 이 멤버는 사용되지 않습니다. 이 설정은 다음 값 중 하나여야 합니다.

의미
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE
미니포트 드라이버는 현재 설정을 변경하지 않아야 합니다.
NDIS_OFFLOAD_PARAMETERS_IPSECV2_DISABLED
IPsec 오프로드 버전 2를 사용할 수 없습니다.
NDIS_OFFLOAD_PARAMETERS_IPSECV2_AH_ENABLED
전송 및 수신에 대해 IPsec 오프로드 버전 2 AH(인증 헤더) 기능을 사용하도록 설정해야 합니다.
NDIS_OFFLOAD_PARAMETERS_IPSECV2_ESP_ENABLED
전송 및 수신에 대해 IPsec 오프로드 버전 2 ESP(보안 페이로드 캡슐화) 기능을 사용하도록 설정해야 합니다.
NDIS_OFFLOAD_PARAMETERS_IPSECV2_AH_AND_ESP_ENABLED
IPsec 오프로드 버전 2A H 및 ESP 기능은 전송 및 수신에 사용할 수 있습니다.

RscIPv4

IPv4에 대한 수신 세그먼트 병합 상태를 나타냅니다.

의미
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE
RSC 상태는 변경되지 않습니다.
NDIS_OFFLOAD_PARAMETERS_RSC_ENABLED
RSC 상태가 사용하도록 설정됩니다.
NDIS_OFFLOAD_PARAMETERS_RSC_DISABLED
RSC 상태를 사용할 수 없습니다.

RscIPv6

IPv6에 대한 수신 세그먼트 병합 상태를 나타냅니다.

의미
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE
RSC 상태는 변경되지 않습니다.
NDIS_OFFLOAD_PARAMETERS_RSC_ENABLED
RSC 상태가 사용하도록 설정됩니다.
NDIS_OFFLOAD_PARAMETERS_RSC_DISABLED
RSC 상태를 사용할 수 없습니다.

EncapsulatedPacketTaskOffload

프로토콜 드라이버는 다음과 같이 EncapsulatedPacketTaskOffload 를 설정합니다.

참고 VMQ 및 RSS와 같은 수신 쪽 오프로드의 경우 프로토콜 드라이버가 오프로드 매개 변수(예: 큐, 해시 및 간접 테이블)를 사용하도록 설정하고 구성하기 위해 보내는 다른 집합 OID가 있습니다. EncapsulatedPacketTaskOffload 멤버는 해당 OID를 보완하며 캡슐화된 패킷에 대해 이러한 오프로드도 수행하도록 NIC에 지시합니다.
 
의미
NDIS_OFFLOAD_SET_NO_CHANGE
0
NVGRE 및 VXLAN 작업 오프로드 상태는 변경되지 않습니다.
NDIS_OFFLOAD_SET_ON
1
NVGRE 및 VXLAN 작업 오프로드를 사용하도록 설정합니다.
NDIS_OFFLOAD_SET_OFF
2
NVGRE 및 VXLAN 작업 오프로드를 사용하지 않도록 설정합니다.

EncapsulationTypes

이 필드는 EncapsulatedPacketTaskOffloadNDIS_OFFLOAD_SET_ON 설정된 경우에만 유효합니다. EncapsulatedPacketTaskOffload 멤버가 NDIS_OFFLOAD_SET_ON 설정되지 않은 경우 이 멤버는 0입니다. 프로토콜 드라이버는 EncapsulationTypes 를 필요한 캡슐화 형식에 해당하는 플래그의 비트 OR로 설정해야 합니다. 다음 중에서 플래그를 선택할 수 있습니다.

의미
NDIS_ENCAPSULATION_TYPE_GRE_MAC
0x00000001
NVGRE(GRE MAC 캡슐화)를 지정합니다.
NDIS_ENCAPSULATION_TYPE_VXLAN
0x00000002
VXLAN 캡슐화를 지정합니다.

EncapsulationProtocolParameters

VXLAN 캡슐화에 대한 캡슐화 매개 변수를 설명하는 공용 구조체입니다.

미니포트 드라이버가 VxlanUDPPortNumerConfigurableTRUE로 보급한 경우 프로토콜 드라이버는 EncapsulationProtocolParameters.VxlanParameters.VxlanUDPPortNumber 를 0이 아닌 값으로 설정할 수 있습니다. minport 드라이버는 OID에 성공한 후 VXLAN 프레임을 일치시키고 생성하기 위해 이 포트 번호를 사용하고 해당 기능에서 업데이트된 값을 보급해야 합니다. 프로토콜 드라이버가 0 값을 전달하는 경우 미니포트 드라이버는 표준화된 키워드(keyword) 초기화된 포트 번호를 계속 사용합니다.

EncapsulationProtocolParameters.VxlanParameters

VxlanUDPPortNumber를 포함하는 구조체입니다.

EncapsulationProtocolParameters.VxlanParameters.VxlanUDPPortNumber

VXLAN 대상 포트 값입니다. 이 값은 기본적으로 IANA 할당 값 4789로 설정됩니다. 미니포트 드라이버가 NDIS_OFFLOAD 구조에 보급된 대로 구성 가능한 포트 번호를 지원하는 경우 프로토콜 드라이버는 OID_TCP_OFFLOAD_PARAMETERS OID를 실행하여 VxlanUDPPortNumber에서 다른 값을 가진 NDIS_ENCAPSULATION_TYPE_VXLAN 사용하도록 설정할 수 있습니다. 미니포트 드라이버는 VxlanUDPPortNumber 를 사용하여 수신 오프로드를 수행하기 위해 VXLAN 캡슐화된 패킷을 확인해야 합니다.

EncapsulationProtocolParameters.Value

EncapsulationTypes가 NDIS_ENCAPSULATION_TYPE_VXLAN 설정되지 않은 경우 포트 값입니다.

_ENCAPSULATION_PROTOCOL_PARAMETERS

EncapsulationProtocolParameters의 형식 이름입니다.

UdpSegmentation

미니포트 어댑터의 USO(UDP 구분 오프로드) 설정을 설명하는 구조체입니다.

UdpSegmentation.IPv4

미니포트 어댑터의 IPv4 UDP 구분 오프로드(USO) 설정입니다. 이 설정은 다음 값 중 하나여야 합니다.

의미
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE
0
미니포트 드라이버는 현재 설정을 변경하지 않아야 합니다.
NDIS_OFFLOAD_PARAMETERS_UDP_SEG_DISABLED
1
USO를 사용할 수 없습니다.
NDIS_OFFLOAD_PARAMETERS_UDP_SEG_ENABLED
2
USO를 사용할 수 있습니다.

UdpSegmentation.IPv6

미니포트 어댑터의 IPv6 UDP 구분 오프로드(USO) 설정입니다. 이 설정은 다음 값 중 하나여야 합니다.

의미
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE
0
미니포트 드라이버는 현재 설정을 변경하지 않아야 합니다.
NDIS_OFFLOAD_PARAMETERS_UDP_SEG_DISABLED
1
USO를 사용할 수 없습니다.
NDIS_OFFLOAD_PARAMETERS_UDP_SEG_ENABLED
2
USO를 사용할 수 있습니다.

설명

OID_TCP_OFFLOAD_PARAMETERS OID 집합 요청에 대한 응답으로 미니포트 드라이버는 NDIS_OFFLOAD_PARAMETERS 구조의 설정을 사용하여 미니포트 어댑터의 현재 구성을 설정합니다.

NDIS는 요청된 설정을 레지스트리의 표준화된 키워드 오프로드에 유지합니다. NDIS가 미니포트 어댑터를 다시 시작하면 미니포트 드라이버는 표준화된 오프로드 키워드를 읽고 이를 사용하여 NIC의 기본 오프로드 구성을 설정합니다.

체크섬 오프로드 설정에 액세스하려면 NDIS_OFFLOAD_PARAMETERS 구조체의 다음 멤버를 사용합니다.

IPv4Checksum

TCPIPv4Checksum

UDPIPv4Checksum

TCPIPv6Checksum

UDPIPv6Checksum

위의 멤버는 다음 값 중 하나를 가질 수 있습니다.

NDIS_OFFLOAD_PARAMETERS_NO_CHANGE
미니포트 드라이버는 현재 설정을 변경하지 않아야 합니다.

NDIS_OFFLOAD_PARAMETERS_TX_RX_DISABLED
멤버가 지정하는 기능을 사용할 수 없습니다.

NDIS_OFFLOAD_PARAMETERS_TX_ENABLED_RX_DISABLED
멤버가 지정하는 기능은 전송에 대해 사용하도록 설정되고 수신에 대해 사용하지 않도록 설정됩니다.

NDIS_OFFLOAD_PARAMETERS_RX_ENABLED_TX_DISABLED
멤버가 지정하는 기능은 전송에 대해 수신 및 사용 안 함으로 설정됩니다.

NDIS_OFFLOAD_PARAMETERS_TX_RX_ENABLED
멤버가 지정하는 기능은 전송 및 수신에 사용하도록 설정됩니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista,NDIS 6.0 이상에서 지원됩니다.
지원되는 최소 서버 Windows Server 2008
머리글 ntddndis.h(Ndis.h 포함)

추가 정보

NDIS_OBJECT_HEADER

OID_TCP_OFFLOAD_HARDWARE_CAPABILITIES

OID_TCP_OFFLOAD_PARAMETERS