警告
このトピックの一部の情報は、リリース前の製品に関連しており、商用リリース前に大幅に変更される可能性があります。 Microsoft は、ここで提供される情報に関して明示的または黙示的な保証を行いません。
RSSv2 は、Windows 10 バージョン 1809 でのみプレビューです。
OID_GEN_RECEIVE_SCALE_PARAMETERS_V2 OID は、スケール エンティティの間接テーブル以外のランタイム パラメーターを設定するために、RSSv2 対応ミニポート ドライバーに送信されます。 OID_GEN_RECEIVE_SCALE_PARAMETERS_V2は、RSSv1 から OID_GEN_RECEIVE_SCALE_PARAMETERS OID を置き換え、NDIS 6.80 より前の NDIS 簡易フィルター (LWF) には表示されません。 この OID は通常の OID であり、クエリまたは Set 要求として発行できます。 IRQL == PASSIVE_LEVELで発行されます。 NIC スイッチの作成時に NDIS_OID_REQUEST_FLAGS_VPORT_ID_VALID フラグが設定されている場合は、特定の VPort をターゲットにすることができます。 それ以外の場合は、ネイティブ RSS ケースの物理 NIC を対象とします。
クエリとして、NDIS ドライバーと上にあるドライバーは、NIC の RSS パラメーターのクエリにOID_GEN_RECEIVE_SCALE_PARAMETERS_V2を使用できます。 NDIS は、現在の RSS パラメーターを定義する NDIS_RECEIVE_SCALE_PARAMETERS_V2 構造体を返します。
セットとして、この OID の目的は、次のアクションを実行することです。
- 最初に、スケーリング エンティティ (ネイティブ RSS モードのミニポート アダプターまたは VMQ モードの VPort) を構成します。
- RSS を有効または無効にします。
- RSS モードの場合は、ハッシュ キーの変更、ハッシュの種類とハッシュ関数、キューの数、スケーリング エンティティの間接テーブル エントリの数など、タイミングが重要でない管理機能を実行します。
備考
RSS の有効化と RSS パラメーターの設定は、1 つの手順で実行できます。 この OID を使用して上位レイヤーで RSS を有効にすると、スケーリング エンティティの初期状態は次のようになります。
- プライマリ プロセッサが非アクティブな になります。
- 既定のプロセッサがアクティブな になります。
- すべての IT がアクティブな になります。
- ミニポート ドライバーは、RSS ハッシュの計算、すべてのパケットの対応する OOB の設定を開始し、間接テーブルエントリまたは既定のプロセッサ パラメーターで指定されたプロセッサにパケットを転送します。
RSS が有効になった後、上位レイヤーは OID_GEN_RSS_SET_INDIRECTION_TABLE_ENTRIES OID を発行して IT を別のプロセッサに移動します。 RSSv2 では、DefaultQueue と PrimaryProcessor も、OID_GEN_RSS_SET_INDIRECTION_TABLE_ENTRIESを使用して別のプロセッサに移動されます。
RSS を無効にするプロセス中、上位レイヤーは、RSS をオフにするためにこの OID を呼び出す前に、すべての ITEs をプライマリ プロセッサにポイントします。 この時点以降、受信トラフィックはプライマリ プロセッサをターゲットにする必要があります。 ただし、ミニポート ドライバーは、VPort の削除前に RSS を無効にすることを想定しないでください。 上位レイヤーでは、VPort の受信フィルターを 0 に設定できるため、受信トラフィックが VPort 経由で流れないことを確認し、RSS を無効にせずに VPort の削除に進みます。
上位レイヤーでは、管理機能を実行する前に重要なインバリアントに違反しないようにします。 例えば:
- キューの数を変更する前に、上位レイヤーでは、間接テーブルが VPort 用に構成されているプロセッサよりも多くのプロセッサを参照しないようにします。 VMMQ-RESTRICTED アダプターの間接テーブル エントリの数を変更する前に、上位レイヤーによって間接テーブルの内容が 2 の累乗に正規化されます。
エラー条件と状態コード
この OID は、エラーが発生すると、次の状態コードを返します。
状態コード | エラー条件 |
---|---|
NDIS_STATUS_INVALID_LENGTH | OID の形式が正しくありません。 |
NDIS_STATUS_NO_QUEUES | RSS が有効になっているときにキューの数が変更されていますが、現在の間接参照テーブルでは、新しい数のキューよりも多くのプロセッサが参照されます。 |
NDIS_STATUS_INVALID_DATA |
|
NDIS_STATUS_INVALID_PARAMETER | ヘッダーまたは OID 自体の他のフィールドに無効な値が含まれています。 |
必要条件
バージョン: Windows 10 バージョン 1709 ヘッダー: Ntddndis.h (Ndis.h を含む)