Freigeben über


NDIS_IPSEC_OFFLOAD_V2-Struktur (ntddndis.h)

[Das IPsec-Aufgabenauslagerungsfeature ist veraltet und sollte nicht verwendet werden.]

Die NDIS_IPSEC_OFFLOAD_V2-Struktur enthält Informationen zu IPsec (Internet Protocol Security, Version 2) von Aufgaben in der NDIS_OFFLOAD-Struktur .

Syntax

typedef struct _NDIS_IPSEC_OFFLOAD_V2 {
  ULONG   Encapsulation;
  BOOLEAN IPv6Supported;
  BOOLEAN IPv4Options;
  BOOLEAN IPv6NonIPsecExtensionHeaders;
  BOOLEAN Ah;
  BOOLEAN Esp;
  BOOLEAN AhEspCombined;
  BOOLEAN Transport;
  BOOLEAN Tunnel;
  BOOLEAN TransportTunnelCombined;
  BOOLEAN LsoSupported;
  BOOLEAN ExtendedSequenceNumbers;
  ULONG   UdpEsp;
  ULONG   AuthenticationAlgorithms;
  ULONG   EncryptionAlgorithms;
  ULONG   SaOffloadCapacity;
} NDIS_IPSEC_OFFLOAD_V2, *PNDIS_IPSEC_OFFLOAD_V2;

Member

Encapsulation

Die MAC-Kapselungstypen, die für die IPsec-Auslagerung unterstützt werden. Weitere Informationen zu diesem Member finden Sie im folgenden Abschnitt Hinweise.

IPv6Supported

Ein BOOLEAN-Wert, der auf TRUE festgelegt ist, wenn IPsec die Verarbeitung für IPv6-Datenverkehr auslädt. Andernfalls ist dieser Member FALSE.

IPv4Options

Ein BOOLEAN-Wert, der auf TRUE festgelegt ist, wenn die NIC die IPsec-Auslagerung von Paketen mit IPv4-Optionen unterstützt. Andernfalls ist dieser Member FALSE.

IPv6NonIPsecExtensionHeaders

Ein BOOLEAN-Wert, der auf TRUE festgelegt ist, wenn die NIC die IPsec-Auslagerungsverarbeitung für Pakete mit Nicht-IPsec-IPv6-Erweiterungsheadern zusätzlich zu IPsec-Headern unterstützt. Andernfalls ist dieser Member FALSE.

Ah

Ein BOOLEAN-Wert, der auf TRUE festgelegt ist, wenn die NIC IPsec-Auslagerungsvorgänge für Senden und Empfangen von Paketen ausführen kann, die eine Authentifizierungsheader-Sicherheitsnutzlast (AH) enthalten. Andernfalls ist dieser Member FALSE.

Esp

Ein BOOLEAN-Wert, der auf TRUE festgelegt ist, wenn die NIC IPsec-Auslagerungsvorgänge beim Senden und Empfangen von Paketen ausführen kann, die eine Kapselungsnutzlast (ESP) enthalten. Andernfalls ist dieser Member FALSE.

AhEspCombined

Ein BOOLEAN-Wert, der auf TRUE festgelegt ist, wenn die NIC IPsec-Auslagerungsvorgänge beim Senden und Empfangen von Paketen ausführen kann, die sowohl eine AH-Nutzlast als auch eine ESP-Nutzlast enthalten. Andernfalls ist dieser Member FALSE.

Transport

Ein BOOLEAN-Wert, der auf TRUE festgelegt ist, wenn die NIC Sicherheitsnutzlasten für den Transportmodusteil des Sendens und Empfangens von Paketen verarbeiten kann. (Der Transportmodusteil eines Pakets bezieht sich auf eine End-to-End-Verbindung.) Andernfalls ist dieser Member FALSE.

Tunnel

Ein BOOLEAN-Wert, der auf TRUE festgelegt ist, wenn die NIC Sicherheitsnutzlasten für den Teil des Sendens und Empfangens von Paketen im Tunnelmodus verarbeiten kann. (Der Tunnelmodusteil eines Pakets bezieht sich auf eine Tunnelverbindung.) Andernfalls ist dieser Member FALSE.

Hinweis Wenn die IPsec-Ebene Tunnelpakete über eine IPsec-Task-Auslagerungsschnittstelle sendet, stellt die IPsec-Ebene sicher, dass die große Sendeabladung (Large Send Offload, LSO) für diese Pakete nicht verwendet wird.
 

TransportTunnelCombined

Ein BOOLEAN-Wert, der auf TRUE festgelegt ist, wenn die NIC Sicherheitsnutzlasten sowohl für den Transportmodusteil als auch für den Tunnelmodusteil des Sendens und Empfangens von Paketen verarbeiten kann. Andernfalls ist dieser Member FALSE. Der Transportmodusteil eines Pakets bezieht sich auf eine End-to-End-Verbindung. Der Tunnelmodusteil eines Pakets bezieht sich auf eine Tunnelverbindung.

LsoSupported

Ein BOOLEAN-Wert, der auf TRUE festgelegt ist, wenn die NIC große Sendeauslagerung (Large Send Offload, LSO) unterstützt. Andernfalls ist dieser Member FALSE. Beachten Sie, dass die LSO-Funktionen der NIC in den LsoV1 - oder LsoV2-Membern der NDIS_OFFLOAD-Struktur angegeben werden. Das LsoSupported-Flag gibt an, dass die in diesen Membern angegebenen Funktionen auch gültig sind, wenn die Verbindung mit IPsec gesichert ist.

ExtendedSequenceNumbers

Ein BOOLEAN-Wert, der auf TRUE festgelegt ist, wenn die NIC erweiterte IPsec-Sequenznummern unterstützt. Andernfalls ist dieser Member FALSE.

UdpEsp

Die Typen von UDP-gekapselten ESP-Datenpaketen, die die NIC analysieren kann. Eine Beschreibung der UDP-Kapselungstypen finden Sie unter UDP-ESP-Kapselungstypen. Bei diesem Member kann es sich um mindestens eins der folgenden Flags handelt:

IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_NONE

Die IPsec-Auslagerungsverarbeitung ist für keinen UDP-Kapselungstyp verfügbar.

IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_TRANSPORT

Die IPsec-Auslagerung wird für ein ESP-gekapseltes Transportmoduspaket unterstützt, das von UDP gekapselt wird.

IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_TUNNEL

Die IPsec-Auslagerung wird für den Tunnelmodusteil eines Pakets unterstützt, das UDP-gekapselt ist. Der Transportmodusteil des Pakets ist nicht UDP-gekapselt und nicht ESP-geschützt.

IPSEC_OFFLOAD_V2_TRANSPORT_OVER_UDP_ESP_ENCAPSULATION_TUNNEL

Die IPsec-Auslagerung wird für den Tunnelmodusteil eines Pakets unterstützt, das UDP-gekapselt ist. Der Transportmodusteil eines Pakets ist nicht UDP-gekapselt, sondern ESP-geschützt.

IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_TRANSPORT_OVER_TUNNEL

IPsec-Auslagerung wird für den Tunnelmodusteil eines Pakets unterstützt, das nicht UDP-gekapselt ist. Der Transportmodusteil eines Pakets ist UDP-gekapselt und ESP-geschützt.

AuthenticationAlgorithms

Eine Bitmaske, die die von der NIC unterstützten IPsec-Authentifizierungsalgorithmen identifiziert. Miniporttreiber geben einen bitweisen OR der folgenden Werte an:

IPSEC_OFFLOAD_V2_AUTHENTICATION_MD5

Die NIC kann den MD5-Algorithmus (Keyed Message Digest 5) zum Berechnen oder Überprüfen einer kryptografischen Prüfsumme verwenden.

IPSEC_OFFLOAD_V2_AUTHENTICATION_SHA_1

Die NIC kann den SHA-Algorithmus 1 (Secure Hash Algorithm) zum Berechnen oder Überprüfen einer kryptografischen Prüfsumme verwenden.

IPSEC_OFFLOAD_V2_AUTHENTICATION_SHA_256

Die NIC kann den SHA 256-Algorithmus zum Berechnen oder Überprüfen einer kryptografischen Prüfsumme verwenden.

IPSEC_OFFLOAD_V2_AUTHENTICATION_AES_GCM_128

Die NIC kann den AES-GMAC-Algorithmus (Advanced Encryption Standard – Galois/Counter Mode) 128 zum Berechnen oder Überprüfen einer kryptografischen Prüfsumme verwenden.

IPSEC_OFFLOAD_V2_AUTHENTICATION_AES_GCM_192

Die NIC kann den AES-GMAC 192-Algorithmus zum Berechnen oder Überprüfen einer kryptografischen Prüfsumme verwenden.

IPSEC_OFFLOAD_V2_AUTHENTICATION_AES_GCM_256

Die NIC kann den AES-GMAC 256-Algorithmus zum Berechnen oder Überprüfen einer kryptografischen Prüfsumme verwenden.

EncryptionAlgorithms

Eine Bitmaske, die die von der NIC unterstützten IPsec-Verschlüsselungsalgorithmen identifiziert. Diese Bitmaske ist ein bitweiser OR der folgenden Werte:

IPSEC_OFFLOAD_V2_ENCRYPTION_NONE

Die NIC kann null-Verschlüsselung verwenden, d. h. die ESP-Nutzlast ohne Verschlüsselung, aber mit Authentifizierungsinformationen.

IPSEC_OFFLOAD_V2_ENCRYPTION_DES_CBC

Die NIC kann den DES-Algorithmus zum Verschlüsseln und Entschlüsseln von ESP-Nutzlasten verwenden.

IPSEC_OFFLOAD_V2_ENCRYPTION_3_DES_CBC

Die NIC kann den Triple-DES-Algorithmus zum Verschlüsseln und Entschlüsseln von ESP-Nutzlasten verwenden.

IPSEC_OFFLOAD_V2_ENCRYPTION_AES_GCM_128

Die NIC kann den AES-GCM 128-Algorithmus zum Verschlüsseln und Berechnen einer kryptografischen Prüfsumme oder zum Entschlüsseln und Überprüfen einer kryptografischen Prüfsumme für eine ESP-Nutzlast verwenden. Beachten Sie, dass es sich bei diesem Algorithmus um einen Algorithmus im kombinierten Modus handelt.

IPSEC_OFFLOAD_V2_ENCRYPTION_AES_GCM_192

Die NIC kann den AES-GCM 192-Algorithmus zum Verschlüsseln und Berechnen einer kryptografischen Prüfsumme oder zum Entschlüsseln und Validieren einer kryptografischen Prüfsumme für eine ESP-Nutzlast verwenden. Beachten Sie, dass es sich bei diesem Algorithmus um einen Algorithmus im kombinierten Modus handelt.

IPSEC_OFFLOAD_V2_ENCRYPTION_AES_GCM_256

Die NIC kann den AES-GCM 256-Algorithmus zum Verschlüsseln und Berechnen einer kryptografischen Prüfsumme oder zum Entschlüsseln und Validieren einer kryptografischen Prüfsumme für eine ESP-Nutzlast verwenden. Beachten Sie, dass es sich bei diesem Algorithmus um einen Algorithmus im kombinierten Modus handelt.

IPSEC_OFFLOAD_V2_ENCRYPTION_AES_CBC_128

Die NIC kann den AES-CBC-Algorithmus 128 (Advanced Encryption Standard – Cipher-Block Chaining Mode) zum Verschlüsseln und Entschlüsseln von ESP-Nutzlasten verwenden.

IPSEC_OFFLOAD_V2_ENCRYPTION_AES_CBC_192

Die NIC kann den AES-CBC 192-Algorithmus zum Verschlüsseln und Entschlüsseln von ESP-Nutzlasten verwenden.

IPSEC_OFFLOAD_V2_ENCRYPTION_AES_CBC_256

Die NIC kann den AES-CBC 256-Algorithmus zum Verschlüsseln und Entschlüsseln von ESP-Nutzlasten verwenden.

SaOffloadCapacity

Die Anzahl der SA-Bündel, die ESP oder AH oder beide enthalten können, die in die NIC entladen werden können. Tcp/IP verwaltet die Anzahl der abgeladenen SA-Bündel und sollte nicht mehr als die maximale Anzahl von SA-Bundles hinzufügen, die der Miniporttreiber gemeldet hat.

Hinweise

In NDIS 6.1 und höheren Versionen wird die NDIS_IPSEC_OFFLOAD_V2-Struktur im IPsecV2-Element der NDIS_OFFLOAD-Struktur verwendet. Die NDIS_IPSEC_OFFLOAD_V2-Struktur gibt die aktuellen oder unterstützten Funktionen an, die ein Miniportadapter für die IPsec-Auslagerungsverarbeitung bereitstellt.

Hinweis Um die IPsec-Aufgabenauslagerung zu unterstützen, muss der Miniporttreiber true im Tunnelelement angeben.
 
NDIS_OFFLOAD wird in der NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES Struktur , NDIS_BIND_PARAMETERS Struktur, NDIS_FILTER_ATTACH_PARAMETERS Struktur, OID_TCP_OFFLOAD_CURRENT_CONFIG OID und die NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG status Angabe.

Für OID_TCP_OFFLOAD_CURRENT_CONFIG gibt die NDIS_OFFLOAD-Struktur die Aufgabenauslagerungsfunktionen an, die ein Miniportadapter unterstützt. Wenn sich die aktuellen Auslagerungsfunktionen ändern, meldet ein Miniporttreiber die neuen Funktionen in einem NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG status Angabe.

Der Kapselungsmember von NDIS_IPSEC_OFFLOAD_V2 definiert die MAC-Kapselungen, die ein Miniportadapter für die IPsec-Auslagerung unterstützt.

Als Reaktion auf eine OID_TCP_OFFLOAD_CURRENT_CONFIG Abfrageanforderung stellt NDIS im Kapselungsmember ein bitweises OR der Kapselungsflags bereit, die die unterstützten Kapselungseinstellungen angeben. Miniporttreiber müssen Ethernet-Kapselung (NDIS_ENCAPSULATION_IEEE_802_3) bereitstellen. Die anderen Kapselungstypen sind optional.

Für eine NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG status Angabe stellt der Miniporttreiber im Kapselungselement ein bitweises OR der Kapselungsflags bereit, die die aktuellen Funktionen angeben.

Die folgenden Flags sind für den Kapselungsmember definiert:

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Unterstützt in NDIS 6.1 und höher.
Kopfzeile ntddndis.h (include Ndis.h)

Weitere Informationen

NDIS_BIND_PARAMETERS

NDIS_FILTER_ATTACH_PARAMETERS

NDIS_IPSEC_OFFLOAD_V1

NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES

NDIS_OFFLOAD

NDIS_OID_REQUEST

NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG

NET_BUFFER_LIST

OID_TCP_OFFLOAD_CURRENT_CONFIG