estructura NDIS_IPSEC_OFFLOAD_V1_NET_BUFFER_LIST_INFO (ndis.h)
La estructura NDIS_IPSEC_OFFLOAD_V1_NET_BUFFER_LIST_INFO especifica información que se usa en la descarga de tareas de seguridad del protocolo de Internet (IPsec) desde el transporte TCP/IP a un controlador de miniporte.
Sintaxis
typedef struct _NDIS_IPSEC_OFFLOAD_V1_NET_BUFFER_LIST_INFO {
union {
struct {
NDIS_HANDLE OffloadHandle;
} Transmit;
struct {
USHORT SaDeleteReq : 1;
USHORT CryptoDone : 1;
USHORT NextCryptoDone : 1;
USHORT Pad : 13;
USHORT CryptoStatus;
} Receive;
};
} NDIS_IPSEC_OFFLOAD_V1_NET_BUFFER_LIST_INFO, *PNDIS_IPSEC_OFFLOAD_V1_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, independientemente de si esa carga es para una conexión de transporte (de un extremo a otro) o una conexión de túnel.
Receive
Estructura que contiene los siguientes miembros:
Receive.SaDeleteReq
Un valor de USHORT que, cuando se establece, indica que el transporte TCP/IP debe emitir el OID_TCP_TASK_IPSEC_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_DELETE_SA correspondiente.
Receive.CryptoDone
Un valor de USHORT que, cuando se establece, indica que una NIC realizó la comprobación de IPsec al menos en 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 USHORT 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.Pad
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:
Comentarios
Antes de que el transporte TCP/IP pase un paquete de envío en el que una NIC realizará tareas IPsec en el controlador de miniporte de la NIC, el transporte actualiza la información de IPsec en la estructura de NDIS_IPSEC_OFFLOAD_V1_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_V1_NET_BUFFER_LIST_INFO . El valor OffloadHandle especifica el identificador de la asociación de seguridad de salida (SA) para un paquete que tiene una carga IPsec, independientemente de si esa carga es para una asociación de seguridad de transporte (de un extremo a otro) o una asociación de seguridad de túnel. El valor OffloadHandle que se proporciona en la estructura NDIS_IPSEC_OFFLOAD_V1_NET_BUFFER_LIST_INFO tiene el mismo valor que el valor OffloadHandle que el transporte TCP/IP proporcionado al establecer OID_TCP_TASK_IPSEC_ADD_SA para solicitar al controlador de miniporte que agregue la SA de salida a la NIC.
Antes de que un controlador de minipuerto indique un paquete de recepción que tiene una o varias cargas IPsec, el controlador actualiza la estructura de NDIS_IPSEC_OFFLOAD_V1_NET_BUFFER_LIST_INFO asociada a la estructura de NET_BUFFER_LIST de la siguiente manera:
- Si la NIC realizó comprobaciones de IPsec en al menos una carga IPsec en el paquete, el controlador de minipuerto establece el miembro CryptoDone e indica los resultados de las pruebas de validación de suma de comprobación especificando el valor adecuado en el miembro CryptoStatus .
- Si la NIC realizó la comprobación de IPsec tanto en el túnel como en las partes de transporte de un paquete de recepción, el controlador de minipuerto también establece el miembro NextCryptoDone . NextCryptoDone solo se establece si un paquete tiene cargas IPsec de túnel y transporte; de lo contrario, NextCryptoDone se establece en cero.
- Si la NIC no realizó comprobaciones de IPsec en el paquete, el controlador de minipuerto no establece CryptoDone o NextCryptoDone y no proporciona un valor CryptoStatus .
Para establecer y obtener la información de IPsec, use el índice IPsecOffloadV1NetBufferListInfo con la macro NET_BUFFER_LIST_INFO . NET_BUFFER_LIST_INFO devuelve la estructura NDIS_IPSEC_OFFLOAD_V1_NET_BUFFER_LIST_INFO .
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Compatible con NDIS 6.0. Para NDIS 6.1 y versiones posteriores, use NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO. |
Encabezado | ndis.h (incluya Ndis.h) |
Consulte también
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de