NDIS_RECEIVE_SCALE_PARAMETERS_V2 構造体 (ntddndis.h)

警告

本トピックの一部の情報はリリース前の製品に関することであり、正式版がリリースされるまでに大幅に変更される可能性があります。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。

RSSv2 は、Windows 10 バージョン 1803 でのみプレビューです。

NDIS_RECEIVE_SCALE_PARAMETERS_V2構造体は、RSS バージョン 2 (RSSv2) のサポートをアドバタイズするミニポート アダプターの受信側スケーリング (RSS) パラメーターを指定します。 これは、OID_GEN_RECEIVE_SCALE_PARAMETERS_V2 OID で使用されます。

構文

typedef struct _NDIS_RECEIVE_SCALE_PARAMETERS_V2 {
  NDIS_OBJECT_HEADER Header;
  ULONG              Flags;
  ULONG              HashInformation;
  ULONG              HashSecretKeySize;
  ULONG              HashSecretKeyOffset;
  ULONG              NumberOfQueues;
  ULONG              NumberOfIndirectionTableEntries;
} NDIS_RECEIVE_SCALE_PARAMETERS_V2, *PNDIS_RECEIVE_SCALE_PARAMETERS_V2;

メンバー

Header

NDIS_RECEIVE_SCALE_PARAMETERS_V2構造体のNDIS_OBJECT_HEADER構造体。 HeaderNDIS_OBJECT_TYPE_RSS_PARAMETERS_V2に指定する構造体の Type メンバーを設定します。

NDIS 6.80 以降のドライバーの場合は、 Revision メンバーを NDIS_RECEIVE_SCALE_PARAMETERS_V2_REVISION_1 に設定し、 Size メンバーを sizeof(NDIS_RECEIVE_SCALE_PARAMETERS_V2)に設定します。

Flags

変更するパラメーターを示す ULONG 値。 ドライバーは、これらのフラグを使用して、変更されたパラメーターをすばやく特定し、それに応じて RSS 設定を更新できます。

クエリ要求で、このメンバーを 0 に設定します。

セット要求では、フラグは次のように定義されます。

意味
NDIS_RECEIVE_SCALE_PARAM_ENABLE_RSS
1 は、指定したオブジェクトに対して RSS が有効になっていることを示します。 ミニポート ドライバーは、他のパラメーターを確認する必要があります。

値 0 は、指定したオブジェクトに対して RSS が無効になっていることを示します。 NumberOfQueues パラメーターと NumberOfIndirectionTableEntries パラメーターは、RSS が無効になっていると変更される可能性があります。 RSS が無効になっている場合、 HashInformationHashKey などの他のパラメーターは無視する必要があります。

NDIS_RECEIVE_SCALE_PARAM_HASH_INFO_CHANGED
HashInformation パラメーターの値が変更されました。
NDIS_RECEIVE_SCALE_PARAM_HASH_KEY_CHANGED
HashSecretKey メンバーの内容が変更されました。
NDIS_RECEIVE_SCALE_PARAM_NUMBER_OF_QUEUES_CHANGED
VPort あたりのキュー数が変更されました。
NDIS_RECEIVE_SCALE_PARAM_NUMBER_OF_ENTRIES_CHANGED
間接参照テーブル内のエントリの数が変更されました。

HashInformation

セット要求では、このメンバーは、NIC が受信パケットのハッシュ値を計算するために使用するハッシュの種類とハッシュ関数です。 HashInformation メンバー内で指定されたハッシュ関数が 0 の場合、RSS は無効になります。

クエリ要求では、このメンバーは NIC が使用しているハッシュの種類とハッシュ関数です。

基になるドライバーと NDIS では 、NDIS_RSS_HASH_INFO_FROM_TYPE_AND_FUNC マクロを使用して、ハッシュの種類とハッシュ関数をハッシュ情報に結合し、 HashInformation メンバーを設定できます。

ミニポート ドライバーは、 NDIS_RSS_HASH_TYPE_FROM_HASH_INFO マクロを使用して HashInformation からハッシュの種類を取得し、 NDIS_RSS_HASH_FUNC_FROM_HASH_INFO マクロを使用してハッシュ関数を取得できます。

このパラメーターは、RSS が有効になっていると同時に、または後で変更できます。

HashSecretKeySize

ハッシュ関数の秘密鍵配列のサイズ (バイト単位)。 配列のサイズは、 NdisHashFunctionToeplitz の場合は 40 バイトです。

このパラメーターは、RSS が有効になっていると同時に、または後で変更できます。

HashSecretKeyOffset

ハッシュ 秘密キーのオフセット (バイト単位)。

このパラメーターは、RSS が有効になっていると同時に、または後で変更できます。

NumberOfQueues

スケーリング エンティティのキューの最大数。 このパラメーターは、NDIS_NIC_SWITCH_VPORT_PARAMETERS構造体のNUM_QUEUE_PAIRS変数のエイリアスであり、OID_NIC_SWITCH_VPORT_PARAMETERS OID を使用してクエリまたは設定することもできます。 RSS が有効または無効になっている場合に変更できます。

NumberOfIndirectionTableEntries

スケーリング エンティティの間接テーブル エントリ (ITEs) の数。 この値は 2 の累乗であり、対応するアダプターの機能を超えることはありません。 RSS が有効になる前または後で変更できます。

このパラメーターの新しい値も 2 の累乗であり、アダプター機能を超えています。 この数を増やすと、ミニポート ドライバーは、現在の間接参照テーブルを必要な回数だけ新しい ITEs に複製する必要があります (これは、power-of-2 制限が原因で可能です)。 この数を減らすと、上位レイヤーは、削除される間接テーブルの部分に残りの部分の正確なレプリカが含まれていることを保証します。

要件

要件
サポートされている最小のクライアント NDIS 6.80 以降でサポートされています。
Header ntddndis.h (Ndis.h を含む)

こちらもご覧ください

NDIS_NIC_SWITCH_VPORT_PARAMETERS

NDIS_OBJECT_HEADER

NDIS_RSS_HASH_FUNC_FROM_HASH_INFO

NDIS_RSS_HASH_INFO_FROM_TYPE_AND_FUNC

NDIS_RSS_HASH_TYPE_FROM_HASH_INFO

OID_GEN_RECEIVE_SCALE_PARAMETERS_V2

OID_NIC_SWITCH_VPORT_PARAMETERS

RSS バージョン 2 (RSSv2)