VMQ 用の標準化された INF キーワード

ネットワーク アダプターの仮想マシン キュー (VMQ) 機能のサポートを有効または無効にするために、次の標準化された INF キーワードが定義されています。

*VMQ
デバイスが VMQ 機能を有効または無効にしたかどうかを示す値。

*VMQLookaheadSplit
受信バッファーを先読みバッファーと先読み後バッファーに分割する機能がデバイスで有効または無効になっているかどうかを示す値。 ミニポート ドライバーは、NDIS_RECEIVE_FILTER_CAPABILITIES 構造体の SupportedQueueProperties メンバーの NDIS_RECEIVE_FILTER_LOOKAHEAD_SPLIT_SUPPORTED フラグを使用してこの機能を報告します。 この機能の詳細については「受信バッファーの共有メモリ」を参照してください。

: NDIS 6.30 以降では、パケット データの個別の先読みバッファーへの分割はサポートされなくなりました。 Windows Server 2012 以降、この INF キーワードは廃止されました。

*VMQVlanFiltering
デバイスが、メディア アクセス制御 (MAC) ヘッダーの VLAN 識別子を使用してネットワーク パケットをフィルター処理する機能を有効または無効にしたかどうかを示す値。 ミニポート ドライバーは、NDIS_RECEIVE_FILTER_CAPABILITIES 構造体の SupportedMacHeaderFields メンバーに NDIS_RECEIVE_FILTER_MAC_HEADER_VLAN_ID_SUPPORTED フラグを使用することによって、この機能を報告します。

RssOrVmqPreference
受信側スケーリング (RSS) 機能の代わりに VMQ 機能を有効にするかどうかを定義する値。

これは非表示のキーワード値であり、INF ファイルで指定する必要はありません。ネットワーク アダプターの「詳細」プロパティ ページには表示されません。 詳細については「VMQ および RSS INF キーワードの処理」を参照してください。

VMQ で標準化された INF キーワードは列挙キーワードです。 次の表では、VMQ で標準化された INF キーワードに使用できる INF エントリについて説明します。

SubkeyName ParamDesc Value EnumDesc
*VMQ 仮想マシン キュー 0 無効
1 (既定値) Enabled
*VMQLookaheadSplit VMQ 先読み分割 0 無効 : NDIS 6.30 以降では、このキーワードはサポートされなくなりました。
1 (既定値) Enabled
*VMQVlanFiltering VMQ VLAN フィルタリング 0 無効
1 (既定値) Enabled
RssOrVmqPreference 注: このサブキーの ParamDesc エントリと EnumDesc エントリは、INF ファイルまたはユーザー インターフェイスでは使用できません。 詳細については「VMQ および RSS INF キーワードの処理」を参照してください。 0 (既定値) :レポート RSS 機能
1 :レポート VMQ 機能

この表の列では、列挙キーワードの次の属性について説明します。

SubkeyName
INF ファイルで指定する必要があるキーワードの名前。 この名前は、ネットワーク アダプターの NDI\params キーの下のレジストリにも表示されます。

ParamDesc
SubkeyName INF エントリに関連付けられている表示テキスト。

: 独立系ハードウェア ベンダー (IHV) は、SubkeyName の説明テキストを定義できます。

[値]
リスト内の各 SubkeyName に関連付けられている列挙整数値。

EnumDesc
詳細」プロパティ ページに表示される各値に関連付けられている表示テキスト。

標準化された INF キーワード の詳細については、「ネットワークデバイスの標準化された INF キーワード」を参照してください。

VMQ と RSS INF キーワードの処理

VMQ と受信側スケーリング (RSS) をサポートするネットワーク アダプターでは、これらの機能を同時に使用することはできません。 オペレーティング システムでは、次の方法で RSS または VMQ 機能を使用できます。

  • ネットワーク アダプターが TCP/IP スタックにバインドされている場合、操作によって RSS 機能の使用が有効になります。

  • ネットワーク アダプターが Hyper-V 拡張可能スイッチ ドライバー スタックにバインドされている場合、オペレーティング システムは VMQ 機能の使用を有効にします。

    詳細については「Hyper-V 拡張可能スイッチ」を参照してください。

ネットワーク アダプターは無効ではなく、TCP/IP スタックからバインド解除され、Hyper-V ドライバー スタック (または逆) にバインドされている場合に再び有効になるため、このようなネットワーク アダプターで VMQ と RSS を自動的に切り替えすることはできません。

NDIS が、MiniportInitializeEx 関数を呼び出すとき、ミニポート ドライバーは、現在有効な VMQ または RSS 機能を NDIS に報告する前に、次の手順に従います。

  1. ミニポート ドライバーは、現在有効になっている機能を NDIS に報告する前に、*RssOrVmqPreference キーワードを読み取ります。

    *RssOrVmqPreference キーワードの値が 1 の場合、ミニポート ドライバーは VMQ 優先に構成されます。

    *RssOrVmqPreference キーワード の値が 0 の場合、またはキーワードが存在しない場合、ミニポート ドライバーは RSS 優先に構成されます。

  2. ミニポート ドライバーが VMQ 優先に構成されている場合は、*VMQ キーワードを読み取って、ネットワーク アダプターで VMQ が有効になっているかどうかを確認する必要があります。 キーワードが 1 に設定されている場合、ドライバーは現在有効な VMQ 設定を報告します。 ミニポート ドライバーが VMQ 設定を報告する方法の詳細については「ネットワーク アダプターの VMQ 機能の決定」を参照してください。

    VMQ キーワードの詳細については「RSS の標準化された INF キーワード」を参照してください。

    :ミニポート ドライバーが SR-VMQ 優先に構成されている場合は、RSS 標準化されたキーワードのいずれかを読み取ってはいけません。

  3. ミニポート ドライバーが RSS 優先に構成されている場合は、*RSS キーワードを読み取って、ネットワーク アダプターで RSS が有効になっているかどうかを確認する必要があります。 キーワードが 1 に設定されている場合、ドライバーは現在有効な RSS 設定を報告します。 ミニポート ドライバーが RSS 設定を報告する方法の詳細については「RSS 構成」を参照してください。

    RSS キーワードの詳細については「RSS の標準化された INF キーワード」を参照してください。

    :ミニポート ドライバーが SR-RSS 優先に構成されている場合は、RSS 標準化されたキーワードのいずれかを読み取ってはいけません。

次の表では、ミニポート ドライバーが RSS または VMQ の基本設定を決定し、レジストリのキーワードに基づいて機能をアドバタイズする方法について説明します。

RssOrVmqPreference *VMQ *RSS アドバタイズされた VMQ または RSS 機能
1 1 該当なし VMQ
1 0 該当なし なし
0、またはレジストリに存在しない 該当なし 1 RSS
0、またはレジストリに存在しない 該当なし 0 なし

: ミニポート ドライバーは、これらのキーワードの値に関係なく、完全な RSS と VMQ ハードウェア機能を常に報告する必要があります。 これらのキーワード設定は、ドライバーが現在有効になっている RSS および VMQ 機能を報告する方法にのみ影響します。

予約済みレジストリのキーワード

ミニポート ドライバーが VMQ をサポートし、VMQ インターフェイスがネットワーク アダプターで有効になっている場合、ドライバーは次の RSS INF エントリを読み取る必要があります。

SubkeyName ParamDesc Value
*RssMaxProcNumber RSS インターフェイスの最大プロセッサ数。 0 ~ (MAXIMUM_PROC_PER_GROUP-1)
*MaxRssProcessors RSS プロセッサの最大数。 1 ~ MAXIMUM_PROC_PER_SYSTEM。

VMQ をサポートするミニポート ドライバーは、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ サービス \VMSMP\ パラメーター レジストリ キーの下の次のサブキーを読み取る必要があります。

SubkeyName ParamDesc Value
*TenGigVmqEnabled すべての 10 ギガビット/秒 (Gbps) ネットワーク アダプターで VMQ を有効または無効にします。 0=システムの既定値 (Windows Server 2008 R2 では無効)。
1=有効。
2=明示的に無効。
*BelowTenGigVmqEnabled 10 Gbps 未満をサポートするすべてのネットワーク アダプターで VMQ を有効または無効にします。 0=システムの既定値 (Windows Server 2008 R2 では無効)。
1=有効。
2=明示的に無効。
*RssMaxProcNumber RSS インターフェイスの最大プロセッサ数。 0 ~ (MAXIMUM_PROC_PER_GROUP-1)
*MaxRssProcessors RSS プロセッサの最大数。 1 ~ MAXIMUM_PROC_PER_SYSTEM。