OID_NIC_SWITCH_CREATE_VPORT
Ein überlastende Treiber stellt eine OID-Methodenanforderung (Object Identifier) von OID_NIC_SWITCH_CREATE_VPORT aus, um einen VPort (Nondefault Virtual Port) auf dem NIC-Switch eines Netzwerkadapters zu erstellen. Diese OID-Methodenanforderung fügt auch den erstellten VPort an die PCI Express (PCIe) Physical Function (PF) des Netzwerkadapters oder eine zuvor zugewiesene PCIe Virtual Function (VF) an.
Überlastende Treiber stellen diese Anforderung der OID-Methode an den Miniporttreiber für die PF des Netzwerkadapters aus. Diese Anforderung der OID-Methode ist für PF-Miniporttreiber erforderlich, die die SR-IOV-Schnittstelle (Single Root E/O Virtualization) unterstützen.
Das InformationBuffer-Element der NDIS_OID_REQUEST-Struktur enthält einen Zeiger auf die NDIS_NIC_SWITCH_VPORT_PARAMETERS-Struktur .
Bemerkungen
Der überlastende Treiber initialisiert die NDIS_NIC_SWITCH_VPORT_PARAMETERS-Struktur mit den Konfigurationsinformationen zum zu erstellenden nicht standardmäßigen VPort. Die Konfigurationsinformationen umfassen die PCIe-Funktion, an die der nicht standardmäßige VPort angefügt ist, und die Anzahl der Warteschlangenpaare für den nicht standardmäßigen VPort.
Wenn der PF-Miniporttreiber die OID-Anforderung ausgestellt wird, weist der Treiber die Hardware- und Softwareressourcen zu, die dem angegebenen nicht standardmäßigen VPort zugeordnet sind. Nachdem alle Ressourcen erfolgreich zugeordnet wurden, schließt der PF-Miniporttreiber die OID erfolgreich ab, indem er NDIS_STATUS_SUCCESS von MiniportOidRequest zurückgibt.
Wenn die OID_NIC_SWITCH_CREATE_VPORT Anforderung erfolgreich abgeschlossen wird, müssen der PF-Miniporttreiber und der überlastende Treiber den VPortId-Wert des nicht standardmäßigen VPorts für aufeinander folgende Vorgänge beibehalten. Der VPortId-Wert wird bei diesen Vorgängen verwendet:
NDIS und die überlastenden Treiber verwenden den VPortId-Wert , um den nicht standardmäßigen VPort in aufeinanderfolgenden OID-Anforderungen im Zusammenhang mit diesem VPort zu identifizieren, z. B. OID_NIC_SWITCH_VPORT_PARAMETERS und OID_NIC_SWITCH_DELETE_VPORT.
Bei Sendevorgängen gibt NDIS den VPortId-Wert an, um den VPort zu identifizieren, von dem aus ein Paket gesendet wurde. Dieser Wert wird in der Out-of-Band-NDIS_NET_BUFFER_LIST_FILTERING_INFO Daten der NET_BUFFER_LIST-Struktur angegeben.
Bei Empfangsvorgängen gibt der PF-Miniporttreiber den VPortId-Wert an, an den ein Paket weitergeleitet werden soll. Dieser Wert wird auch in den OOB-NDIS_NET_BUFFER_LIST_FILTERING_INFO Daten der NET_BUFFER_LIST-Struktur angegeben.
Weitere Informationen finden Sie unter Erstellen eines virtuellen Ports.
Hinweis Der Standard-VPort ist immer vorhanden und wird nicht erstellt, obwohl eine OID-Anforderung von OID_NIC_SWITCH_CREATE_VPORT. Der Standard-VPort weist den Bezeichner NDIS_DEFAULT_VPORT_ID auf. Wenn der PF-Miniporttreiber einen NIC-Switch erstellt, fügt der Treiber automatisch den Standard-VPort an die PF des Netzwerkadapters an.
Rückgabestatuscodes
NDIS oder der PF-Miniporttreiber gibt einen der folgenden status Codes für die OID-Methodenanforderung von OID_NIC_SWITCH_CREATE_SWITCH zurück.
Statuscode | BESCHREIBUNG |
---|---|
NDIS_STATUS_SUCCESS |
Die OID-Anforderung wurde erfolgreich abgeschlossen. |
NDIS_STATUS_NOT_SUPPORTED |
Der PF-Miniporttreiber unterstützt entweder die SR-IOV-Schnittstelle nicht oder ist für die Verwendung der Schnittstelle nicht aktiviert. |
NDIS_STATUS_INVALID_PARAMETER |
Mindestens ein Member der NDIS_NIC_SWITCH_VPORT_PARAMETERS-Struktur weisen ungültige Werte auf. |
NDIS_STATUS_INVALID_LENGTH |
Die Länge des Informationspuffers ist kleiner als sizeof(NDIS_NIC_SWITCH_VPORT_PARAMETERS). Der PF-Miniporttreiber muss die DATA festlegen. METHOD_INFORMATION. BytesNeed-Member in der NDIS_OID_REQUEST-Struktur auf die erforderliche Mindestpuffergröße. |
NDIS_STATUS_FAILURE |
Die Anforderung ist aus anderen Gründen fehlgeschlagen. |
Requirements (Anforderungen)
Version |
Unterstützt in NDIS 6.30 und höher. |
Header |
Ntddndis.h (include Ndis.h) |