estructura NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO (ndis.h)

[La característica de descarga de tareas IPsec está en desuso y no debe usarse.

La estructura NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO especifica información que se usa para descargar las tareas de descarga de seguridad del protocolo de Internet versión 2 (IPsecOV2) del transporte TCP/IP a una NIC.

Sintaxis

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;

Miembros

Transmit

Estructura que contiene los siguientes miembros:

Transmit.OffloadHandle

Identificador de la asociación de seguridad de salida (SA) para un paquete que tiene solo una carga IPsec para una conexión de transporte (de un extremo a otro).

Receive

Estructura que contiene los siguientes miembros:

Receive.SaDeleteReq

Un valor de ULONG que, cuando se establece, indica que el transporte TCP/IP debe emitir el OID_TCP_TASK_IPSEC_OFFLOAD_V2_DELETE_SA OID una vez para eliminar la SA de entrada en la que se recibió el paquete y una vez más para eliminar la SA de salida que corresponde a la SA de entrada eliminada. La tarjeta de interfaz de red (NIC) no debe quitar ninguno de estos SAs antes de recibir la solicitud de OID_TCP_TASK_IPSEC_OFFLOAD_V2_DELETE_SA correspondiente.

Receive.CryptoDone

Un valor de ULONG que, cuando se establece, indica que una NIC realizó la comprobación de IPsec en al menos una carga de IPsec en el paquete de recepción. Cuando se borra este valor, indica que la NIC no realizó la comprobación de IPsec en el paquete.

Receive.NextCryptoDone

Un valor de ULONG que, cuando se establece, indica que una NIC realizó la comprobación de IPsec tanto en el túnel como en las partes de transporte del paquete de recepción. CryptoDone también debe establecerse en este caso. NextCryptoDone solo se establece si un paquete tiene cargas IPsec de túnel y transporte; de lo contrario, NextCryptoDone se establece en cero.

Receive.Reserved

Reservado para NDIS.

Receive.CryptoStatus

Resultado de la comprobación de IPsec de que una NIC se realiza en un paquete de recepción. Este resultado se puede describir como uno de los siguientes valores:

CryptoStatus.CRYPTO_SUCCESS

El paquete se descifra correctamente, si es necesario, y las sumas de comprobación del encabezado de autenticación (AH), encapsulando las sumas de comprobación de carga de seguridad (ESP) o ambas sumas de comprobación del paquete se validaron.

CryptoStatus.CRYPTO_GENERIC_ERROR

El paquete produjo un error en la comprobación de IPsec por un motivo no especificado.

CryptoStatus.CRYPTO_TRANSPORT_AH_AUTH_FAILED

La suma de comprobación de AH para la parte de transporte del paquete no era válida.

CryptoStatus.CRYPTO_TRANSPORT_ESP_AUTH_FAILED

La suma de comprobación de ESP para la parte de transporte del paquete no era válida.

CryptoStatus.CRYPTO_TUNNEL_AH_AUTH_FAILED

La suma de comprobación de AH para la parte del túnel del paquete no era válida.

CryptoStatus.CRYPTO_TUNNEL_ESP_AUTH_FAILED

La suma de comprobación de ESP para la parte del túnel del paquete no era válida.

CryptoStatus.CRYPTO_INVALID_PACKET_SYNTAX

La longitud del paquete de recepción no es válida. Por ejemplo, la longitud total del encabezado IP no es suficiente para incluir todos los campos y encabezados de AH/ESP.

CryptoStatus.CRYPTO_INVALID_PROTOCOL

Los protocolos IPsec especificados en la SA en los que se recibió el paquete no coinciden con los protocolos IPsec que se encontraron en el paquete. Por ejemplo, este error se produce si la SA en la que se recibió el paquete especifica el protocolo AH, pero el paquete contenía solo un encabezado ESP.

Comentarios

Antes de que el transporte TCP/IP pase un paquete saliente a una NIC para el procesamiento de descarga, el transporte especifica la información de IPsec en la estructura de NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO asociada a la estructura de NET_BUFFER_LIST .

En concreto, el transporte TCP/IP proporciona un valor para el miembro OffloadHandle en la estructura NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO. El valor OffloadHandle especifica el identificador de la SA de salida para un paquete que tiene una carga IPsec, independientemente de si esa carga es para un transporte o una SA de túnel. El valor OffloadHandle proporcionado en la estructura NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO tiene el mismo valor que el valor OffloadHandle que se notificó al transporte TCP/IP cuando el controlador de miniporte agregó correctamente un conjunto de SAs a una NIC. Todas las SAs se agregaron a la NIC cuando el controlador de minipuerto respondió a un OID_TCP_TASK_IPSEC_OFFLOAD_V2_ADD_SA solicitud.

Antes de que un controlador de minipuerto indique un paquete de recepción que tiene una o varias cargas IPsec, el controlador especifica información de IPsec en la estructura NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO asociada a la estructura NET_BUFFER_LIST .

Para establecer y obtener la información de IPsec, use el índice IPsecOffloadV2NetBufferListInfo con la macro NET_BUFFER_LIST_INFO . NET_BUFFER_LIST_INFO devuelve la estructura NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO.

Requisitos

Requisito Value
Cliente mínimo compatible Se admite en NDIS 6.1 y versiones posteriores.
Encabezado ndis.h (incluya Ndis.h)

Consulte también

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