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