Freigeben über


Behandeln der OID_NIC_SWITCH_CREATE_SWITCH-Anforderung

NDIS stellt eine OID-Methodenanforderung (Object Identifier) von OID_NIC_SWITCH_CREATE_SWITCH aus, um Folgendes auszuführen:

  • Aktivieren Sie einen NIC-Switch für einen Netzwerkadapter, der statisch vom Miniporttreiber für die PCI Express (PCIe) Physical Function (PF) erstellt wurde. Die PF ist eine Hardwarekomponente des Netzwerkadapters, die single root E/A Virtualization (SR-IOV) unterstützt.

    Ein NIC-Switch wird vom PF-Miniporttreiber statisch aus dem Kontext bis zum Aufruf von MiniportInitializeEx erstellt. Der Treiber weist die Ressourcen zu und erstellt den Switch basierend auf Parametern, die aus den Registrierungseinstellungen gelesen werden.

  • Erstellen Sie dynamisch einen NIC-Switch auf einem Netzwerkadapter.

    Wenn der PF-Miniporttreiber die erstellung eines statischen NIC-Switches nicht unterstützt, weist der Miniporttreiber die Ressourcen zu und erstellt den Switch basierend auf parametern, die in der OID-Anforderung angegeben sind.

Der PF-Miniporttreiber kündigt seine Unterstützung der SR-IOV-Schnittstelle an, wenn NDIS die MiniportInitializeEx-Funktion des Treibers aufruft. Wenn der PF-Miniporttreiber SR-IOV unterstützt, liest NDIS die Konfiguration des NIC-Switches aus der Registrierung. Bevor NDIS eine OID-Methodenanforderung von OID_NIC_SWITCH_CREATE_SWITCH an den PF-Miniporttreiber ausgibt, formatiert NDIS eine NDIS_NIC_SWITCH_PARAMETERS-Struktur mit den Registrierungsinformationen wie folgt:

  • NDIS legt das SwitchType-Element auf den Typ des NIC-Switches fest.

    Ab Windows Server 2012 unterstützt Windows nur einen Switchtyp von NdisNicSwitchTypeExternal. Ein externer Switch gibt an, dass die virtuellen Ports (VPorts), die mit diesem Switchtyp verbunden sind, über den physischen Port des Netzwerkadapters auf das externe Netzwerk zugreifen können.

    Weitere Informationen zum NIC-Switch finden Sie unter SR-IOV-Architektur.

  • NDIS legt den SwitchId-Member auf einen Bezeichnerwert für den NIC-Switch fest. Der Switch-Bezeichner ist eine ganze Zahl zwischen null und der Anzahl von Switches, die der Netzwerkadapter unterstützt. Ein NDIS_DEFAULT_SWITCH_ID-Wert gibt den Standard-NIC-Switch an.

    Hinweis Ab Windows Server 2012 unterstützt die SR-IOV-Schnittstelle nur den Standard-NIC-Switch auf dem Netzwerkadapter.

  • NDIS legt den NumVFs-Member fest, der die Anzahl der PCIe Virtual Function (VFs) angibt, die auf dem NIC-Switch zugeordnet werden können.

Wenn er die OID-Methodenanforderung von OID_NIC_SWITCH_CREATE_SWITCH empfängt, muss der PF-Miniporttreiber die folgenden Schritte ausführen:

  1. Wenn der PF-Miniporttreiber die Erstellung und Konfiguration eines statischen Switches unterstützt, wird der NIC-Switch erstellt, wenn NDIS MiniportInitializeEx aufruft. Wenn der Treiber diese OID-Anforderung verarbeitet, müssen die Konfigurationsparameter in der NDIS_NIC_SWITCH_PARAMETERS-Struktur überprüft werden . Die Parameter müssen mit denen übereinstimmen, die vom Treiber zum Erstellen des Schalters während des Aufrufs von MiniportInitializeEx verwendet werden. Wenn dies nicht der Fall ist, muss der Treiber die OID-Anforderung nicht ausführen.

    Weitere Informationen finden Sie unter Statische Erstellung eines NIC-Switches.

  2. Wenn der PF-Miniporttreiber die Erstellung und Konfiguration eines dynamischen Switches unterstützt, muss der Treiber die Konfigurationswerte der NDIS_NIC_SWITCH_PARAMETERS Struktur überprüfen und den NIC-Switch basierend auf diesen Werten erstellen.

    Weitere Informationen finden Sie unter Dynamische Erstellung eines NIC-Switches.

  3. Der PF-Miniporttreiber muss die erforderlichen Hardware- und Softwareressourcen für den Standard-VPort auf dem NIC-Switch zuordnen.

    Hinweis Der Standard-VPort wird immer über eine OID-Anforderung von OID_NIC_SWITCH_CREATE_SWITCH erstellt und über eine OID-Anforderung von OID_NIC_SWITCH_DELETE_SWITCH gelöscht. OID-Anforderungen von OID_NIC_SWITCH_CREATE_VPORT und OID_NIC_SWITCH_DELETE_VPORT werden zum Erstellen und Löschen von nicht standardmäßigen VPorts auf dem NIC-Switch verwendet.

  4. Der PF-Miniporttreiber, der die Erstellung und Konfiguration eines dynamischen Switches unterstützt, muss die SR-IOV-Virtualisierung auf dem Switch aktivieren, indem NdisMEnableVirtualization aufgerufen wird. Dieser Aufruf konfiguriert den NumVFs-Member und das VF Enable-Bit in der SR-IOV Extended Capability-Struktur des PCI Express -Konfigurationsraums (PCIe) des Adapters.

    Weitere Informationen zum SR-IOV-Konfigurationsbereich finden Sie in der PCI-SIG Single Root E/O Virtualization and Sharing 1.1-Spezifikation .

    Hinweis Wenn der PF-Miniporttreiber die Erstellung eines statischen Switches unterstützt, aktiviert er die SR-IOV-Virtualisierung, nachdem er den Switch erstellt hat, wenn MiniportInitializeEx aufgerufen wird.

Wenn der PF-Miniporttreiber die Anforderung der OID-Methode von OID_NIC_SWITCH_CREATE_SWITCH erfolgreich abgeschlossen hat, kann Folgendes erfolgen:

  • VFs können auf dem NIC-Switch über OID-Methodenanforderungen von OID_NIC_SWITCH_ALLOCATE_VF zugeordnet werden.

  • Nicht standardmäßige VPorts können auf dem NIC-Switch über OID-Methodenanforderungen von OID_NIC_SWITCH_CREATE_VPORT erstellt werden.

    Der Miniporttreiber ist für die Verwaltung seines Pools mit nicht standardmäßigen VPorts verantwortlich. Der Treiber gibt die Anzahl der nicht standardmäßigen VPorts in seinem Pool über den NumVPorts-Member der NDIS_NIC_SWITCH_INFO-Struktur an. Der Treiber gibt diese Struktur über eine OID-Abfrageanforderung von OID_NIC_SWITCH_ENUM_SWITCHES zurück.

    Hinweis Der Netzwerkadapter muss immer einen Standard-VPort aus seinem Pool für die PF erstellen.