Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Un pilote overlying émet une demande de méthode d’identificateur d’objet (OID) de OID_NIC_SWITCH_CREATE_VPORT pour créer un port virtuel non défini (VPort) sur le commutateur de carte réseau d’une carte réseau. Cette demande de méthode OID attache également le VPort créé à la fonction physique PCI Express (PCIe) de la carte réseau (PF) ou à une fonction virtuelle PCIe (VF) précédemment allouée.
Les pilotes surlysant émettent cette demande de méthode OID au pilote miniport pour le pf de la carte réseau. Cette demande de méthode OID est requise pour les pilotes miniport PF qui prennent en charge l’interface de virtualisation d’E/S racine unique (SR-IOV).
Le membre InformationBuffer de la structure NDIS_OID_REQUEST contient un pointeur vers la structure NDIS_NIC_SWITCH_VPORT_PARAMETERS.
Remarques
Le pilote overlying initialise la structure NDIS_NIC_SWITCH_VPORT_PARAMETERS avec les informations de configuration sur le VPort nondefault à créer. Les informations de configuration incluent la fonction PCIe à laquelle le VPort nondefault est attaché et le nombre de paires de files d’attente pour le VPort nondefault.
Lorsque le pilote pf miniport est émis la requête OID, le pilote alloue les ressources matérielles et logicielles associées au VPort non défini. Une fois que toutes les ressources sont correctement allouées, le pilote PF miniport termine l’OID avec succès en retournant NDIS_STATUS_SUCCESS de MiniportOidRequest.
Si la demande de OID_NIC_SWITCH_CREATE_VPORT s’exécute correctement, le pilote pf miniport et le pilote overlying doivent conserver la valeur VPortId du VPort non défini pour les opérations successives. La valeur VPortId est utilisée pendant les opérations suivantes :
Les pilotes NDIS et overlying utilisent le VPortId valeur pour identifier le VPort non défini dans les requêtes OID successives liées à ce VPort, telles que OID_NIC_SWITCH_VPORT_PARAMETERS et OID_NIC_SWITCH_DELETE_VPORT.
Pendant les opérations d’envoi, NDIS spécifie la valeur VPortId pour identifier le VPort à partir duquel un paquet a été envoyé. Cette valeur est spécifiée dans les données OOB (out-of-band) NDIS_NET_BUFFER_LIST_FILTERING_INFO de la structure NET_BUFFER_LIST.
Pendant les opérations de réception, le pilote pf miniport spécifie la valeur VPortId à laquelle un paquet doit être transféré. Cette valeur est également spécifiée dans les données NDIS_NET_BUFFER_LIST_FILTERING_INFO OOB de la structure NET_BUFFER_LIST.
Pour plus d’informations, consultez Création d’un port virtuel.
Remarque Le VPort par défaut existe toujours et n’est pas créé même si une requête OID de OID_NIC_SWITCH_CREATE_VPORT. Le VPort par défaut a un identificateur de NDIS_DEFAULT_VPORT_ID. Lorsque le pilote miniport PF crée un commutateur de carte réseau, le pilote attache automatiquement le VPort par défaut à la carte réseau.
Codes d’état de retour
NDIS ou le pilote miniport PF retourne l’un des codes d’état suivants pour la demande de méthode OID de OID_NIC_SWITCH_CREATE_SWITCH.
| Code d’état | Description |
|---|---|
NDIS_STATUS_SUCCESS |
La requête OID s’est terminée avec succès. |
NDIS_STATUS_NOT_SUPPORTED |
Le pilote pf miniport ne prend pas en charge l’interface SR-IOV ou n’est pas activé pour utiliser l’interface. |
NDIS_STATUS_INVALID_PARAMETER |
Un ou plusieurs des membres de la structure NDIS_NIC_SWITCH_VPORT_PARAMETERS ont des valeurs non valides. |
NDIS_STATUS_INVALID_LENGTH |
La longueur de la mémoire tampon d’informations est inférieure à sizeof(NDIS_NIC_SWITCH_VPORT_PARAMETERS). Le pilote pf miniport doit définir la DATA. METHOD_INFORMATION. OctetsNeeded membre de la structure NDIS_OID_REQUEST à la taille de mémoire tampon minimale requise. |
NDIS_STATUS_FAILURE |
La demande a échoué pour d’autres raisons. |
Exigences
Version |
Prise en charge dans NDIS 6.30 et versions ultérieures. |
En-tête |
Ntddndis.h (include Ndis.h) |