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) |