支持虚拟机队列(VMQ)功能的微型端口驱动程序还必须支持以下中断分配要求:
微型端口驱动程序必须支持 MSI-X。 驱动程序必须在 SupportedQueueProperties 成员中设置 NDIS_RECEIVE_FILTER_MSI_X_SUPPORTED 标志,该成员属于 NDIS_RECEIVE_FILTER_CAPABILITIES 结构。
驱动程序在对 NdisMSetMiniportAttributes 函数的调用中使用的NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES结构中返回此结构。
微型端口驱动程序必须调用 NdisGetRssProcessorInformation 函数以获取用于分配中断向量的处理器信息。 它不得依赖于从其他源获取的注册表项或信息来中断分配。
NdisGetRssProcessorInformation 返回有关微型端口驱动程序可用于 RSS 和 VMQ 的处理器集的信息。 此信息包含在 NDIS_RSS_PROCESSOR_INFO 结构中。
微型端口驱动程序应只为 NDIS_RSS_PROCESSOR_INFO 结构中指定的每个处理器分配一个中断向量。
微型端口驱动程序应为与发送或接收数据包作无关的其他事件分配不超过两个中断向量。 例如,驱动程序可以为链接状态事件分配 IDT。
微型端口驱动程序必须支持下表中定义的最小 MSI-X 中断向量数:
队列数 所需的最小 MSI-X 中断向量数 1–16
1–16
17–64
16–32
65 个或多个
32 个或多个