Partager via


Configuration requise pour les interruptions VMQ

Un pilote miniport qui prend en charge la fonctionnalité de file d’attente de machines virtuelles (VMQ) doit également prendre en charge les exigences d’allocation d’interruption suivantes :

  • Le pilote miniport doit prendre en charge MSI-X. Le pilote doit définir l’indicateur NDIS_RECEIVE_FILTER_MSI_X_SUPPORTED dans le membre SupportedQueueProperties de la structure NDIS_RECEIVE_FILTER_CAPABILITIES .

    Le pilote retourne cette structure dans la structure NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES utilisée par le pilote dans son appel à la fonction NdisMSetMiniportAttributes .

  • Le pilote miniport doit appeler la fonction NdisGetRssProcessorInformation pour obtenir des informations sur le processeur pour l’allocation de vecteurs d’interruption. Il ne doit pas s’appuyer sur les clés de Registre ou les informations obtenues à partir d’autres sources pour l’allocation d’interruptions.

    NdisGetRssProcessorInformation retourne des informations sur l’ensemble de processeurs qu’un pilote miniport peut utiliser pour RSS et VMQ. Ces informations sont contenues dans une structure NDIS_RSS_PROCESSOR_INFO .

  • Le pilote miniport doit allouer un seul vecteur d’interruption pour chaque processeur spécifié dans la structure NDIS_RSS_PROCESSOR_INFO .

    Le pilote miniport ne doit allouer pas plus de deux vecteurs d’interruption pour d’autres événements qui ne sont pas liés aux opérations d’envoi ou de réception de paquets. Par exemple, le pilote peut allouer un IDT pour les événements d’état de lien.

  • Le pilote miniport doit prendre en charge le nombre minimal de vecteurs d’interruption MSI-X comme défini dans le tableau suivant :

    Nombre de files d’attente Nombre minimal de vecteurs d’interruption MSI-X requis

    1–16

    1–16

    17–64

    16–32

    65 ou plus

    32 ou plus