Freigeben über


Festlegen der Parameter eines NIC-Switches

Ein überlastender Treiber kann die Parameter für einen NIC-Switch ändern, der auf einem Netzwerkadapter erstellt wurde, der die Einzelstamm-E/A-Virtualisierung (SINGLE Root I/O Virtualization, SR-IOV) unterstützt. Der Treiber gibt eine OID-Set-Anforderung (Object Identifier) von OID_NIC_SWITCH_PARAMETERS aus, um diese Parameter zu ändern. Nur der Miniporttreiber für die PHYSISCHE FUNKTION (PCIe) des SR-IOV-Adapters verarbeitet diese OID-Set-Anforderung.

Bevor der überlastende Treiber diese OID-Set-Anforderung ausgibt, muss er eine NDIS_NIC_SWITCH_PARAMETERS-Struktur mit den Parametern initialisieren, die auf dem NIC-Switch geändert werden sollen. Der Treiber initialisiert dann eine NDIS_OID_REQUEST-Struktur für die OID-Anforderung und legt das InformationBuffer-Element auf einen Zeiger der NDIS_NIC_SWITCH_PARAMETERS-Struktur fest.

Es kann nur eine begrenzte Teilmenge der Konfigurationsparameter für einen NIC-Switch geändert werden. Der überstehende Treiber gibt den zu ändernden Parameter an, indem die folgenden Member der NDIS_NIC_SWITCH_PARAMETERS-Struktur festgelegt werden:

  • Der SwitchId-Member wird auf den Bezeichner des NIC-Schalters festgelegt, dessen Parameter geändert werden.

    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. Das SwitchId-Element muss auf NDIS_DEFAULT_SWITCH_ID festgelegt werden.

  • Die entsprechenden NDIS_NIC_SWITCH_PARAMETERS_Xxx_CHANGED-Flags werden im Flags-Element festgelegt. Member der NDIS_NIC_SWITCH_PARAMETERS-Struktur können nur geändert werden, wenn ein entsprechendes flag NDIS_NIC_SWITCH_PARAMETERS_Xxx_CHANGED in Ntddndis.h definiert ist.

  • Die Member der NDIS_NIC_SWITCH_PARAMETERS-Struktur , die den flags NDIS_NIC_SWITCH_PARAMETERS_Xxx_CHANGED entsprechen, die im Flags-Member festgelegt sind, werden mit den zu ändernden Konfigurationsparametern für den NIC-Switch festgelegt.

    Hinweis Ab Windows Server 2012 kann nur der SwitchName-Member der NDIS_NIC_SWITCH_PARAMETERS-Struktur über eine OID-Satzanforderung von OID_NIC_SWITCH_PARAMETERS geändert werden.

Der PF-Miniporttreiber muss diese Richtlinien befolgen, wenn er die OID-Set-Anforderung von OID_NIC_SWITCH_PARAMETERS

  • Wenn der PF-Miniporttreiber die Änderungen anwenden kann, ohne dass eine Neuinitialisierung des Netzwerkadapters erforderlich ist, wendet der Treiber die Änderungen auf die Hardware an und schließt die OID-Anforderung mit NDIS_STATUS_SUCCESS ab.

    Wenn dieser status Code zurückgegeben wird, aktualisiert NDIS die Konfigurationsinformationen des NIC-Switches in der Registrierung.

  • Wenn der PF-Miniporttreiber eine Neuinitialisierung des Netzwerkadapters erfordert, um die Änderungen anzuwenden, schließt der Treiber die OID-Anforderung mit NDIS_STATUS_REINIT_REQUIRED ab.

    Wenn dieser status Code zurückgegeben wird, aktualisiert NDIS auch die Konfigurationsinformationen für den NIC-Switch in der Registrierung. Der überlastende Treiber, der die OID-Set-Anforderung ausgestellt hat, muss den Netzwerkadapter jedoch neu initialisieren, damit die Änderungen wirksam werden können.

    Hinweis PF-Miniporttreiber, die die statische NIC-Erstellung und -Konfiguration unterstützen, können NDIS_STATUS_REINIT_REQUIRED zurückgeben, um sicherzustellen, dass der Adapter neu initialisiert wird, damit die neuen Parameter wirksam werden.

  • Wenn der PF-Miniporttreiber die in der OID angeforderten Änderungen nicht anwenden kann, muss die OID fehlschlagen und den entsprechenden NDIS_STATUS_Xxx-Code zurückgeben.

    In diesem Fall aktualisiert NDIS die Konfigurationsinformationen des NIC-Switches in der Registrierung nicht.