estructura IPSEC_OFFLOAD_V2_ADD_SA_EX (ndis.h)
[La característica IPsec Task Offload está en desuso y no se debe usar.]
La estructura IPSEC_OFFLOAD_V2_ADD_SA_EX define información sobre una asociación de seguridad (SA) que un controlador de miniporte debe agregar a una NIC.
Sintaxis
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;
Miembros
Header
Estructura NDIS_OBJECT_HEADER de la estructura IPSEC_OFFLOAD_V2_ADD_SA_EX. Establezca el miembro Type de la estructura que Header especifica para NDIS_OBJECT_TYPE_DEFAULT, el miembro Revision en NDIS_IPSEC_OFFLOAD_V2_ADD_SA_EX_REVISION_1 y el miembro Size en NDIS_SIZEOF_IPSEC_OFFLOAD_V2_ADD_SA_EX_REVISION_1.
NumExtHdrs
Número de encabezados de extensión IPsec. Este miembro puede ser uno de los siguientes valores.
Tipo de seguridad | Encabezados de extensión |
---|---|
Solo autenticación de AH | 1 |
Solo autenticación esp | 1 |
Solo cifrado esp | 1 |
Autenticación esp más cifrado | 1 |
Autenticación de AH plus ESP más cifrado | 2 |
UDP ESP | 1 |
Flags
Máscara de bits que indica si la SA que se va a agregar es una SA entrante o saliente como se indica a continuación:
IPSEC_OFFLOAD_V2_IPv6
Si se establece esta marca, las direcciones son IPv6. De lo contrario, las direcciones son IPv4.
IPSEC_OFFLOAD_V2_INBOUND
Si se establece esta marca, la SA será entrante. De lo contrario, la SA es saliente.
IPv4Endpoints
Direcciones del punto de conexión IPv4. Esta estructura contiene los siguientes miembros:
IPv4Endpoints.SrcAddr
Dirección IPv4 del host de origen (el host que envía los paquetes).
IPv4Endpoints.DestAddr
Dirección IPv4 del host de destino (el host que recibe los paquetes).
IPv6Endpoints
Direcciones del punto de conexión IPv6. Esta estructura contiene los siguientes miembros:
IPv6Endpoints.SrcAddr[16]
Dirección IPv6 del host de origen (el host que envía los paquetes).
IPv6Endpoints.DestAddr[16]
Dirección IPv6 del host de destino (el host que recibe los paquetes).
OffloadHandle
Identificador de la SA recién creada. El controlador de minipuerto proporciona este controlador antes de completar el
OID_TCP_TASK_IPSEC_OFFLOAD_V2_ADD_SA_EX solicitud. El transporte TCP/IP debe especificar este identificador en el
NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO o NDIS_IPSEC_OFFLOAD_V2_TUNNEL_NET_BUFFER_LIST_INFO estructura antes de pasar un paquete de envío al controlador de minipuerto. El transporte TCP/IP también debe especificar este identificador al eliminar la SA con un OID_TCP_TASK_IPSEC_OFFLOAD_V2_DELETE_SA solicitud.
UdpEspEncapsulation
Tipo de encapsulación de UDP ESP. Este miembro puede ser una o varias de las marcas siguientes:
IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_NONE
No se usa ninguna encapsulación UDP.
IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_TRANSPORT
UDP encapsula un paquete encapsulado en modo de transporte esp.
IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_TUNNEL
La parte del modo de túnel de un paquete está encapsulada por UDP. La parte del modo de transporte del paquete no está encapsulada por UDP y no está protegida por ESP.
IPSEC_OFFLOAD_V2_TRANSPORT_OVER_UDP_ESP_ENCAPSULATION_TUNNEL
La parte del modo de túnel de un paquete está encapsulada por UDP. La parte del modo de transporte de un paquete no está encapsulada por UDP, pero está protegida por ESP.
IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_TRANSPORT_OVER_TUNNEL
La parte del modo de túnel de un paquete no está encapsulada por UDP. La parte del modo de transporte de un paquete está encapsulada por UDP y protegida por ESP.
SecAssoc[IPSEC_OFFLOAD_V2_MAX_EXTENSION_HEADERS]
Matriz con dos elementos que contienen la información sobre las operaciones IPsec (AH, ESP o ambas) para la SA. El número de elementos proporcionados se especifica en el miembro NumExtHdrs . La información de cada operación de IPsec tiene el formato de IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION estructura, que se describe a continuación.
El transporte TCP/IP especifica una o dos estructuras de IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION en el búfer en SecAssoc . Cada estructura de IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION indica el tipo de operación--autenticación o cifrado/descifrado- para el que se va a usar la SA especificada en la estructura. El orden de las estructuras de IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION de la matriz indica el orden en el que el controlador de miniporte debe realizar las operaciones para cada SA. Solo se admite una combinación de operaciones: cifrado y descifrado (ESP) seguido de autenticación (AH).
KeyLength
Longitud, en bytes, del búfer en KeyOffset.
KeyOffset
Desplazamiento, en bytes, desde el principio de la estructura de IPSEC_OFFLOAD_V2_ADD_SA_EX hasta el principio de una matriz de longitud variable que contiene claves para la SA especificada en SecAssoc. Si tanto un algoritmo de cifrado como un algoritmo de autenticación se especifican mediante los miembros EncryptionAlgorithm y AuthenticationAlgorithm de un IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION estructura, el búfer de KeyOffset contiene información de clave para una seguida de la otra. El principio y la longitud de la clave se especifican mediante . IPSEC_OFFLOAD_V2_ALGORITHM_INFO miembros KeyOffsetBytes y KeyLength de la estructura, respectivamente.
SourceSwitchPortId
Reservado.
VlanId
Reservado.
Comentarios
La estructura IPSEC_OFFLOAD_V2_ADD_SA_EX especifica una SA de seguridad que se debe agregar. La estructura de IPSEC_OFFLOAD_V2_ADD_SA_EX se usa con
OID_TCP_TASK_IPSEC_OFFLOAD_V2_ADD_SA_EX OID.
La estructura IPSEC_OFFLOAD_V2_ADD_SA_EX especifica el origen y el destino, así como los protocolos IP a los que se aplica la SA. Este filtro pertenece a una conexión en modo de transporte, es decir, una conexión de un extremo a otro entre dos hosts. Si la conexión especificada se realiza a través de un túnel, se especifican las direcciones de origen y destino del túnel.
Si un miembro se establece en cero, ese parámetro no se usa para filtrar los paquetes de la SA especificada. Por ejemplo, si SrcAddr se establece en cero, la SA especificada puede aplicarse a un paquete que contenga cualquier dirección de origen. Si todos los parámetros de filtro se establecen en cero, la SA especificada se aplica a cualquier host de origen que envíe cualquier tipo de paquete a cualquier host de destino.
Esta estructura es casi idéntica a la versión anterior, IPSEC_OFFLOAD_V2_ADD_SA. Se han quitado los miembros Next y KeyData . Se han agregado los miembros KeyOffset, SourceSwitchPortId y VlanId .
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Compatible con NDIS 6.30 y versiones posteriores. |
Encabezado | ndis.h (incluya Ndis.h) |