NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO-Struktur (ndis.h)

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

Die NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO-Struktur gibt Informationen an, die beim Auslagern von IPsecOV2-Tasks (Internetprotokollsicherheit) aus dem TCP/IP-Transport in eine NIC verwendet werden.

Syntax

typedef struct _NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO {
  union {
    struct {
      PVOID OffloadHandle;
    } Transmit;
    struct {
      ULONG SaDeleteReq : 1;
      ULONG CryptoDone : 1;
      ULONG NextCryptoDone : 1;
      ULONG Reserved : 13;
      ULONG CryptoStatus : 16;
    } Receive;
  };
} NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO, *PNDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO;

Member

Transmit

Eine Struktur, die die folgenden Member enthält:

Transmit.OffloadHandle

Ein Handle für die ausgehende Sicherheitszuordnung (Outbound Security Association, SA) für ein Paket, das nur eine IPsec-Nutzlast für eine Transportverbindung (End-to-End) aufweist.

Receive

Eine Struktur, die die folgenden Member enthält:

Receive.SaDeleteReq

Ein ULONG-Wert, der bei Festlegung angibt, dass der TCP/IP-Transport das OID_TCP_TASK_IPSEC_OFFLOAD_V2_DELETE_SA OID einmal, um die eingehende SA zu löschen, die das Paket empfangen wurde, und erneut, um die ausgehende SA zu löschen, die der gelöschten eingehenden SA entspricht. Die Netzwerkschnittstelle Karte darf keine dieser SAs entfernen, bevor sie die entsprechende OID_TCP_TASK_IPSEC_OFFLOAD_V2_DELETE_SA Anforderung empfängt.

Receive.CryptoDone

Ein ULONG-Wert, der bei Festlegung angibt, dass eine NIC IPsec-Überprüfung für mindestens eine IPsec-Nutzlast im Empfangspaket durchgeführt hat. Wenn dieser Wert gelöscht wird, gibt dies an, dass die NIC keine IPsec-Überprüfung für das Paket durchgeführt hat.

Receive.NextCryptoDone

Ein ULONG-Wert, der bei Festlegung angibt, dass eine NIC IPsec-Überprüfung sowohl für den Tunnel- als auch für den Transportteil des Empfangspakets ausgeführt hat. CryptoDone muss auch in diesem Fall festgelegt werden. NextCryptoDone wird nur festgelegt, wenn ein Paket sowohl Tunnel- als auch Transport-IPsec-Nutzlasten aufweist. Andernfalls wird NextCryptoDone auf 0 festgelegt.

Receive.Reserved

Reserviert für NDIS.

Receive.CryptoStatus

Das Ergebnis der IPsec-Überprüfung, die eine NIC für ein Empfangspaket ausgeführt hat. Dieses Ergebnis kann als einer der folgenden Werte beschrieben werden:

CryptoStatus.CRYPTO_SUCCESS

Das Paket wurde bei Bedarf erfolgreich entschlüsselt, und die AH-Prüfsummen (AH) zur Kapselung der Sicherheitsnutzlast (ESP) oder beide Prüfsummen im Paket wurden überprüft.

CryptoStatus.CRYPTO_GENERIC_ERROR

Das Paket hat die IPsec-Überprüfung aus einem nicht angegebenen Grund fehlgeschlagen.

CryptoStatus.CRYPTO_TRANSPORT_AH_AUTH_FAILED

Die AH-Prüfsumme für den Transportteil des Pakets war ungültig.

CryptoStatus.CRYPTO_TRANSPORT_ESP_AUTH_FAILED

Die ESP-Prüfsumme für den Transportteil des Pakets war ungültig.

CryptoStatus.CRYPTO_TUNNEL_AH_AUTH_FAILED

Die AH-Prüfsumme für den Tunnelteil des Pakets war ungültig.

CryptoStatus.CRYPTO_TUNNEL_ESP_AUTH_FAILED

Die ESP-Prüfsumme für den Tunnelteil des Pakets war ungültig.

CryptoStatus.CRYPTO_INVALID_PACKET_SYNTAX

Die Länge des Empfangspakets ist ungültig. Beispielsweise reicht die Gesamtlänge im IP-Header nicht aus, um alle Felder und Header für AH/ESP einzuschließen.

CryptoStatus.CRYPTO_INVALID_PROTOCOL

Die IPsec-Protokolle, die in der SA angegeben wurden, für die das Paket empfangen wurde, entsprechen nicht den IPsec-Protokollen, die im Paket gefunden wurden. Dieser Fehler tritt beispielsweise auf, wenn die SA, für die das Paket empfangen wurde, das AH-Protokoll angibt, das Paket jedoch nur einen ESP-Header enthielt.

Hinweise

Bevor der TCP/IP-Transport ein ausgehendes Paket für die Auslagerungsverarbeitung an eine NIC übergibt, gibt der Transport die IPsec-Informationen in der NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO-Struktur an, die der NET_BUFFER_LIST-Struktur zugeordnet ist.

Insbesondere stellt der TCP/IP-Transport einen Wert für das OffloadHandle-Element in der NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO-Struktur bereit. Der Wert OffloadHandle gibt das Handle für die ausgehende SA für ein Paket an, das nur über eine IPsec-Nutzlast verfügt, unabhängig davon, ob es sich um eine Transport- oder Tunnel-SA handelt. Der OffloadHandle-Wert , der in der NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO-Struktur angegeben wird, hat den gleichen Wert wie der OffloadHandle-Wert , der an den TCP/IP-Transport gemeldet wurde, als der Miniporttreiber erfolgreich eine Gruppe von SAs zu einer NIC hinzugefügt hat. Alle SAs wurden der NIC hinzugefügt, wenn der Miniporttreiber auf ein OID_TCP_TASK_IPSEC_OFFLOAD_V2_ADD_SA Anforderung.

Bevor ein Miniporttreiber ein Empfangspaket mit mindestens einer IPsec-Nutzlast angibt, gibt der Treiber IPsec-Informationen in der NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO-Struktur an, die der NET_BUFFER_LIST-Struktur zugeordnet ist.

Verwenden Sie zum Festlegen und Abrufen der IPsec-Informationen den IPsecOffloadV2NetBufferListInfo-Index mit dem makro NET_BUFFER_LIST_INFO . NET_BUFFER_LIST_INFO gibt die NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO-Struktur zurück.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Unterstützt in NDIS 6.1 und höher.
Kopfzeile ndis.h (einschließlich Ndis.h)

Weitere Informationen

NDIS_IPSEC_OFFLOAD_V1_NET_BUFFER_LIST_INFO

NET_BUFFER_LIST

NET_BUFFER_LIST_INFO

OID_TCP_TASK_IPSEC_OFFLOAD_V2_ADD_SA OID_TCP_TASK_IPSEC_OFFLOAD_V2_DELETE_SA