Freigeben über


Bestimmen der NVGRE-Aufgabenauslagerungsfunktionen eines Netzwerkadapters

Ein Miniporttreiber, der die Netzwerkvirtualisierung mithilfe von NVGRE-Aufgaben (Generic Routing Encapsulation) unterstützt, meldet diese Funktion mithilfe der NDIS_OFFLOAD-Struktur , die die MiniportInitializeEx-Funktion an NdisMSetMiniportAttributes übergibt.

Berichterstellungsfunktion für NVGRE-Aufgaben

In der NDIS_OFFLOAD-Struktur muss das Header-Element wie folgt festgelegt werden:

  • Der Revisionsmember muss auf NDIS_OFFLOAD_REVISION_3 festgelegt werden.
  • Das Element Größe muss auf NDIS_SIZEOF_NDIS_OFFLOAD_REVISION_3 festgelegt werden.

Um die Unterstützung der NVGRE-Aufgabenauslagerung zu melden, legt ein Miniporttreiber die folgenden Member in der NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD-Struktur fest, die im EncapsulatedPacketTaskOffloadGre-Element der NDIS_OFFLOAD-Struktur gespeichert wird, die die MiniportInitializeEx-Funktion des Miniporttreibers an NdisMSetMiniportAttributes übergibt:

  • Legen Sie den MaxHeaderSizeSupported-Member auf die maximale Headergröße vom Anfang des Pakets bis zum Anfang der inneren TCP- oder UDP-Nutzlast (dem letzten Byte des tcp- oder UDP-inneren Headers) fest, die die NIC für alle diese Aufgabenauslagerungen unterstützen muss. Vom Protokolltreiber wird erwartet, dass die Verarbeitung eines Pakets, dessen kombinierte Kapselungsheader diese Größe überschreiten, nicht ausgelagert wird.

    Hinweis 256 Bytes ist ein guter Standardwert, der alle möglichen Fälle abdecken sollte.

  • Legen Sie die anderen Member fest, um anzugeben, welche Aufgabentypen der Miniporttreiber für gekapselte Pakete unterstützt. Eine Liste der Flags, die für diese Member festgelegt werden können, finden Sie im Abschnitt Hinweise von NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD.

Abfragen der NVGRE-Aufgabenauslagerungsfunktion

Um zu bestimmen, ob ein Miniporttreiber NVGRE-Aufgabenauslagerung unterstützt, können Protokoll- und Filtertreiber die OID_TCP_OFFLOAD_HARDWARE_CAPABILITIES OID-Anforderung ausgeben, die die NDIS_OFFLOAD-Struktur zurückgibt.

Hinweis Um zu ermitteln, ob die NVGRE-Funktion des Miniporttreibers derzeit aktiviert ist, verwenden Sie die OID_TCP_OFFLOAD_CURRENT_CONFIG OID-Anforderung, wie unter Abfragen und Ändern des NVGRE-Aufgabenauslagerungszustands beschrieben.

Hinweis Um die NVGRE-Funktion des Miniporttreibers zu aktivieren oder zu deaktivieren, verwenden Sie die OID_TCP_OFFLOAD_PARAMETERS OID-Anforderung, wie unter Abfragen und Ändern des NVGRE-Aufgabenauslagerungszustands beschrieben.