OID_NIC_SWITCH_CREATE_VPORT
Un pilote qui se superpose é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 par défaut (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 (PF) PCI Express (PCIe) de la carte réseau ou à une fonction virtuelle PCIe (VF) précédemment allouée.
Les pilotes sur-ment é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 pf miniport 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 .
Notes
Le pilote overlying initialise la structure NDIS_NIC_SWITCH_VPORT_PARAMETERS avec les informations de configuration sur le VPort non défini par défaut à créer. Les informations de configuration incluent la fonction PCIe à laquelle le VPort non défini est attaché et le nombre de paires de files d’attente pour le VPort non défini par défaut.
Lorsque le pilote pf miniport reçoit la requête OID, celui-ci alloue les ressources matérielles et logicielles associées au VPort non par défaut spécifié. Une fois toutes les ressources allouées, le pilote pf miniport termine correctement l’OID en retournant NDIS_STATUS_SUCCESS à partir de MiniportOidRequest.
Si la demande OID_NIC_SWITCH_CREATE_VPORT se termine correctement, le pilote pf miniport et le pilote overlying doivent conserver la valeur VPortId du VPort non défini par défaut pour les opérations successives. La valeur VPortId est utilisée pendant ces opérations :
NDIS et les pilotes qui se superposent utilisent la valeur VPortId pour identifier le VPort non défini par défaut 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 OOB NDIS_NET_BUFFER_LIST_FILTERING_INFO de la structure NET_BUFFER_LIST .
Pour plus d’informations, consultez Création d’un port virtuel.
Note Le VPort par défaut existe toujours et n’est pas créé via 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 pf miniport crée un commutateur de carte réseau, le pilote attache automatiquement le VPort par défaut au pf de la carte réseau.
Codes d’état de retour
NDIS ou le pilote pf miniport retourne l’un des codes de status 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 les DONNÉES. METHOD_INFORMATION. Le membre BytesNeeded dans le NDIS_OID_REQUEST structure à la taille de mémoire tampon minimale requise. |
NDIS_STATUS_FAILURE |
La demande a échoué pour d’autres raisons. |
Spécifications
Version |
Pris en charge dans NDIS 6.30 et versions ultérieures. |
En-tête |
Ntddndis.h (inclure Ndis.h) |