Freigeben über


IPSEC_OFFLOAD_V2_ADD_SA-Struktur (ndis.h)

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

Die IPSEC_OFFLOAD_V2_ADD_SA-Struktur definiert Informationen zu einer Sicherheitszuordnung, die ein Miniporttreiber einer NIC hinzufügen soll.

Syntax

typedef struct _IPSEC_OFFLOAD_V2_ADD_SA {
  NDIS_OBJECT_HEADER                    Header;
  PIPSEC_OFFLOAD_V2_ADD_SA              Next;
  ULONG                                 NumExtHdrs;
  ULONG                                 Flags;
  union {
    struct {
      IPAddr SrcAddr;
      IPAddr DestAddr;
    } IPv4Endpoints;
    struct {
      UCHAR SrcAddr[16];
      UCHAR DestAddr[16];
    } IPv6Endpoints;
  };
  NDIS_HANDLE                           OffloadHandle;
  ULONG                                 UdpEspEncapsulation;
  IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION SecAssoc[IPSEC_OFFLOAD_V2_MAX_EXTENSION_HEADERS];
  ULONG                                 KeyLength;
  UCHAR                                 KeyData[1];
} IPSEC_OFFLOAD_V2_ADD_SA, *PIPSEC_OFFLOAD_V2_ADD_SA;

Member

Header

Die NDIS_OBJECT_HEADER-Struktur für die IPSEC_OFFLOAD_V2_ADD_SA-Struktur. Legen Sie den Typmember der Struktur, die Header angibt, auf NDIS_OBJECT_TYPE_DEFAULT, das Revisionselement auf NDIS_IPSEC_OFFLOAD_V2_ADD_SA_REVISION_1 und das Element Size auf NDIS_SIZEOF_IPSEC_OFFLOAD_V2_ADD_SA_REVISION_1 fest.

Next

Ein Zeiger auf eine IPSEC_OFFLOAD_V2_ADD_SA Struktur, die die nächste Struktur in einer verknüpften Liste ist. Wenn der Zeiger NULL ist, ist die aktuelle Struktur die letzte Struktur in der Liste.

NumExtHdrs

Die Anzahl der IPsec-Erweiterungsheader. Dieser Member kann einer der folgenden Werte sein.

Art der Sicherheit Erweiterungsheader
Nur AH-Authentifizierung 1
Nur ESP-Authentifizierung 1
Nur ESP-Verschlüsselung 1
ESP-Authentifizierung plus Verschlüsselung 1
AH plus ESP-Authentifizierung plus Verschlüsselung 2
UDP ESP 1

Flags

Eine Bitmaske, die wie folgt angibt, ob die hinzugefügte SA eine eingehende oder ausgehende SA ist:

IPSEC_OFFLOAD_V2_IPv6

Wenn dieses Flag festgelegt ist, sind die Adressen IPv6. Andernfalls sind die Adressen IPv4.

IPSEC_OFFLOAD_V2_INBOUND

Wenn dieses Flag festgelegt ist, ist die SA eingehend. Andernfalls ist die SA ausgehend.

IPv4Endpoints

Die IPv4-Endpunktadressen. Diese Struktur enthält die folgenden Member:

IPv4Endpoints.SrcAddr

Die IPv4-Adresse des Quellhosts (der Host, der die Pakete sendet).

IPv4Endpoints.DestAddr

Die IPv4-Adresse des Zielhosts (der Host, der die Pakete empfängt).

IPv6Endpoints

Die IPv6-Endpunktadressen. Diese Struktur enthält die folgenden Member:

IPv6Endpoints.SrcAddr[16]

Die IPv6-Adresse des Quellhosts (der Host, der die Pakete sendet).

IPv6Endpoints.DestAddr[16]

Die IPv6-Adresse des Zielhosts (der Host, der die Pakete empfängt).

OffloadHandle

Das Handle für die neu erstellte SA. Der Miniporttreiber stellt diesen Ziehpunkt bereit, bevor er die
OID_TCP_TASK_IPSEC_OFFLOAD_V2_ADD_SA Anforderung. Der TCP/IP-Transport muss dieses Handle in der
NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO oder NDIS_IPSEC_OFFLOAD_V2_TUNNEL_NET_BUFFER_LIST_INFO Struktur vor der Übergabe eines Sendepakets an den Miniporttreiber. Der TCP/IP-Transport muss dieses Handle auch beim Löschen der SA mit einem angeben. OID_TCP_TASK_IPSEC_OFFLOAD_V2_DELETE_SA Anforderung.

UdpEspEncapsulation

Der UDP ESP-Kapselungstyp. Bei diesem Member kann es sich um ein oder mehrere der folgenden Flags handelt:

IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_NONE

Es wird keine UDP-Kapselung verwendet.

IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_TRANSPORT

Ein ESP-gekapseltes Transportmoduspaket wird von UDP gekapselt.

IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_TUNNEL

Der Tunnelmodusteil eines Pakets ist UDP-gekapselt. Der Transportmodusteil des Pakets ist nicht UDP gekapselt und nicht ESP-geschützt.

IPSEC_OFFLOAD_V2_TRANSPORT_OVER_UDP_ESP_ENCAPSULATION_TUNNEL

Der Tunnelmodusteil eines Pakets ist UDP-gekapselt. Der Transportmodusteil eines Pakets ist nicht UDP-gekapselt, sondern ESP-geschützt.

IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_TRANSPORT_OVER_TUNNEL

Der Tunnelmodusteil eines Pakets ist nicht UDP-gekapselt. Der Transportmodusteil eines Pakets ist UDP-gekapselt und ESP-geschützt.

SecAssoc[IPSEC_OFFLOAD_V2_MAX_EXTENSION_HEADERS]

Ein Array mit zwei Elementen, die die Informationen zu den IPsec-Vorgängen (AH, ESP oder beide) für die SA enthalten. Die Anzahl der bereitgestellten Elemente wird im NumExtHdrs-Element angegeben. Die Informationen für die einzelnen IPsec-Vorgänge sind als formatiert. IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION Struktur, die unten beschrieben wird.

Der TCP/IP-Transport gibt eine oder zwei IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION Strukturen im Puffer bei SecAssoc an. Jede IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION-Struktur gibt den Typ des Vorgangs an – Authentifizierung oder Ver-/Entschlüsselung –, für den die in der -Struktur angegebene SA verwendet werden soll. Die Reihenfolge der IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION Strukturen im Array gibt die Reihenfolge an, in der der Miniporttreiber die Vorgänge für jede SA ausführen soll. Es wird nur eine Kombination von Vorgängen unterstützt: Die Ver-/Entschlüsselung (ESP) gefolgt von der Authentifizierung (AH).

KeyLength

Die Länge des Puffers bei KeyData in Bytes.

KeyData[1]

Ein Array mit variabler Länge, das Schlüssel für die SAs enthält, die unter SecAssoc angegeben werden. Wenn sowohl ein Verschlüsselungsalgorithmus als auch ein Authentifizierungsalgorithmus von den Elementen EncryptionAlgorithm und AuthenticationAlgorithm eines IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION Struktur enthält der Puffer bei KeyData Schlüsselinformationen für eine, gefolgt von der anderen. Der Anfang und die Länge des Schlüssels werden durch die Elemente KeyOffsetBytes bzw . KeyLength angegeben.

Hinweise

Diese Struktur ist veraltet. Verwenden Sie stattdessen IPSEC_OFFLOAD_V2_ADD_SA_EX .

Die IPSEC_OFFLOAD_V2_ADD_SA-Struktur gibt eine Sicherheits-SA an, die hinzugefügt werden soll, und einen Zeiger auf die nächste IPSEC_OFFLOAD_V2_ADD_SA-Struktur in einer verknüpften Liste. Die IPSEC_OFFLOAD_V2_ADD_SA-Struktur wird mit der OID_TCP_TASK_IPSEC_OFFLOAD_V2_ADD_SA OID.

Die IPSEC_OFFLOAD_V2_ADD_SA-Struktur gibt die Quelle und das Ziel sowie die IP-Protokolle an, für die die SAs gelten. Dieser Filter bezieht sich auf eine Transportmodusverbindung, d. h. eine End-to-End-Verbindung zwischen zwei Hosts. Wenn die angegebene Verbindung über einen Tunnel hergestellt wird, werden die Quell- und Zieladressen des Tunnels angegeben.

Wenn ein Member auf 0 festgelegt ist, wird dieser Parameter nicht verwendet, um Pakete nach den angegebenen SAs zu filtern. Wenn beispielsweise SrcAddr auf 0 festgelegt ist, können die angegebenen SAs auf ein Paket angewendet werden, das eine beliebige Quelladresse enthält. Wenn alle Filterparameter auf 0 (null) festgelegt sind, gelten die angegebenen SAs für alle Quellhosts, die einen beliebigen Pakettyp an einen Zielhost senden.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Unterstützt in NDIS 6.1 und 6.20. Verwenden Sie für NDIS 6.30 und höher IPSEC_OFFLOAD_V2_ADD_SA_EX.
Kopfzeile ndis.h (include Ndis.h)

Weitere Informationen

IPSEC_OFFLOAD_V2_ADD_SA_EX

IPSEC_OFFLOAD_V2_ALGORITHM_INFO IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO NDIS_IPSEC_OFFLOAD_V2_TUNNEL_NET_BUFFER_LIST_INFO

NDIS_OBJECT_HEADER

OID_TCP_TASK_IPSEC_OFFLOAD_V2_ADD_SA OID_TCP_TASK_IPSEC_OFFLOAD_V2_DELETE_SA