Freigeben über


Ausstellen von OID_NIC_SWITCH_ALLOCATE_VF Anforderungen

Bevor die Anforderung der Objektbezeichnermethode (Object Identifier, OID) OID_NIC_SWITCH_ALLOCATE_VF an den Miniporttreiber für die PHYSISCHE FUNKTION (PCI Express, PCIe) ausgibt, formatiert der übergeordnete Treiber eine NDIS_NIC_SWITCH_VF_PARAMETERS-Struktur . Diese Struktur enthält die Konfigurationsparameter für die Ressourcen, die für eine VIRTUELLE PCIe-Funktion (VF) auf dem Netzwerkadapter zugeordnet werden sollen. Der übersteigende Treiber muss die Member dieser Struktur wie folgt festlegen:

  • Das SwitchId-Element muss auf den Bezeichner eines NIC-Switches festgelegt werden, der zuvor auf dem Netzwerkadapter erstellt wurde. Ein NIC-Switch wird über eine OID-Methodenanforderung von OID_NIC_SWITCH_CREATE_SWITCH erstellt.

    Wenn die OID-Methodenanforderung von OID_NIC_SWITCH_ALLOCATE_VF verarbeitet wird, ordnet der Miniporttreiber für die physische PCIe-Funktion (PF) Ressourcen für die VF zu. Wenn Ressourcen erfolgreich zugeordnet wurden, weist der PF-Miniporttreiber den VF dem angegebenen NIC-Switch zu.

    Hinweis Ab NDIS 6.30 in Windows Server 2012 unterstützt die SR-IOV-Schnittstelle nur den Standard-NIC-Switch auf dem Netzwerkadapter. Der Wert des SwitchId-Elements muss auf NDIS_DEFAULT_SWITCH_ID festgelegt werden.

    Weitere Informationen zu einem NIC-Switch finden Sie unter NIC-Switches.

  • Der VFId-Member muss auf NDIS_INVALID_VF_FUNCTION_ID festgelegt werden.

  • Das RequestorId-Element muss auf NDIS_INVALID_RID festgelegt werden.

  • Die Elemente VMFriendlyName und VMName müssen auf die Parameter einer untergeordneten Hyper-V-Partition festgelegt werden. Der PF-Miniporttreiber verwendet diese Member nur zu Informationszwecken.

    Hinweis Die untergeordnete Hyper-V-Partition wird auch als virtueller Computer (VM) bezeichnet.

    Der VF wird dem angegebenen virtuellen Computer zugeordnet, bevor der überlastende Treiber die OID_NIC_SWITCH_CREATE_SWITCH-Anforderung ausgibt.

  • Das NicName-Element muss auf den Bezeichner des Netzwerkadapters für virtuelle Computer (VM) festgelegt werden. Dieser virtuelle Adapter wird im Gastbetriebssystem verfügbar gemacht, das auf dem virtuellen Computer ausgeführt wird. Der PF-Miniporttreiber verwendet diesen Member nur zu Informationszwecken.

    Wenn Ressourcen für den VF zugeordnet und an die untergeordnete Partition angefügt sind, wird ein VF-Netzwerkadapter im Gastbetriebssystem verfügbar gemacht. Der VM-Netzwerkadapter verwendet den VF-Netzwerkadapter für die Paketübertragung über den hardwarebasierten VF-Datenpfad.

    Der VF kann jedoch von der untergeordneten Partition getrennt werden, z. B. während der Livemigration. In diesem Fall erfolgt die Paketübertragung über den softwarebasierten synthetischen Datenpfad. Weitere Informationen zu diesen Datenpfaden finden Sie unter SR-IOV-Datenpfade.

  • Die Mitglieder PermanentMacAddress und CurrentMacAddress müssen auf die MAC-Adressen (Media Access Control) für den virtuellen Netzwerkadapter des VF festgelegt werden. Diese Adressen werden für den Netzwerkstapel verfügbar gemacht, der im Gastbetriebssystem der untergeordneten Hyper-V-Partition ausgeführt wird.

Der überlastende Treiber gibt die OID-Methodenanforderung von OID_NIC_SWITCH_ALLOCATE_VF aus, indem er die folgenden Schritte ausführt:

  1. Der übersteigende Treiber initialisiert eine NDIS_OID_REQUEST-Struktur für die OID-Methodenanforderung. Der Treiber legt den InformationBuffer-Member auf einen Zeiger auf eine initialisierte NDIS_NIC_SWITCH_VF_PARAMETERS-Struktur fest.

  2. Der überlastende Treiber ruft NdisOidRequest auf, um die OID-Anforderung an den zugrunde liegenden PF-Miniporttreiber auszusetzen.

    Hinweis Wenn der übergeordnete Treiber NdisOidRequest aufruft, fängt NDIS die OID-Anforderung ab und überprüft die in der NDIS_NIC_SWITCH_VF_PARAMETERS-Struktur angegebenen VF-Parameter . Wenn die Parameter erfolgreich überprüft wurden, leitet NDIS die OID an den PF-Miniporttreiber weiter. Andernfalls schlägt NDIS die OID-Anforderung mit NDIS_STATUS_INVALID_PARAMETER fehl.

Nachdem ein übermäßiger Treiber die Ressourcenzuordnung für eine VF angefordert hat, ist dieser Treiber die einzige Komponente, die die Freigabe der Ressourcen für denselben VF anfordern kann. Der überlastende Treiber muss eine OID-Set-Anforderung von OID_NIC_SWITCH_FREE_VF ausgeben, um die VF-Ressourcen freizugeben. Bevor der übergeordnete Treiber angehalten werden kann, muss er die Ressourcen für jeden VF freigeben, der durch die OID_NIC_SWITCH_ALLOCATE_VF-Anforderung des Treibers zugewiesen wurde.