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 メンバーの値によって異なります。

  • UnhashedTargetTypeNetAdapterReceiveScalingUnhashedTargetTypeUnspecified に設定されている場合、UnhashedTarget は無視されます。
  • UnhashedTargetTypeNetAdapterReceiveScalingUnhashedTargetTypeHashIndex に設定されている場合、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
Header netreceivescaling.h (netadaptercx.h を含む)

こちらもご覧ください

NET_ADAPTER_RECEIVE_SCALING_CAPABILITIES_INIT

NetAdapterSetReceiveScalingCapabilities

NetAdapterCx Receive Side Scaling