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 |
NDIS 6.50 の EncapsulationProtocolParameters とその入れ子になった VxlanParameters をサポートします。 Size メンバーをNDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_4に設定します。 |
NDIS_OFFLOAD_PARAMETERS_REVISION_3 3 |
RscIPv4、RscIPv6、EncapsulatedPacketTaskOffload、および NDIS 6.30 の EncapsulationTypes メンバーをサポートします。 Size メンバーをNDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_3に設定します。 |
NDIS_OFFLOAD_PARAMETERS_REVISION_2 2 |
IPsecV2、IPsecV2IPv4、Reserved1、および NDIS 6.1 の Reserved2 メンバーをサポートします。 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
ミニポート アダプターの大きな送信オフロード バージョン 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 | IPv4 用 LSOV2 が無効になっています。 |
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 または次の値に設定します。
価値 | 意味 |
---|---|
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
プロトコル ドライバーは、次のようにカプセル化された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
このフィールドは、EncapsulatedPacketTaskOffload が NDIS_OFFLOAD_SET_ONに設定されている場合にのみ有効です。 EncapsulatedPacketTaskOffload メンバーが NDIS_OFFLOAD_SET_ONに設定されていない場合、このメンバーは 0 になります。 プロトコル ドライバーは、必要なカプセル化の種類 対応するフラグのビットごとの OR に カプセル化の種類を設定する必要があります。 次の中からフラグを選択できます。
価値 | 意味 |
---|---|
NDIS_ENCAPSULATION_TYPE_GRE_MAC 0x00000001 |
GRE MAC カプセル化 (NVGRE) を指定します。 |
NDIS_ENCAPSULATION_TYPE_VXLAN 0x00000002 |
VXLAN カプセル化を指定します。 |
EncapsulationProtocolParameters
VXLAN カプセル化のカプセル化パラメーターを記述する共用体。
ミニポート ドライバー VxlanUDPPortNumerConfigurable を TRUE としてアドバタイズした場合、プロトコル ドライバーは、EncapsulationProtocolParameters.VxlanParameters.VxlanUDPPortNumber 0 以外の値に設定できます。 ミニポート ドライバーは、OID に成功した後に VXLAN フレームの照合と生成にこのポート番号を使用する必要があります。また、その機能で更新された値をアドバタイズする必要があります。 プロトコル ドライバーが 0の値を渡す場合、ミニポート ドライバーは、標準化されたキーワードから初期化されたポート番号を引き続き使用します。
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
EncapsulationTypes が NDIS_ENCAPSULATION_TYPE_VXLAN に設定されていない場合のポート値。
_ENCAPSULATION_PROTOCOL_PARAMETERS
EncapsulationProtocolParametersの型名。
UdpSegmentation
ミニポート アダプターの UDP セグメント化オフロード (USO) 設定を記述する構造体。
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 を含む) |