VMQ 中断要求

支持虚拟机队列 (VMQ) 功能的微型端口驱动程序还必须支持以下中断分配要求:

  • 微型端口驱动程序必须支持 MSI-X。 驱动程序必须在 NDIS_RECEIVE_FILTER_CAPABILITIES 结构的 SupportedQueueProperties 成员中设置 NDIS_RECEIVE_FILTER_MSI_X_SUPPORTED 标志。

    驱动程序在 NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES 结构中返回此结构,驱动程序在调用 NdisMSetMiniportAttributes 函数时使用该结构。

  • 微型端口驱动程序必须调用 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 或更多