NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES構造体 (netreceivescaling.h)
NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES構造では、ネット アダプターの受信側スケーリング (RSS) 機能について説明します。
構文
typedef struct _NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES {
ULONG Size;
SIZE_T NumberOfQueues;
SIZE_T IndirectionTableSize;
SIZE_T UnhashedTargetIndex;
NET_ADAPTER_RECEIVE_SCALING_UNHASHED_TARGET_TYPE UnhashedTargetType;
NET_ADAPTER_RECEIVE_SCALING_HASH_TYPE ReceiveScalingHashTypes;
NET_ADAPTER_RECEIVE_SCALING_PROTOCOL_TYPE ReceiveScalingProtocolTypes;
struct {
NET_ADAPTER_RECEIVE_SCALING_ENCAPSULATION_TYPE Outer;
NET_ADAPTER_RECEIVE_SCALING_ENCAPSULATION_TYPE Inner;
} ReceiveScalingEncapsulationTypes;
_RECEIEVE_SCALING_ENCAPSULATION _RECEIEVE_SCALING_ENCAPSULATION;
BOOLEAN SynchronizeSetIndirectionEntries;
PFN_NET_ADAPTER_RECEIVE_SCALING_ENABLE EvtAdapterReceiveScalingEnable;
PFN_NET_ADAPTER_RECEIVE_SCALING_DISABLE EvtAdapterReceiveScalingDisable;
PFN_NET_ADAPTER_RECEIVE_SCALING_SET_HASH_SECRET_KEY EvtAdapterReceiveScalingSetHashSecretKey;
PFN_NET_ADAPTER_RECEIVE_SCALING_SET_INDIRECTION_ENTRIES EvtAdapterReceiveScalingSetIndirectionEntries;
} NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES;
メンバー
Size
この構造体のサイズ (バイト単位)。
NumberOfQueues
ハードウェア受信キューの数。 このメンバーは 2 の累乗である必要があります。
IndirectionTableSize
間接テーブルエントリの数。 このメンバーは、128 以上、累乗 2 である必要があります。
UnhashedTargetIndex
ハッシュが適用されていないフレームの既定の宛先。 このメンバーの値は、 UnhashedTargetType メンバーの値によって異なります。
- UnhashedTargetType が NetAdapterReceiveScalingUnhashedTargetTypeUnspecified に設定されている場合、UnhashedTarget は無視されます。
- UnhashedTargetType が NetAdapterReceiveScalingUnhashedTargetTypeHashIndex に設定されている場合、UnhashedTarget は間接テーブルのハッシュ インデックスを指定します。
このメンバーは N である必要があります。ここで 0 <= N < IndirectionTableSize
、 です。
UnhashedTargetType
固定されていないフレームの処理の種類を示す NET_ADAPTER_RECEIVE_SCALING_UNHASHED_TARGET_TYPE 値。
このメンバーが NetAdapterReceiveScalingUnhashedTargetTypeUnspecified に設定されている場合、 UnhashedTargetIndex は無視され、既定値は 0 になります。
このメンバーが NetAdapterReceiveScalingUnhashedTargetTypeHashIndex に設定されている場合、 UnhashedTargetIndex はターゲット ハッシュ値を示します。
ReceiveScalingHashTypes
ハッシュ値を計算するためにサポートされているハッシュ関数の種類を示す NET_ADAPTER_RECEIVE_SCALING_HASH_TYPE 値。
ReceiveScalingProtocolTypes
ハッシュ値を計算するためにサポートされているプロトコルの種類を示す NET_ADAPTER_RECEIVE_SCALING_PROTOCOL_TYPE 値。
ReceiveScalingEncapsulationTypes
ハードウェアがバイパスできるカプセル化テクノロジを示します。
ReceiveScalingEncapsulationTypes.Outer
NIC がバイパスできるトランスポート (外部) カプセル化の種類を示す NET_ADAPTER_RECEIVE_SCALING_ENCAPSULATION_TYPE値の ビットごとの OR。
ReceiveScalingEncapsulationTypes.Inner
NIC がバイパスできるトンネル (内部) カプセル化の種類を示す NET_ADAPTER_RECEIVE_SCALING_ENCAPSULATION_TYPE値の ビットごとの OR。
_RECEIEVE_SCALING_ENCAPSULATION
ReceiveScalingEncapsulationTypes のタグ識別子。
SynchronizeSetIndirectionEntries
TRUE に設定すると、フレームワークが EvtNetAdapterReceiveScalingSetIndirectionEntries への呼び出しを同期するように要求するブール値。 クライアント ドライバーで指定されていない場合、このメンバーは既定で FALSE に設定されます。
EvtAdapterReceiveScalingEnable
クライアント ドライバーの EvtNetAdapterReceiveScalingEnable イベント コールバック関数へのポインター。
EvtAdapterReceiveScalingDisable
クライアント ドライバーの EvtNetAdapterReceiveScalingDisable イベント コールバック関数へのポインター。
EvtAdapterReceiveScalingSetHashSecretKey
クライアント ドライバーの EvtNetAdapterReceiveScalingSetHashSecretKey イベント コールバック関数へのポインター。
EvtAdapterReceiveScalingSetIndirectionEntries
クライアント ドライバーの EvtNetAdapterReceiveScalingSetIndirectionEntries イベント コールバック関数へのポインター。
注釈
この構造体を初期化するには 、NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES_INIT を呼び出します。
NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES構造体は、NetAdapterSetReceiveScalingCapabilities への入力パラメーターです。 クライアントは、NetAdapterSetReceiveScalingCapabilities を呼び出す前に、NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES_INITを使用してこの構造体を初期化する必要があります。
要件
要件 | 値 |
---|---|
最小 KMDF バージョン | 1.27 |
最小 UMDF バージョン | 2.33 |
Header | netreceivescaling.h (netadaptercx.h を含む) |
こちらもご覧ください
NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES_INIT