Compartir a través de


Requisitos para interrupciones de VMQ

Un controlador de miniporte que admita la funcionalidad de cola de máquinas virtuales (VMQ) también debe admitir los siguientes requisitos de asignación de interrupciones:

  • El controlador miniport debe admitir MSI-X. El controlador debe establecer el indicador NDIS_RECEIVE_FILTER_MSI_X_SUPPORTED en el miembro SupportedQueueProperties de la estructura NDIS_RECEIVE_FILTER_CAPABILIDADES.

    El controlador devuelve esta estructura en la estructura NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES que el controlador usa en su llamada a la función NdisMSetMiniportAttributes .

  • El controlador de miniport debe llamar a la función NdisGetRssProcessorInformation para obtener información del procesador para asignar vectores de interrupción. No debe basarse en claves del Registro ni en la información obtenida de otros orígenes para la asignación de interrupciones.

    NdisGetRssProcessorInformation devuelve información sobre el conjunto de procesadores que un controlador de miniporte puede usar para RSS y VMQ. Esta información se encuentra en una estructura NDIS_RSS_PROCESSOR_INFO .

  • El controlador de miniport debe asignar solo un vector de interrupción para cada procesador especificado en la estructura NDIS_RSS_PROCESSOR_INFO .

    El controlador de miniporte no debe asignar más de dos vectores de interrupción para otros eventos que no están relacionados con las operaciones de envío o recepción de paquetes. Por ejemplo, el controlador podría asignar un IDT para eventos de estado de vínculo.

  • El controlador de miniport debe admitir el número mínimo de vectores de interrupción de MSI-X tal como se define en la tabla siguiente:

    Número de colas Número mínimo de vectores de interrupción de MSI-X necesarios

    1–16

    1–16

    17–64

    16–32

    65 o más

    32 o más