Freigeben über


NDIS_OFFLOAD_PARAMETERS-Struktur (ntddndis.h)

Die NDIS_OFFLOAD_PARAMETERS-Struktur gibt die aktuellen Konfigurationseinstellungen für das Auslagern der Aufgabe als Reaktion auf eine OID-Set-Anforderung von OID_TCP_OFFLOAD_PARAMETERS an.

Syntax

typedef struct _NDIS_OFFLOAD_PARAMETERS {
  NDIS_OBJECT_HEADER                 Header;
  UCHAR                              IPv4Checksum;
  UCHAR                              TCPIPv4Checksum;
  UCHAR                              UDPIPv4Checksum;
  UCHAR                              TCPIPv6Checksum;
  UCHAR                              UDPIPv6Checksum;
  UCHAR                              LsoV1;
  UCHAR                              IPsecV1;
  UCHAR                              LsoV2IPv4;
  UCHAR                              LsoV2IPv6;
  UCHAR                              TcpConnectionIPv4;
  UCHAR                              TcpConnectionIPv6;
  ULONG                              Flags;
  UCHAR                              IPsecV2;
  UCHAR                              IPsecV2IPv4;
  struct {
    UCHAR RscIPv4;
    UCHAR RscIPv6;
  };
  struct {
    UCHAR EncapsulatedPacketTaskOffload;
    UCHAR EncapsulationTypes;
  };
  union {
    struct {
      USHORT VxlanUDPPortNumber;
    } VxlanParameters;
    ULONG Value;
  } EncapsulationProtocolParameters;
  _ENCAPSULATION_PROTOCOL_PARAMETERS _ENCAPSULATION_PROTOCOL_PARAMETERS;
  struct {
    UCHAR IPv4;
    UCHAR IPv6;
  } UdpSegmentation;
  struct {
    UCHAR Enabled;
  } UdpRsc;
} NDIS_OFFLOAD_PARAMETERS, *PNDIS_OFFLOAD_PARAMETERS;

Member

Header

Die NDIS_OBJECT_HEADER-Struktur für die NDIS_OFFLOAD_PARAMETERS-Struktur . Legen Sie das Type-Element der Struktur, die Header angibt, auf NDIS_OBJECT_TYPE_DEFAULT fest.

Um die Version der NDIS_OFFLOAD_PARAMETERS-Struktur anzugeben, legen Sie den Revisionsmember auf einen der folgenden Werte fest:

Wert Bedeutung
NDIS_OFFLOAD_PARAMETERS_REVISION_6
6
Unterstützt das UdpRsc-Element für NDIS 6.89. Legen Sie das Element Größe auf NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_6 fest.
NDIS_OFFLOAD_PARAMETERS_REVISION_5
5
Unterstützt udpSegmentation für IPv4 und IPv6 für NDIS 6.83. Legen Sie das Element Größe auf NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_5 fest.
NDIS_OFFLOAD_PARAMETERS_REVISION_4
4
Unterstützt EncapsulationProtocolParameters und die geschachtelten VxlanParameters für NDIS 6.50. Legen Sie das Element Größe auf NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_4 fest.
NDIS_OFFLOAD_PARAMETERS_REVISION_3
3
Unterstützt die Member RscIPv4, RscIPv6, EncapsulatedPacketTaskOffload und EncapsulationTypes für NDIS 6.30. Legen Sie das Element Größe auf NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_3 fest.
NDIS_OFFLOAD_PARAMETERS_REVISION_2
2
Unterstützt die Mitglieder IPsecV2, IPsecV2IPv4, Reserved1 und Reserved2 für NDIS 6.1. Legen Sie das Element Größe auf NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_2 fest.
NDIS_OFFLOAD_PARAMETERS_REVISION_1
1
Ursprüngliche Version für NDIS 6.0. Legen Sie das Element Größe auf NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_1 fest.

IPv4Checksum

Die IPv4-Prüfsummeneinstellung des Miniportadapters. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".

TCPIPv4Checksum

Die IPv4-Prüfsummeneinstellung des Miniportadapters für TCP-Pakete. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".

UDPIPv4Checksum

Die IPv4-Prüfsummeneinstellung des Miniportadapters für UDP-Pakete. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".

TCPIPv6Checksum

Die IPv6-Prüfsummeneinstellung des Miniportadapters für TCP-Pakete. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".

UDPIPv6Checksum

Die IPv6-Prüfsummeneinstellung des Miniportadapters für UDP-Pakete. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".

LsoV1

Die Einstellung "Large Send Offload Version 1" (LSOV1) des Miniportadapters. Diese Einstellung sollte einer der folgenden Werte sein:

Wert Bedeutung
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE Der Miniporttreiber sollte die aktuelle Einstellung nicht ändern.
NDIS_OFFLOAD_PARAMETERS_LSOV1_DISABLED LSOV1 ist deaktiviert.
NDIS_OFFLOAD_PARAMETERS_LSOV1_ENABLED LSOV1 ist aktiviert.

IPsecV1

Die Einstellung internetprotokollsicherheit (Internet Protocol Security, IPsec)-Auslagerung des Miniportadapters. Diese Einstellung sollte einer der folgenden Werte sein:

Wert Bedeutung
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE Der Miniporttreiber sollte die aktuelle Einstellung nicht ändern.
NDIS_OFFLOAD_PARAMETERS_IPSECV1_DISABLED Die IPsec-Auslagerung ist deaktiviert.
NDIS_OFFLOAD_PARAMETERS_IPSECV1_AH_ENABLED Das Feature "IPsec offload Authentication Header (AH)" sollte für das Senden und Empfangen aktiviert sein.
NDIS_OFFLOAD_PARAMETERS_IPSECV1_ESP_ENABLED Das Feature Encapsulating Security Payload (ESP) von IPsec sollte für das Senden und Empfangen aktiviert sein.
NDIS_OFFLOAD_PARAMETERS_IPSECV1_AH_AND_ESP_ENABLED Die IPsec-Auslagerungsfunktionen AH und ESP sind für das Senden und Empfangen aktiviert.

LsoV2IPv4

Die Einstellung "IPv4 large send offload Version 2 (LSOV2)" des Miniportadapters. Diese Einstellung sollte einer der folgenden Werte sein:

Wert Bedeutung
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE Der Miniporttreiber sollte die aktuelle Einstellung nicht ändern.
NDIS_OFFLOAD_PARAMETERS_LSOV2_DISABLED LSOV2 für IPv4 ist deaktiviert.
NDIS_OFFLOAD_PARAMETERS_LSOV2_ENABLED LSOV2 für IPv4 ist aktiviert.

LsoV2IPv6

Die IPv6 LSOV2-Einstellung des Miniportadapters. Diese Einstellungen werden als einer der folgenden Werte angegeben:

Wert Bedeutung
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE Der Miniporttreiber sollte die aktuelle Einstellung nicht ändern.
NDIS_OFFLOAD_PARAMETERS_LSOV2_DISABLED LSOV2 für IPv6 ist deaktiviert.
NDIS_OFFLOAD_PARAMETERS_LSOV2_ENABLED LSOV2 für IPv6 ist aktiviert.

TcpConnectionIPv4

Die IPv4-Verbindungsabladungseinstellung des Miniportadapters. Diese Einstellungen werden als einer der folgenden Werte angegeben:

Wert Bedeutung
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE Der Miniporttreiber sollte die aktuelle Einstellung nicht ändern.

TcpConnectionIPv6

Die Einstellung zum Entladen der IPv6-Verbindung des Miniportadapters. Diese Einstellungen werden als einer der folgenden Werte angegeben:

Wert Bedeutung
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE Der Miniporttreiber sollte die aktuelle Einstellung nicht ändern.

Flags

Eine Gruppe von Flags, die mit einem bitweisen OR-Vorgang kombiniert werden können. Legen Sie dieses Element auf null oder den folgenden Wert fest:

Wert Bedeutung
NDIS_OFFLOAD_PARAMETERS_SKIP_REGISTRY_UPDATE
0x00000001
Ermöglicht die Deaktivierung von UDP Receive Segment Coalescing Offload (URO) nur zur Laufzeit. Mit diesem Flag vorgenommene Änderungen werden nicht in der Registrierung gespeichert.

IPsecV2

Die Einstellung internet protocol security (IPsec) offload Version 2 eines Miniportadapters, der IPv6 und IPv4 unterstützt. Dieser Member gibt die Einstellung für die IPv6- und IPv4-Unterstützung an. Diese Einstellung sollte einer der folgenden Werte sein:

Wert Bedeutung
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE Der Miniporttreiber sollte die aktuelle Einstellung nicht ändern.
NDIS_OFFLOAD_PARAMETERS_IPSECV2_DISABLED IPsec-Auslagerung Version 2 ist deaktiviert.
NDIS_OFFLOAD_PARAMETERS_IPSECV2_AH_ENABLED Das Feature Authentifizierungsheader (AH) der IPsec-Auslagerung der Version 2 sollte für das Senden und Empfangen aktiviert sein.
NDIS_OFFLOAD_PARAMETERS_IPSECV2_ESP_ENABLED Das FEATURE "IPsec offload Version 2 Encapsulating Security Payload (ESP)" sollte für das Senden und Empfangen aktiviert sein.
NDIS_OFFLOAD_PARAMETERS_IPSECV2_AH_AND_ESP_ENABLED Die IPsec-Auslagerungsversion 2 AH und ESP-Features sind für das Senden und Empfangen aktiviert.

IPsecV2IPv4

Die Einstellung internet protocol security (IPsec) offload Version 2 eines Miniportadapters, der IPv4 unterstützt und IPv6 nicht unterstützt. Wenn der Miniporttreiber IPv6 unterstützt, gibt der IPsecV2-Member die IPv4-Einstellung an, und dieser Member wird nicht verwendet. Diese Einstellung sollte einer der folgenden Werte sein:

Wert Bedeutung
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE Der Miniporttreiber sollte die aktuelle Einstellung nicht ändern.
NDIS_OFFLOAD_PARAMETERS_IPSECV2_DISABLED IPsec-Auslagerung Version 2 ist deaktiviert.
NDIS_OFFLOAD_PARAMETERS_IPSECV2_AH_ENABLED Das Feature Authentifizierungsheader (AH) der IPsec-Auslagerung der Version 2 sollte für das Senden und Empfangen aktiviert sein.
NDIS_OFFLOAD_PARAMETERS_IPSECV2_ESP_ENABLED Das FEATURE "IPsec offload Version 2 Encapsulating Security Payload (ESP)" sollte für das Senden und Empfangen aktiviert sein.
NDIS_OFFLOAD_PARAMETERS_IPSECV2_AH_AND_ESP_ENABLED Die IPsec-Auslagerungsversion 2 AH und ESP-Features sind für das Senden und Empfangen aktiviert.

RscIPv4

Gibt den Zusammenführungsstatus des Empfangssegments für IPv4 an.

Wert Bedeutung
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE Der RSC-Zustand bleibt unverändert.
NDIS_OFFLOAD_PARAMETERS_RSC_ENABLED Der RSC-Status ist aktiviert.
NDIS_OFFLOAD_PARAMETERS_RSC_DISABLED Der RSC-Status ist deaktiviert.

RscIPv6

Gibt den Zusammenführungsstatus des Empfangssegments für IPv6 an.

Wert Bedeutung
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE Der RSC-Zustand bleibt unverändert.
NDIS_OFFLOAD_PARAMETERS_RSC_ENABLED Der RSC-Status ist aktiviert.
NDIS_OFFLOAD_PARAMETERS_RSC_DISABLED Der RSC-Status ist deaktiviert.

EncapsulatedPacketTaskOffload

Ein Protokolltreiber legt EncapsulatedPacketTaskOffload wie folgt fest:

Hinweis: Für empfangsseitige Auslagerungen wie VMQ und RSS gibt es andere festgelegte OIDs, die der Protokolltreiber nach unten sendet, um die Auslagerungsparameter zu aktivieren und zu konfigurieren (z. B. Warteschlangen, Hash und Dereferenzierungstabelle). Der EncapsulatedPacketTaskOffload-Member ist eine Ergänzung zu diesen OIDs und weist die NIC an, diese Auslagerungen auch für gekapselte Pakete zu erledigen.

Wert Bedeutung
NDIS_OFFLOAD_SET_NO_CHANGE
0
Die NVGRE- und VXLAN-Taskauslagerungszustände bleiben unverändert.
NDIS_OFFLOAD_SET_ON
1
Aktiviert NVGRE- und VXLAN-Aufgabenauslagerungen.
NDIS_OFFLOAD_SET_OFF
2
Deaktiviert NVGRE- und VXLAN-Aufgabenauslagerungen.

EncapsulationTypes

Dieses Feld ist nur wirksam, wenn EncapsulatedPacketTaskOffload auf NDIS_OFFLOAD_SET_ON festgelegt ist. Wenn das EncapsulatedPacketTaskOffload-Element nicht auf NDIS_OFFLOAD_SET_ON festgelegt ist, ist dieser Member null. Ein Protokolltreiber muss EncapsulationTypes auf das bitweise OR der Flags festlegen, die den benötigten Kapselungstypen entsprechen. Es kann Flags aus den folgenden Optionen auswählen:

Wert Bedeutung
NDIS_ENCAPSULATION_TYPE_GRE_MAC
0x00000001
Gibt die GRE MAC-Kapselung (NVGRE) an.
NDIS_ENCAPSULATION_TYPE_VXLAN
0x00000002
Gibt die VXLAN-Kapselung an.

EncapsulationProtocolParameters

Eine Union, die die Kapselungsparameter für die VXLAN-Kapselung beschreibt.

Wenn der Miniporttreiber VxlanUDPPortNumerConfigurable als TRUE angekündigt hat, kann ein Protokolltreiber EncapsulationProtocolParameters.VxlanParameters.VxlanUDPPortNumber auf einen Wert ungleich 0 festlegen. Der Miniporttreiber muss diese Portnummer zum Abgleichen und Generieren von VXLAN-Frames verwenden, nachdem die OID erfolgreich war, und den aktualisierten Wert in seinen Funktionen ankündigen. Wenn der Protokolltreiber den Wert 0 übergibt, verwendet der Miniporttreiber weiterhin die Portnummer, die vom standardisierten Schlüsselwort (keyword) initialisiert wurde.

EncapsulationProtocolParameters.VxlanParameters

Eine -Struktur, die die VxlanUDPPortNumber enthält.

EncapsulationProtocolParameters.VxlanParameters.VxlanUDPPortNumber

Der Wert des VXLAN-Zielports. Dieser Wert wird standardmäßig auf den von IANA zugewiesenen Wert 4789 festgelegt. Wenn der Miniporttreiber eine konfigurierbare Portnummer unterstützt, wie in der NDIS_OFFLOAD-Struktur angekündigt, kann ein Protokolltreiber eine OID_TCP_OFFLOAD_PARAMETERS OID ausgeben, um NDIS_ENCAPSULATION_TYPE_VXLAN mit einem anderen Wert in VxlanUDPPortNumber zu aktivieren. Der Miniporttreiber muss VxlanUDPPortNumber verwenden, um gekapselte VXLAN-Pakete für die Durchführung von Empfangsausladungen zu ermitteln.

EncapsulationProtocolParameters.Value

Der Portwert, wenn EncapsulationTypes nicht auf NDIS_ENCAPSULATION_TYPE_VXLAN festgelegt ist.

_ENCAPSULATION_PROTOCOL_PARAMETERS

Der Typname für EncapsulationProtocolParameters.

UdpSegmentation

Eine Struktur, die die USO-Einstellungen (UDP Segmentation Offload) des Miniportadapters beschreibt.

UdpSegmentation.IPv4

Die Einstellung IPv4 UDP Segmentation Offload (USO) des Miniportadapters. Diese Einstellung sollte einer der folgenden Werte sein:

Wert Bedeutung
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE Der Miniporttreiber sollte die aktuelle Einstellung nicht ändern.
NDIS_OFFLOAD_PARAMETERS_UDP_SEG_DISABLED USO ist deaktiviert.
NDIS_OFFLOAD_PARAMETERS_UDP_SEG_ENABLED USO ist aktiviert.

UdpSegmentation.IPv6

Die Einstellung IPv6 UDP Segmentation Offload (USO) des Miniportadapters. Diese Einstellung sollte einer der folgenden Werte sein:

Wert Bedeutung
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE Der Miniporttreiber sollte die aktuelle Einstellung nicht ändern.
NDIS_OFFLOAD_PARAMETERS_UDP_SEG_DISABLED USO ist deaktiviert.
NDIS_OFFLOAD_PARAMETERS_UDP_SEG_ENABLED USO ist aktiviert.

UdpRsc

Eine Struktur, die die Udp-Empfangssegment-Sammelabladungseinstellungen (URO) des Miniportadapters beschreibt.

UdpRsc.Enabled

Die URO-Einstellung des Miniportadapters. Diese Einstellung sollte einer der folgenden Werte sein:

Wert Bedeutung
NDIS_OFFLOAD_PARAMETERS_UDP_RSC_NO_CHANGE
0
Der Miniporttreiber sollte die aktuelle Einstellung nicht ändern.
NDIS_OFFLOAD_PARAMETERS_UDP_RSC_DISABLED
1
URO ist deaktiviert.
NDIS_OFFLOAD_PARAMETERS_UDP_RSC_ENABLED
2
URO ist aktiviert.

Hinweise

Als Reaktion auf eine OID_TCP_OFFLOAD_PARAMETERS OID-Set-Anforderung verwendet ein Miniporttreiber die Einstellungen in der NDIS_OFFLOAD_PARAMETERS-Struktur , um die aktuelle Konfiguration des Miniportadapters festzulegen.

NDIS behält die angeforderten Einstellungen in der Registrierung in den standardisierten Schlüsselwörtern für die Auslagerung bei. Wenn NDIS den Miniportadapter neu startet, liest der Miniporttreiber die standardisierten Schlüsselwörter für die Auslagerung und verwendet sie, um die Standardauslagerungskonfiguration der NIC festzulegen.

Verwenden Sie die folgenden Member der NDIS_OFFLOAD_PARAMETERS-Struktur , um auf die Einstellungen für die Prüfsummenauslagerung zuzugreifen:

IPv4Checksum

TCPIPv4Checksum

UDPIPv4Checksum

TCPIPv6Checksum

UDPIPv6Checksum

Die vorherigen Member können einen der folgenden Werte aufweisen:

NDIS_OFFLOAD_PARAMETERS_NO_CHANGE
Der Miniporttreiber sollte die aktuelle Einstellung nicht ändern.

NDIS_OFFLOAD_PARAMETERS_TX_RX_DISABLED
Das vom Member festgelegte Feature ist deaktiviert.

NDIS_OFFLOAD_PARAMETERS_TX_ENABLED_RX_DISABLED
Das vom Member festgelegte Feature ist für die Übertragung aktiviert und für den Empfang deaktiviert.

NDIS_OFFLOAD_PARAMETERS_RX_ENABLED_TX_DISABLED
Das vom Member festgelegte Feature ist für den Empfang aktiviert und für die Übertragung deaktiviert.

NDIS_OFFLOAD_PARAMETERS_TX_RX_ENABLED
Das vom Member festgelegte Feature ist für das Senden und Empfangen aktiviert.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista, unterstützt in NDIS 6.0 und höher.
Unterstützte Mindestversion (Server) Windows Server 2008
Kopfzeile ntddndis.h (include Ndis.h)

Weitere Informationen

NDIS_OBJECT_HEADER

OID_TCP_OFFLOAD_HARDWARE_CAPABILITIES

OID_TCP_OFFLOAD_PARAMETERS