estrutura IPSEC_OFFLOAD_V2_ADD_SA_EX (ndis.h)

[O recurso de descarregamento de tarefas IPsec foi preterido e não deve ser usado.]

A estrutura IPSEC_OFFLOAD_V2_ADD_SA_EX define informações sobre uma SA (associação de segurança) que um driver de miniporte deve adicionar a uma NIC.

Sintaxe

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;

Membros

Header

A estrutura NDIS_OBJECT_HEADER para a estrutura de IPSEC_OFFLOAD_V2_ADD_SA_EX. Defina o membro Type da estrutura especificada por Header como NDIS_OBJECT_TYPE_DEFAULT, o membro Revision como NDIS_IPSEC_OFFLOAD_V2_ADD_SA_EX_REVISION_1 e o membro Size como NDIS_SIZEOF_IPSEC_OFFLOAD_V2_ADD_SA_EX_REVISION_1.

NumExtHdrs

O número de cabeçalhos de extensão IPsec. Esse membro pode ser um dos valores a seguir.

Tipo de segurança Cabeçalhos de extensão
Somente autenticação AH 1
Somente autenticação ESP 1
Somente criptografia ESP 1
Autenticação ESP mais criptografia 1
Autenticação AH mais ESP mais criptografia 2
UDP ESP 1

Flags

Uma máscara de bits que indica se a SA que está sendo adicionada é uma SA de entrada ou saída da seguinte maneira:

IPSEC_OFFLOAD_V2_IPv6

Se esse sinalizador estiver definido, os endereços serão IPv6. Caso contrário, os endereços são IPv4

IPSEC_OFFLOAD_V2_INBOUND

Se esse sinalizador estiver definido, a SA será de entrada. Caso contrário, a SA será de saída.

IPv4Endpoints

Os endereços de ponto de extremidade IPv4. Essa estrutura contém os seguintes membros:

IPv4Endpoints.SrcAddr

O endereço IPv4 do host de origem (o host que está enviando os pacotes).

IPv4Endpoints.DestAddr

O endereço IPv4 do host de destino (o host que está recebendo os pacotes).

IPv6Endpoints

Os endereços de ponto de extremidade IPv6. Essa estrutura contém os seguintes membros:

IPv6Endpoints.SrcAddr[16]

O endereço IPv6 do host de origem (o host que está enviando os pacotes).

IPv6Endpoints.DestAddr[16]

O endereço IPv6 do host de destino (o host que está recebendo os pacotes).

OffloadHandle

O identificador para a SA recém-criada. O driver de miniporte fornece esse identificador antes de concluir o
OID_TCP_TASK_IPSEC_OFFLOAD_V2_ADD_SA_EX solicitação. O transporte TCP/IP deve especificar esse identificador no
NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO ou NDIS_IPSEC_OFFLOAD_V2_TUNNEL_NET_BUFFER_LIST_INFO estrutura antes de passar um pacote de envio para o driver de miniport. O transporte TCP/IP também deve especificar esse identificador ao excluir a SA com um OID_TCP_TASK_IPSEC_OFFLOAD_V2_DELETE_SA solicitação.

UdpEspEncapsulation

O tipo de encapsulamento UDP ESP. Esse membro pode ser um ou mais dos seguintes sinalizadores:

IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_NONE

Nenhum encapsulamento UDP é usado.

IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_TRANSPORT

Um pacote de modo de transporte encapsulado por ESP é encapsulado pelo UDP.

IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_TUNNEL

A parte do modo de túnel de um pacote é encapsulada por UDP. A parte do modo de transporte do pacote não é encapsulada por UDP e não é protegida por ESP.

IPSEC_OFFLOAD_V2_TRANSPORT_OVER_UDP_ESP_ENCAPSULATION_TUNNEL

A parte do modo de túnel de um pacote é encapsulada por UDP. A parte do modo de transporte de um pacote não é encapsulada por UDP, mas é protegida por ESP.

IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_TRANSPORT_OVER_TUNNEL

A parte do modo de túnel de um pacote não é encapsulada por UDP. A parte do modo de transporte de um pacote é encapsulada por UDP e protegida por ESP.

SecAssoc[IPSEC_OFFLOAD_V2_MAX_EXTENSION_HEADERS]

Uma matriz com dois elementos que contêm as informações sobre as operações IPsec (AH, ESP ou ambos) para a SA. O número de elementos fornecidos é especificado no membro NumExtHdrs . As informações para cada operação IPsec são formatadas como um IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION estrutura, que é descrita abaixo.

O transporte TCP/IP especifica uma ou duas estruturas IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION no buffer em SecAssoc . Cada estrutura IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION indica o tipo de operação – autenticação ou criptografia/descriptografia – para o qual a SA especificada na estrutura deve ser usada. A ordem das estruturas de IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION na matriz indica a ordem em que o driver de miniporto deve executar as operações para cada SA. Há suporte apenas para uma combinação de operações: criptografia/descriptografia (ESP) seguida por AH (autenticação).

KeyLength

O comprimento, em bytes, do buffer em KeyOffset.

KeyOffset

O deslocamento, em bytes, desde o início da estrutura IPSEC_OFFLOAD_V2_ADD_SA_EX até o início de uma matriz de comprimento variável que contém chaves para a SA especificada em SecAssoc. Se um algoritmo de criptografia e um algoritmo de autenticação forem especificados pelos membros EncryptionAlgorithm e AuthenticationAlgorithm de um IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION estrutura, o buffer em KeyOffset contém informações de chave para um seguido pelo outro. O início e o comprimento da chave são especificados pelo IPSEC_OFFLOAD_V2_ALGORITHM_INFO os membros KeyOffsetBytes e KeyLength da estrutura, respectivamente.

SourceSwitchPortId

Reservado.

VlanId

Reservado.

Comentários

A estrutura IPSEC_OFFLOAD_V2_ADD_SA_EX especifica uma SA de segurança que deve ser adicionada. A estrutura IPSEC_OFFLOAD_V2_ADD_SA_EX é usada com o
OID_TCP_TASK_IPSEC_OFFLOAD_V2_ADD_SA_EX OID.

A estrutura IPSEC_OFFLOAD_V2_ADD_SA_EX especifica a origem e o destino, bem como os protocolos IP aos quais a SA se aplica. Esse filtro pertence a uma conexão de modo de transporte, ou seja, uma conexão de ponta a ponta entre dois hosts. Se a conexão especificada for feita por meio de um túnel, os endereços de origem e de destino do túnel serão especificados.

Se um membro for definido como zero, esse parâmetro não será usado para filtrar pacotes para a SA especificada. Por exemplo, se SrcAddr estiver definido como zero, a SA especificada poderá ser aplicada a um pacote que contenha qualquer endereço de origem. Se todos os parâmetros de filtro forem definidos como zero, a SA especificada se aplicará a qualquer host de origem que esteja enviando qualquer tipo de pacote para qualquer host de destino.

Essa estrutura é quase idêntica à versão anterior, IPSEC_OFFLOAD_V2_ADD_SA. Os membros Next e KeyData foram removidos. Os membros KeyOffset, SourceSwitchPortId e VlanId foram adicionados.

Requisitos

Requisito Valor
Cliente mínimo com suporte Com suporte no NDIS 6.30 e posterior.
Cabeçalho ndis.h (inclua Ndis.h)

Confira também

IPSEC_OFFLOAD_V2_ADD_SA

IPSEC_OFFLOAD_V2_ALGORITHM_INFO IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO NDIS_IPSEC_OFFLOAD_V2_TUNNEL_NET_BUFFER_LIST_INFO

NDIS_OBJECT_HEADER

OID_TCP_TASK_IPSEC_OFFLOAD_V2_ADD_SA_EX OID_TCP_TASK_IPSEC_OFFLOAD_V2_DELETE_SA