Partilhar via


IPSEC_OFFLOAD_V2_ADD_SA_EX estrutura (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 miniporto 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 IPSEC_OFFLOAD_V2_ADD_SA_EX. Defina o membro tipo da estrutura que de Cabeçalho especifica para NDIS_OBJECT_TYPE_DEFAULT, o membro de Revisão de para NDIS_IPSEC_OFFLOAD_V2_ADD_SA_EX_REVISION_1 e o membro tamanho do para 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 seguintes valores.

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 e 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 de 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 miniporto 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 miniporto. 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 de ESP UDP. 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 está encapsulada em 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 ambas) para a SA. O número de elementos fornecidos é especificado no membro NumExtHdrs. As informações de 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 na qual o driver de miniporto deve executar as operações para cada SA. Há suporte apenas para uma combinação de operações: ESP (criptografia/descriptografia) seguido de autenticação (AH).

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 pelo EncryptionAlgorithm e AuthenticationAlgorithm membros de um IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION estrutura, o buffer em KeyOffset contém informações-chave para um seguido pelo outro. O início e o comprimento da chave são especificados pelo IPSEC_OFFLOAD_V2_ALGORITHM_INFOmembros keyOffsetBytes e keylength da estrutura, respectivamente.

SourceSwitchPortId

Reservado.

VlanId

Reservado.

Observações

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 for definido como zero, a SA especificada poderá se aplicar 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
de cliente com suporte mínimo Com suporte no NDIS 6.30 e posterior.
cabeçalho ndis.h (inclua Ndis.h)

Consulte 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