Partager via


Détermination des fonctionnalités SR-IOV

Cette rubrique décrit comment NDIS et les pilotes de sur-menting déterminent les fonctionnalités de virtualisation d’E/S racine unique (SR-IOV) d’une carte réseau. Cette rubrique contient les informations suivantes :

Création de rapports de fonctionnalités SR-IOV pendant MiniportInitializeEx

Interrogation des fonctionnalités SR-IOV en surdimensionnant les pilotes

Création de rapports de fonctionnalités SR-IOV pendant MiniportInitializeEx

Lorsque NDIS appelle la fonction MiniportInitializeEx du pilote miniport , le pilote fournit les fonctionnalités SR-IOV suivantes :

  • Ensemble complet de fonctionnalités matérielles SR-IOV que la carte réseau peut prendre en charge.

  • Fonctionnalités SR-IOV actuellement activées sur la carte réseau.

  • Indique si le pilote miniport gère la fonction physique (PF) PCI Express (PCIe) ou la fonction virtuelle (VF) sur la carte réseau.

Le pilote miniport signale les fonctionnalités matérielles SR-IOV de la carte réseau sous-jacente via une structure de NDIS_SRIOV_CAPABILITIES qui est initialisée de la manière suivante :

  1. Le pilote miniport initialise le membre Header . Le pilote définit le membre Type de l’en-tête sur NDIS_OBJECT_TYPE_DEFAULT.

    À compter de NDIS 6.30, le pilote miniport définit le membre Révision de l’en-tête sur NDIS_SRIOV_CAPABILITIES _REVISION_1 et le membre Size sur NDIS_SIZEOF_SRIOV_CAPABILITIES_REVISION_1.

  2. Le pilote miniport définit les indicateurs appropriés dans le membre SriovCapabilities pour signaler les fonctionnalités SR-IOV.

    Si la carte réseau prend en charge SR-IOV, le pilote miniport pour la fonction physique PCI Express (PCIe) de la carte doit définir les indicateurs suivants :

    • NDIS_SRIOV_CAPS_SRIOV_SUPPORTED

    • NDIS_SRIOV_CAPS_PF_MINIPORT

    Notes

     Le pilote miniport pour une fonction virtuelle PCIe (VF) de la carte réseau doit définir à la fois l’indicateur NDIS_SRIOV_CAPS_VF_MINIPORT et l’indicateur NDIS_SRIOV_CAPS_SRIOV_SUPPORTED.  

Lorsque NDIS appelle la fonction MiniportInitializeEx du pilote miniport , le pilote enregistre les fonctionnalités SR-IOV de la carte réseau en procédant comme suit :

  1. Le pilote miniport initialise une structure NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES .

    Le pilote miniport définit le membre HardwareSriovCapabilities sur un pointeur vers la structure NDIS_SRIOV_CAPABILITIES initialisée précédemment.

    Si le paramètre de Registre pour le *SRIOV INF mot clé a une valeur, les fonctionnalités SR-IOV sont actuellement activées sur la carte réseau. Le pilote miniport définit les membres CurrentSriovCapabilities sur un pointeur vers la même structure NDIS_SRIOV_CAPABILITIES .

    Si le paramètre de Registre pour le *SRIOV INF mot clé a la valeur zéro, les fonctionnalités SR-IOV sont actuellement désactivées sur la carte réseau. Le pilote miniport doit définir le membre CurrentSriovCapabilities sur NULL.

    Pour plus d’informations sur le *SRIOV INF mot clé, consultez Mots clés INF standardisés pour SR-IOV.

  2. Le pilote appelle NdisMSetMiniportAttributes et définit le paramètre MiniportAttributes sur un pointeur vers la structure NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES .

Pour plus d’informations sur le processus d’initialisation de l’adaptateur, consultez Initialisation d’un adaptateur Miniport.

Interrogation des fonctionnalités SR-IOV en surdimensionnant les pilotes

NDIS transmet les fonctionnalités SR-IOV actuellement activées de la carte réseau aux pilotes qui se lient à la carte réseau de la manière suivante :

  • Lorsque NDIS appelle la fonction FilterAttach d’un pilote de filtre trop haut, NDIS transmet les fonctionnalités SR-IOV de la carte réseau via le paramètre AttachParameters . Ce paramètre contient un pointeur vers une structure NDIS_FILTER_ATTACH_PARAMETERS . Le membre SriovCapabilities de cette structure contient un pointeur vers une structure NDIS_SRIOV_CAPABILITIES .

  • Lorsque NDIS appelle la fonction ProtocolBindAdapterEx d’un pilote de protocole sur-menting, NDIS transmet les fonctionnalités SR-IOV de la carte réseau via le paramètre BindParameters . Ce paramètre contient un pointeur vers une structure NDIS_FILTER_ATTACH_PARAMETERS . Le membre SriovCapabilities de cette structure contient un pointeur vers une structure NDIS_SRIOV_CAPABILITIES .

NDIS retourne également la structure de NDIS_SRIOV_CAPABILITIES lorsqu’il gère les requêtes d’identificateur d’objet (OID) de OID_SRIOV_HARDWARE_CAPABILITIES et de OID_SRIOV_CURRENT_CAPABILITIES qui sont émises par des pilotes de protocole ou de filtres qui se superposent.