Compartilhar via


Requisitos de interrupção do VMQ

Um driver de miniport que dá suporte à funcionalidade VMQ (fila de máquinas virtuais) também deve dar suporte aos seguintes requisitos de alocação de interrupção:

  • O driver de miniporto deve dar suporte a MSI-X. O driver deve configurar o sinalizador NDIS_RECEIVE_FILTER_MSI_X_SUPPORTED no membro SupportedQueueProperties da estrutura NDIS_RECEIVE_FILTER_CAPABILITIES.

    O driver retorna essa estrutura na estrutura NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES que o driver usa em sua chamada para a função NdisMSetMiniportAttributes .

  • O driver de miniporto deve chamar a função NdisGetRssProcessorInformation para obter informações do processador para alocar vetores de interrupção. Não deve depender de chaves do Registro ou informações obtidas de outras fontes para alocação de interrupção.

    NdisGetRssProcessorInformation retorna informações sobre o conjunto de processadores que um driver de miniporto pode usar para RSS e VMQ. Essas informações estão contidas em uma estrutura NDIS_RSS_PROCESSOR_INFO .

  • O driver de miniporto deve alocar apenas um vetor de interrupção para cada processador especificado na estrutura NDIS_RSS_PROCESSOR_INFO .

    O driver de miniporto não deve alocar mais do que dois vetores de interrupção para outros eventos que não estão relacionados a operações de envio ou recebimento de pacotes. Por exemplo, o driver poderia alocar um IDT para eventos de status de link.

  • O driver de miniporto deve dar suporte ao número mínimo de vetores de interrupção MSI-X conforme definido na tabela a seguir:

    Número de filas Número mínimo de vetores de interrupção MSI-X necessários

    1–16

    1–16

    17–64

    16–32

    65 ou mais

    32 ou mais