Statische Erstellung eines NIC-Switches
Ein Netzwerkadapter, der die Single-Root-E/A-Virtualisierung (SR-IOV) unterstützt, muss in der Lage sein, einen NIC-Switch zu erstellen. Bei einigen Adaptern kann der NIC-Switch statisch im Kontext des Aufrufs von MiniportInitializeEx erstellt werden.
Nur der Miniporttreiber für die PCI Express (PCIe) Physical Function (PF) des SR-IOV-Adapters kann einen NIC-Switch auf dem Adapter erstellen.
Hinweis Ab Windows Server 2012 unterstützt die SR-IOV-Schnittstelle nur einen NIC-Switch auf dem Netzwerkadapter. Dieser Switch wird als Standard-NIC-Switch bezeichnet und wird vom bezeichner NDIS_DEFAULT_SWITCH_ID referenziert.
Die Parameter für den Standard-NIC-Switch werden über standardisierte Schlüsselwort (keyword) Einstellungen in der Registrierung definiert. Weitere Informationen zu diesen Schlüsselwörtern finden Sie unter Standardisierte INF-Schlüsselwörter für SR-IOV.
Der PF-Miniporttreiber erstellt statisch den NIC-Switch, wenn NDIS die MiniportInitializeEx-Funktion des Treibers aufruft. In der Regel erstellt und konfiguriert der Treiber den NIC-Switch im Rahmen seiner Initialisierungssequenz, bevor SR-IOV auf dem Netzwerkadapter aktiviert wird.
Der PF-Miniporttreiber führt die folgenden Schritte aus, wenn er den NIC-Switch statisch erstellt und SR-IOV auf dem Netzwerkadapter im Kontext des Aufrufs von MiniportInitializeEx aktiviert:
Der PF-Miniporttreiber muss die standardisierten SR-IOV-Schlüsselwörter lesen, um zu bestimmen, ob SR-IOV aktiviert ist, und die Konfigurationsparameter für den NIC-Switch abrufen.
Hinweis Wenn der PF-Miniporttreiber einen Einstiegspunkt für eine MiniportSetOptions-Funktion registriert hat, hat der Treiber diese Parameter möglicherweise zuvor aus der Registrierung abgerufen, als NDIS MiniportSetOptions aufgerufen hat.
Wenn SR-IOV aktiviert ist, konfiguriert der PF-Miniporttreiber den Netzwerkadapter mit den NIC-Switch-Parametern aus der Registrierung. Der Treiber muss überprüfen, ob die Parameter gültig sind, bevor er den Netzwerkadapter konfiguriert. Der Miniporttreiber muss beispielsweise überprüfen, ob die maximale Anzahl von virtuellen PCIe-Funktionen (VFs), die dem NIC-Switch zugewiesen sind, die Anzahl der vom Netzwerkadapter unterstützten VFs nicht überschreitet.
Der Miniporttreiber ruft NdisMEnableVirtualization auf, um SR-IOV zu aktivieren und die Anzahl der VFs auf dem Netzwerkadapter festzulegen. Diese Funktion konfiguriert die erweiterte SR-IOV-Funktion im PCI-Konfigurationsraum des Adapters. Wenn diese Funktion NDIS_STATUS_SUCCESS zurückgibt, ist SR-IOV aktiviert, und die VFs werden über die PCIe-Schnittstelle verfügbar gemacht.
Hinweis Wenn der PF-Miniporttreiber statisch den NIC-Switch erstellt, kann der Switch erst verwendet werden, wenn NDIS eine OID-Methodenanforderung (Object Identifier) von OID_NIC_SWITCH_CREATE_SWITCH ausgibt. Wenn der PF-Miniporttreiber den NIC-Switch statisch erstellt hat, muss er überprüfen, ob die Switchparameter in der OID-Anforderung angegeben sind. Diese Parameter, die in der NDIS_NIC_SWITCH_PARAMETERS Struktur enthalten sind, die der OID-Anforderung zugeordnet ist, müssen mit den Parametern identisch sein, die der Treiber zum Erstellen des Switches verwendet hat.
Weitere Informationen zum Behandeln der OID_NIC_SWITCH_CREATE_SWITCH Anforderung finden Sie unter Behandeln der OID_NIC_SWITCH_CREATE_SWITCH Anforderung.
Weitere Informationen zur Initialisierungssequenz und den Anforderungen für PF-Miniporttreiber finden Sie unter Initialisieren eines PF-Miniporttreibers.