Freigeben über


IPSEC_OFFLOAD_V2_ADD_SA_EX-Struktur (ndis.h)

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

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

Syntax

typedef struct _IPSEC_OFFLOAD_V2_ADD_SA_EX {
  NDIS_OBJECT_HEADER                    Header;
  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;
  ULONG                                 KeyOffset;
  NDIS_SWITCH_PORT_ID                   SourceSwitchPortId;
  USHORT                                VlanId;
} IPSEC_OFFLOAD_V2_ADD_SA_EX, *PIPSEC_OFFLOAD_V2_ADD_SA_EX;

Member

Header

Die NDIS_OBJECT_HEADER-Struktur für die IPSEC_OFFLOAD_V2_ADD_SA_EX-Struktur. Legen Sie das Typelement der Struktur, die Header für NDIS_OBJECT_TYPE_DEFAULT angibt, das Revisionselement auf NDIS_IPSEC_OFFLOAD_V2_ADD_SA_EX_REVISION_1 und das Size-Element auf NDIS_SIZEOF_IPSEC_OFFLOAD_V2_ADD_SA_EX_REVISION_1 fest.

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 angibt, ob es sich bei der hinzugefügten SA um eine eingehende oder ausgehende SA handelt:

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 eingehender. 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 Griff bereit, bevor er die
OID_TCP_TASK_IPSEC_OFFLOAD_V2_ADD_SA_EX Anforderung. Der TCP/IP-Transport muss dieses Handle im
NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO oder NDIS_IPSEC_OFFLOAD_V2_TUNNEL_NET_BUFFER_LIST_INFO Struktur, bevor Sie ein Sendepaket an den Miniporttreiber übergeben. Der TCP/IP-Transport muss diesen Handle auch angeben, wenn die SA mit einem gelöscht wird. OID_TCP_TASK_IPSEC_OFFLOAD_V2_DELETE_SA Anforderung.

UdpEspEncapsulation

Der UDP ESP-Kapselungstyp. Bei diesem Member kann es sich um mindestens eins 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 beides) für die Sa enthalten. Die Anzahl der bereitgestellten Elemente wird im NumExtHdrs-Member angegeben. Die Informationen für jeden IPsec-Vorgang sind als 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 Verschlüsselung/Entschlüsselung – für die 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 Verschlüsselung/Entschlüsselung (ESP) gefolgt von der Authentifizierung (AH).

KeyLength

Die Länge des Puffers bei KeyOffset in Bytes.

KeyOffset

Der Offset in Bytes vom Anfang der IPSEC_OFFLOAD_V2_ADD_SA_EX-Struktur bis zum Anfang eines Arrays mit variabler Länge, das Schlüssel für die IN SecAssoc angegebene SA enthält. Wenn sowohl ein Verschlüsselungsalgorithmus als auch ein Authentifizierungsalgorithmus durch die Elemente EncryptionAlgorithm und AuthenticationAlgorithm eines angegeben werden IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION Struktur enthält der Puffer bei KeyOffset Schlüsselinformationen für eine, gefolgt von der anderen. Der Anfang und die Länge des Schlüssels werden durch die IPSEC_OFFLOAD_V2_ALGORITHM_INFODie KeyOffsetBytes - bzw . KeyLength-Member der Struktur.

SourceSwitchPortId

Reserviert.

VlanId

Reserviert.

Hinweise

Die IPSEC_OFFLOAD_V2_ADD_SA_EX-Struktur gibt eine Sicherheits-SA an, die hinzugefügt werden soll. Die IPSEC_OFFLOAD_V2_ADD_SA_EX-Struktur wird mit dem
OID_TCP_TASK_IPSEC_OFFLOAD_V2_ADD_SA_EX OID.

Die IPSEC_OFFLOAD_V2_ADD_SA_EX-Struktur gibt die Quelle und das Ziel sowie die IP-Protokolle an, auf die die SA angewendet wird. 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 Null festgelegt ist, wird dieser Parameter nicht verwendet, um Pakete für die angegebene SA zu filtern. Wenn beispielsweise SrcAddr auf Null festgelegt ist, kann die angegebene SA auf ein Paket angewendet werden, das eine beliebige Quelladresse enthält. Wenn alle Filterparameter auf Null festgelegt sind, gilt die angegebene SA für jeden Quellhost, der einen beliebigen Pakettyp an einen beliebigen Zielhost sendet.

Diese Struktur ist nahezu identisch mit der vorherigen Version , IPSEC_OFFLOAD_V2_ADD_SA. Die Member Next und KeyData wurden entfernt. Die Elemente KeyOffset, SourceSwitchPortId und VlanId wurden hinzugefügt.

Anforderungen

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

Weitere Informationen

IPSEC_OFFLOAD_V2_ADD_SA

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_EX OID_TCP_TASK_IPSEC_OFFLOAD_V2_DELETE_SA