다음을 통해 공유


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;
  struct {
    UCHAR Enabled;
  } UdpRsc;
} 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_6
6
NDIS 6.89에 대한 UdpRsc 멤버를 지원합니다. Size 멤버를 NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_6 설정합니다.
NDIS_OFFLOAD_PARAMETERS_REVISION_5
5
NDIS 6.83용 IPv4 및 IPv6에 대한 UdpSegmentation 을 지원합니다. Size 멤버를 NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_5 설정합니다.
NDIS_OFFLOAD_PARAMETERS_REVISION_4
4
EncapsulationProtocolParameters 및 NDIS 6.50에 대한 중첩된 VxlanParameters를 지원합니다. Size 멤버를 NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_4 설정합니다.
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 또는 다음 값으로 설정합니다.

의미
NDIS_OFFLOAD_PARAMETERS_SKIP_REGISTRY_UPDATE
0x00000001
UDP URO(수신 세그먼트 병합 오프로드)를 런타임에만 사용하지 않도록 설정할 수 있습니다. 이 플래그를 사용하여 변경한 내용은 레지스트리에 저장되지 않습니다.

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 오프로드 버전 2 AH 및 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 오프로드 버전 2 AH 및 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이 아닌 값으로 설정할 수 있습니다. 미니포트 드라이버는 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 미니포트 드라이버는 현재 설정을 변경하지 않아야 합니다.
NDIS_OFFLOAD_PARAMETERS_UDP_SEG_DISABLED USO를 사용할 수 없습니다.
NDIS_OFFLOAD_PARAMETERS_UDP_SEG_ENABLED USO를 사용할 수 있습니다.

UdpSegmentation.IPv6

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

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

UdpRsc

미니포트 어댑터의 UDP 수신 세그먼트 병합 오프로드(URO) 설정을 설명하는 구조체입니다.

UdpRsc.Enabled

미니포트 어댑터의 URO 설정입니다. 이 설정은 다음 값 중 하나여야 합니다.

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

설명

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