Freigeben über


IPSEC_OFFLOAD_V2_ADD_SA_EX Struktur (ndis.h)

[Das Offload-Feature für IPsec-Aufgaben ist veraltet und sollte nicht verwendet werden.]

Die IPSEC_OFFLOAD_V2_ADD_SA_EX-Struktur definiert Informationen zu einer Sicherheitszuordnung (SECURITY Association, SA), die ein Miniporttreiber zu 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;

Angehörige

Header

Die NDIS_OBJECT_HEADER Struktur für die IPSEC_OFFLOAD_V2_ADD_SA_EX Struktur. Legen Sie das element Type der Struktur fest, das Header- NDIS_OBJECT_TYPE_DEFAULT angibt, das element Revision auf NDIS_IPSEC_OFFLOAD_V2_ADD_SA_EX_REVISION_1 und das Size Member auf NDIS_SIZEOF_IPSEC_OFFLOAD_V2_ADD_SA_EX_REVISION_1.

NumExtHdrs

Die Anzahl der IPsec-Erweiterungsheader. Dieses Element 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 die sa, die hinzugefügt wird, eine eingehende oder ausgehende SA wie folgt ist:

IPSEC_OFFLOAD_V2_IPv6

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

IPSEC_OFFLOAD_V2_INBOUND

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

IPv4Endpoints

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

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 Elemente:

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

Der Handle für die neu erstellte SA. Der Miniporttreiber liefert diesen Handle vor Abschluss des Vorgangs
OID_TCP_TASK_IPSEC_OFFLOAD_V2_ADD_SA_EX Anforderung. Der TCP/IP-Transport muss diesen Handle im
NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO oder NDIS_IPSEC_OFFLOAD_V2_TUNNEL_NET_BUFFER_LIST_INFO Struktur vor dem Übergeben eines Sendepakets an den Miniporttreiber. Der TCP/IP-Transport muss auch diesen Handle angeben, wenn die SA mit einer OID_TCP_TASK_IPSEC_OFFLOAD_V2_DELETE_SA Anforderung.

UdpEspEncapsulation

Der UDP ESP-Kapseltyp. Dieses Element kann eine oder mehrere der folgenden Flags sein:

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-kapselt. 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-kapselt. 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 jede IPsec-Vorgänge werden als eine IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION Struktur, die unten beschrieben wird.

Der TCP/IP-Transport gibt ein oder zwei IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION Strukturen im Puffer bei SecAssoc- an. Jede IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION Struktur gibt den Typ der Operation-Authentifizierung oder Verschlüsselung/Entschlüsselung an, 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. Nur eine Kombination von Vorgängen wird unterstützt: Verschlüsselung/Entschlüsselung (ESP) gefolgt von Authentifizierung (AH).

KeyLength

Die Länge des Puffers in Bytes bei KeyOffset-.

KeyOffset

Der Offset in Byte 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 SA enthält, die bei SecAssocangegeben ist. Wenn sowohl ein Verschlüsselungsalgorithmus als auch ein Authentifizierungsalgorithmus durch die EncryptionAlgorithm- und AuthenticationAlgorithm Mitglieder eines IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION Struktur enthält der Puffer bei KeyOffset- wichtige Informationen für einen, gefolgt von der anderen. Der Anfang und die Länge des Schlüssels werden durch die IPSEC_OFFLOAD_V2_ALGORITHM_INFOKeyOffsetBytes und KeyLength Member.

SourceSwitchPortId

Reserviert.

VlanId

Reserviert.

Bemerkungen

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 der
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, für die die SA gilt. 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 Element auf Null festgelegt ist, wird dieser Parameter nicht zum Filtern von Paketen für die angegebene SA verwendet. Wenn z. B. 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 alle Quellhosts, die einen Pakettyp an einen beliebigen Zielhost senden.

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

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Unterstützt in NDIS 6.30 und höher.
Header- ndis.h (include Ndis.h)

Siehe auch

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