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 メンバーを次のいずれかの値に設定します。
IPv4Checksum
ミニポート アダプターの IPv4 チェックサム設定。 詳細については、「解説」を参照してください。
TCPIPv4Checksum
TCP パケットのミニポート アダプターの IPv4 チェックサム設定。 詳細については、「解説」を参照してください。
UDPIPv4Checksum
UDP パケットのミニポート アダプターの IPv4 チェックサム設定。 詳細については、「解説」を参照してください。
TCPIPv6Checksum
TCP パケットのミニポート アダプターの IPv6 チェックサム設定。 詳細については、「解説」を参照してください。
UDPIPv6Checksum
UDP パケットのミニポート アダプターの IPv6 チェックサム設定。 詳細については、「解説」を参照してください。
LsoV1
ミニポート アダプターの大きな送信オフロード バージョン 1 (LSOV1) 設定。 この設定は、次のいずれかの値である必要があります。
値 | 意味 |
---|---|
|
ミニポート ドライバーは、現在の設定を変更しないでください。 |
|
LSOV1 は無効です。 |
|
LSOV1 が有効になっています。 |
IPsecV1
ミニポート アダプターのインターネット プロトコル セキュリティ (IPsec) オフロード設定。 この設定は、次のいずれかの値である必要があります。
LsoV2IPv4
ミニポート アダプターの IPv4 大送信オフロード バージョン 2 (LSOV2) 設定。 この設定は、次のいずれかの値である必要があります。
値 | 意味 |
---|---|
|
ミニポート ドライバーは、現在の設定を変更しないでください。 |
|
LSOV2 for IPv4 は無効です。 |
|
LSOV2 for IPv4 が有効になっています。 |
LsoV2IPv6
ミニポート アダプターの IPv6 LSOV2 設定。 これらの設定は、次のいずれかの値として指定されます。
TcpConnectionIPv4
ミニポート アダプターの IPv4 接続オフロード設定。 これらの設定は、次のいずれかの値として指定されます。
値 | 意味 |
---|---|
|
ミニポート ドライバーは、現在の設定を変更しないでください。 |
TcpConnectionIPv6
ミニポート アダプターの IPv6 接続オフロード設定。 これらの設定は、次のいずれかの値として指定されます。
値 | 意味 |
---|---|
|
ミニポート ドライバーは、現在の設定を変更しないでください。 |
Flags
ビットごとの OR 演算と組み合わせることができるフラグのセット。 このメンバーを 0 に設定します。 現在、フラグは定義されていません。
IPsecV2
IPv6 と IPv4 をサポートするミニポート アダプターのインターネット プロトコル セキュリティ (IPsec) オフロード バージョン 2 の設定。 このメンバーは、IPv6 と IPv4 の両方のサポートの設定を指定します。 この設定は、次のいずれかの値である必要があります。
IPsecV2IPv4
IPv4 をサポートし、IPv6 をサポートしていないミニポート アダプターのインターネット プロトコル セキュリティ (IPsec) オフロード バージョン 2 の設定。 ミニポート ドライバーが IPv6 をサポートしている場合、 IPsecV2 メンバーは IPv4 設定を指定し、このメンバーは使用されません。 この設定は、次のいずれかの値である必要があります。
RscIPv4
IPv4 の受信セグメント結合状態を示します。
値 | 意味 |
---|---|
|
RSC の状態は変更されません。 |
|
RSC 状態が有効になっています。 |
|
RSC 状態は無効です。 |
RscIPv6
IPv6 の受信セグメント結合状態を示します。
値 | 意味 |
---|---|
|
RSC の状態は変更されません。 |
|
RSC 状態が有効になっています。 |
|
RSC 状態は無効です。 |
EncapsulatedPacketTaskOffload
プロトコル ドライバーは、 次のようにカプセル化PacketTaskOffload を 設定します。
値 | 意味 |
---|---|
|
NVGRE および VXLAN タスク オフロードの状態は変更されません。 |
|
NVGRE タスクと VXLAN タスク オフロードを有効にします。 |
|
NVGRE および VXLAN タスク オフロードを無効にします。 |
EncapsulationTypes
このフィールドは、 カプセル化されたPacketTaskOffload が NDIS_OFFLOAD_SET_ONに設定されている場合にのみ有効です。 カプセル化されたPacketTaskOffload メンバーがNDIS_OFFLOAD_SET_ONに設定されていない場合、このメンバーは 0 になります。 プロトコル ドライバーは 、必要なカプセル化 の種類に対応するフラグのビットごとの OR にカプセル化の種類を設定する必要があります。 次の中からフラグを選択できます。
値 | 意味 |
---|---|
|
GRE MAC カプセル化 (NVGRE) を指定します。 |
|
VXLAN カプセル化を指定します。 |
EncapsulationProtocolParameters
VXLAN カプセル化のカプセル化パラメーターを記述する共用体。
ミニポート ドライバーが VxlanUDPPortNumerConfigurable を TRUE としてアドバタイズした場合、プロトコル ドライバーは 、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) 設定。 この設定は、次のいずれかの値である必要があります。
値 | 意味 |
---|---|
|
ミニポート ドライバーは、現在の設定を変更しないでください。 |
|
USO が無効になっています。 |
|
USO が有効になっています。 |
UdpSegmentation.IPv6
ミニポート アダプターの IPv6 UDP セグメント化オフロード (USO) 設定。 この設定は、次のいずれかの値である必要があります。
値 | 意味 |
---|---|
|
ミニポート ドライバーは、現在の設定を変更しないでください。 |
|
USO が無効になっています。 |
|
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 を含む) |
こちらもご覧ください
OID_TCP_OFFLOAD_HARDWARE_CAPABILITIESフィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示