VMQ 割り込み要件
仮想マシン キュー (VMQ) 機能をサポートするミニポート ドライバーは、次の割り込み割り当て要件もサポートする必要があります。
ミニポート ドライバーは、MSI X をサポートする必要があります。 ドライバーは、NDIS_RECEIVE_FILTER_MSI_X_SUPPORTED フラグを SupportedQueueProperties メンバー (NDIS_RECEIVE_FILTER_CAPABILITIES 構造体のメンバー) 内で設定する必要があります。
ドライバーは、この構造体を NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES 構造体 (NdisMSetMiniportAttributes 関数の呼び出しでドライバーが使用する構造体) 内で返します。
ミニポート ドライバーは、NdisGetRssProcessorInformation 関数を呼び出して割り込みベクトルを割り当てるためのプロセッサ情報を取得する必要があります。 割り込みを割り当てる場合、レジストリ キーや他の情報源から取得した情報に依存することはできません。
NdisGetRssProcessorInformation は、ミニポート ドライバーが RSS と VMQ に使用できるプロセッサのセットに関する情報を返します。 この情報は、NDIS_RSS_PROCESSOR_INFO 構造体に含まれています。
ミニポート ドライバーは、NDIS_RSS_PROCESSOR_INFO 構造体で指定されるプロセッサごとに 1 つの割り込みベクトルのみを割り当てる必要があります。
ミニポート ドライバーは、送受信パケット操作に関連しない他のイベント用に 2 つまでの割り込みベクトルを割り当てる必要があります。 たとえば、ドライバーはリンク状態イベントの IDT を割り当てることができます。
ミニポート ドライバーは、次の表で定義している最小数の MSI X 割り込みベクトルをサポートする必要があります。
キューの数 必要な最小数の MSI-X 割り込みベクトル 1~16
1~16
17~64
16~32
65 以上
32 以上