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 の RscIPv4RscIPv6カプセル化されたPacketTaskOffloadおよびカプセル化の種類 のメンバーをサポートします。

Size メンバーをNDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_3に設定します。

NDIS_OFFLOAD_PARAMETERS_REVISION_2
2
NDIS 6.1 の IPsecV2IPsecV2IPv4Reserved1、および Reserved2 メンバーをサポートします。

[サイズ] メンバーをNDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_2に設定します。

NDIS_OFFLOAD_PARAMETERS_REVISION_1
1
NDIS 6.0 の元のバージョン。

[サイズ] メンバーを [NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_1] に設定します。

IPv4Checksum

ミニポート アダプターの IPv4 チェックサム設定。 詳細については、「解説」を参照してください。

TCPIPv4Checksum

TCP パケットのミニポート アダプターの IPv4 チェックサム設定。 詳細については、「解説」を参照してください。

UDPIPv4Checksum

UDP パケットのミニポート アダプターの IPv4 チェックサム設定。 詳細については、「解説」を参照してください。

TCPIPv6Checksum

TCP パケットのミニポート アダプターの IPv6 チェックサム設定。 詳細については、「解説」を参照してください。

UDPIPv6Checksum

UDP パケットのミニポート アダプターの IPv6 チェックサム設定。 詳細については、「解説」を参照してください。

LsoV1

ミニポート アダプターの大きな送信オフロード バージョン 1 (LSOV1) 設定。 この設定は、次のいずれかの値である必要があります。

意味
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
LSOV2 for IPv4 は無効です。
NDIS_OFFLOAD_PARAMETERS_LSOV2_ENABLED
LSOV2 for IPv4 が有効になっています。

LsoV2IPv6

ミニポート アダプターの IPv6 LSOV2 設定。 これらの設定は、次のいずれかの値として指定されます。

意味
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE
ミニポート ドライバーは、現在の設定を変更しないでください。
NDIS_OFFLOAD_PARAMETERS_LSOV2_DISABLED
LSOV2 for IPv6 は無効になっています。
NDIS_OFFLOAD_PARAMETERS_LSOV2_ENABLED
LSOV2 for IPv6 が有効になっています。

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

プロトコル ドライバーは、 次のようにカプセル化PacketTaskOffload を 設定します。

メモ VMQ や RSS などの受信側オフロードの場合、プロトコル ドライバーがオフロード パラメーター (キュー、ハッシュ、間接テーブルなど) を有効にして構成するために送信する他のセット OID があります。 カプセル化されたPacketTaskOffload メンバーは、これらの 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

このフィールドは、 カプセル化されたPacketTaskOffloadNDIS_OFFLOAD_SET_ONに設定されている場合にのみ有効です。 カプセル化されたPacketTaskOffload メンバーがNDIS_OFFLOAD_SET_ONに設定されていない場合、このメンバーは 0 になります。 プロトコル ドライバーは 、必要なカプセル化 の種類に対応するフラグのビットごとの OR にカプセル化の種類を設定する必要があります。 次の中からフラグを選択できます。

意味
NDIS_ENCAPSULATION_TYPE_GRE_MAC
0x00000001
GRE MAC カプセル化 (NVGRE) を指定します。
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構造でアドバタイズされた構成可能なポート番号をサポートしている場合、プロトコル ドライバーは VxlanUDPPortNumber で別の値を持つNDIS_ENCAPSULATION_TYPE_VXLANを有効にするOID_TCP_OFFLOAD_PARAMETERS OID を発行できます。 ミニポート ドライバーは 、VxlanUDPPortNumber を使用して、受信オフロードを実行するための VXLAN カプセル化されたパケットを決定する必要があります。

EncapsulationProtocolParameters.Value

カプセル化の種類が NDIS_ENCAPSULATION_TYPE_VXLAN に設定されていない場合のポート値。

_ENCAPSULATION_PROTOCOL_PARAMETERS

EncapsulationProtocolParameters の型名。

UdpSegmentation

ミニポート アダプターの UDP セグメント化オフロード (USO) 設定を記述する構造体。

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
Header ntddndis.h (Ndis.h を含む)

こちらもご覧ください

NDIS_OBJECT_HEADER

OID_TCP_OFFLOAD_HARDWARE_CAPABILITIES

OID_TCP_OFFLOAD_PARAMETERS