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 :
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.
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 :
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.
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.