estrutura NDIS_IPSEC_OFFLOAD_V2 (ntddndis.h)
[O recurso de descarregamento de tarefa IPsec foi preterido e não deve ser usado.]
A estrutura NDIS_IPSEC_OFFLOAD_V2 fornece informações sobre os recursos de descarregamento de tarefa IPsec (segurança de protocolo de Internet) versão 2 na estrutura NDIS_OFFLOAD .
Sintaxe
typedef struct _NDIS_IPSEC_OFFLOAD_V2 {
ULONG Encapsulation;
BOOLEAN IPv6Supported;
BOOLEAN IPv4Options;
BOOLEAN IPv6NonIPsecExtensionHeaders;
BOOLEAN Ah;
BOOLEAN Esp;
BOOLEAN AhEspCombined;
BOOLEAN Transport;
BOOLEAN Tunnel;
BOOLEAN TransportTunnelCombined;
BOOLEAN LsoSupported;
BOOLEAN ExtendedSequenceNumbers;
ULONG UdpEsp;
ULONG AuthenticationAlgorithms;
ULONG EncryptionAlgorithms;
ULONG SaOffloadCapacity;
} NDIS_IPSEC_OFFLOAD_V2, *PNDIS_IPSEC_OFFLOAD_V2;
Membros
Encapsulation
Os tipos de encapsulamento MAC com suporte para descarregamento IPsec. Para obter mais informações sobre esse membro, consulte a seção Comentários a seguir.
IPv6Supported
Um valor BOOLEAN definido como TRUE se houver suporte para o processamento de descarregamento IPsec no tráfego IPv6. Caso contrário, esse membro será FALSE.
IPv4Options
Um valor BOOLEAN definido como TRUE se a NIC der suporte ao descarregamento IPsec de pacotes com opções IPv4. Caso contrário, esse membro será FALSE.
IPv6NonIPsecExtensionHeaders
Um valor BOOLEAN definido como TRUE se a NIC der suporte ao processamento de descarregamento IPsec para pacotes com cabeçalhos de extensão IPv6 não IPsec, além de cabeçalhos IPsec. Caso contrário, esse membro será FALSE.
Ah
Um valor BOOLEAN definido como TRUE se a NIC puder executar operações de descarregamento IPsec em pacotes de envio e recebimento que contenham um conteúdo de segurança de cabeçalho de autenticação (AH). Caso contrário, esse membro será FALSE.
Esp
Um valor BOOLEAN definido como TRUE se a NIC puder executar operações de descarregamento IPsec em pacotes de envio e recebimento que contenham uma ESP (carga de segurança de encapsulamento). Caso contrário, esse membro será FALSE.
AhEspCombined
Um valor BOOLEAN definido como TRUE se a NIC puder executar operações de descarregamento IPsec em pacotes de envio e recebimento que contenham uma carga AH e um conteúdo ESP. Caso contrário, esse membro será FALSE.
Transport
Um valor BOOLEAN definido como TRUE se a NIC puder processar cargas de segurança para a parte do modo de transporte dos pacotes de envio e recebimento. (A parte do modo de transporte de um pacote pertence a uma conexão de ponta a ponta.) Caso contrário, esse membro será FALSE.
Tunnel
Um valor BOOLEAN definido como TRUE se a NIC puder processar cargas de segurança para a parte do modo de túnel dos pacotes de envio e recebimento. (A parte do modo de túnel de um pacote pertence a uma conexão de túnel.) Caso contrário, esse membro será FALSE.
TransportTunnelCombined
Um valor BOOLEAN definido como TRUE se a NIC puder processar cargas de segurança para a parte do modo de transporte e a parte do modo de túnel dos pacotes de envio e recebimento. Caso contrário, esse membro será FALSE. A parte do modo de transporte de um pacote pertence a uma conexão de ponta a ponta. A parte do modo de túnel de um pacote pertence a uma conexão de túnel.
LsoSupported
Um valor BOOLEAN definido como TRUE se a NIC der suporte ao LSO (descarregamento de envio grande). Caso contrário, esse membro será FALSE. Observe que os recursos de LSO da NIC são especificados nos membros LsoV1 ou LsoV2 da estrutura NDIS_OFFLOAD . O sinalizador LsoSupported indica que os recursos especificados nesses membros também serão válidos se a conexão for protegida com IPsec.
ExtendedSequenceNumbers
Um valor BOOLEAN definido como TRUE se a NIC der suporte a números de sequência estendidos IPsec. Caso contrário, esse membro será FALSE.
UdpEsp
Os tipos de pacotes de dados ESP encapsulados por UDP que a NIC pode analisar. Para obter uma descrição dos tipos de encapsulamento UDP, consulte Tipos de encapsulamento UDP-ESP. Esse membro pode ser um ou mais dos seguintes sinalizadores:
IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_NONE
O processamento de descarregamento IPsec não está disponível para nenhum tipo de encapsulamento UDP.
IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_TRANSPORT
O descarregamento IPsec tem suporte para um pacote de modo de transporte encapsulado por ESP encapsulado pelo UDP.
IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_TUNNEL
O descarregamento IPsec é compatível com a parte do modo de túnel de um pacote encapsulado 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
O descarregamento IPsec é compatível com a parte do modo de túnel de um pacote encapsulado 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
O descarregamento IPsec é compatível com a parte do modo de túnel de um pacote que não é encapsulado por UDP. A parte do modo de transporte de um pacote é encapsulada por UDP e protegida por ESP.
AuthenticationAlgorithms
Uma máscara de bits que identifica os algoritmos de autenticação IPsec aos quais a NIC dá suporte. Os drivers de miniporto especificam um OR bit a bit dos seguintes valores:
IPSEC_OFFLOAD_V2_AUTHENTICATION_MD5
A NIC pode usar o algoritmo MD5 (resumo da mensagem chave 5) para computação ou validação de uma soma de verificação criptográfica.
IPSEC_OFFLOAD_V2_AUTHENTICATION_SHA_1
A NIC pode usar o algoritmo SHA 1 (algoritmo de hash seguro) para computação ou validação de uma soma de verificação criptográfica.
IPSEC_OFFLOAD_V2_AUTHENTICATION_SHA_256
A NIC pode usar o algoritmo SHA 256 para computação ou validação de uma soma de verificação criptográfica.
IPSEC_OFFLOAD_V2_AUTHENTICATION_AES_GCM_128
A NIC pode usar o algoritmo AES-GMAC (Advanced Encryption Standard - Galois/Counter Mode) 128 para computação ou validação de uma soma de verificação criptográfica.
IPSEC_OFFLOAD_V2_AUTHENTICATION_AES_GCM_192
A NIC pode usar o algoritmo AES-GMAC 192 para computação ou validação de uma soma de verificação criptográfica.
IPSEC_OFFLOAD_V2_AUTHENTICATION_AES_GCM_256
A NIC pode usar o algoritmo AES-GMAC 256 para computação ou validação de uma soma de verificação criptográfica.
EncryptionAlgorithms
Uma máscara de bits que identifica os algoritmos de criptografia IPsec aos quais a NIC dá suporte. Essa máscara de bits é um OR bit a bit dos seguintes valores:
IPSEC_OFFLOAD_V2_ENCRYPTION_NONE
A NIC pode usar a criptografia nula, ou seja, o conteúdo ESP sem criptografia, mas com informações de autenticação.
IPSEC_OFFLOAD_V2_ENCRYPTION_DES_CBC
A NIC pode usar o algoritmo DES para criptografar e descriptografar cargas ESP.
IPSEC_OFFLOAD_V2_ENCRYPTION_3_DES_CBC
A NIC pode usar o algoritmo de DES triplo para criptografar e descriptografar cargas ESP.
IPSEC_OFFLOAD_V2_ENCRYPTION_AES_GCM_128
A NIC pode usar o algoritmo AES-GCM 128 para criptografar e calcular uma soma de verificação criptográfica ou descriptografar e validar uma soma de verificação criptográfica para uma carga ESP. Observe que esse algoritmo é um algoritmo de modo combinado.
IPSEC_OFFLOAD_V2_ENCRYPTION_AES_GCM_192
A NIC pode usar o algoritmo AES-GCM 192 para criptografar e calcular uma soma de verificação criptográfica ou descriptografar e validar uma soma de verificação criptográfica para uma carga ESP. Observe que esse algoritmo é um algoritmo de modo combinado.
IPSEC_OFFLOAD_V2_ENCRYPTION_AES_GCM_256
A NIC pode usar o algoritmo AES-GCM 256 para criptografar e calcular uma soma de verificação criptográfica ou descriptografar e validar uma soma de verificação criptográfica para uma carga ESP. Observe que esse algoritmo é um algoritmo de modo combinado.
IPSEC_OFFLOAD_V2_ENCRYPTION_AES_CBC_128
A NIC pode usar o algoritmo AES-CBC 128 (Advanced Encryption Standard - cipher-block chaining mode) para criptografar e descriptografar cargas ESP.
IPSEC_OFFLOAD_V2_ENCRYPTION_AES_CBC_192
A NIC pode usar o algoritmo AES-CBC 192 para criptografar e descriptografar cargas ESP.
IPSEC_OFFLOAD_V2_ENCRYPTION_AES_CBC_256
A NIC pode usar o algoritmo AES-CBC 256 para criptografar e descriptografar cargas ESP.
SaOffloadCapacity
O número de pacotes SA, que podem incluir ESP ou AH ou ambos, que podem ser descarregados para a NIC. O TCP/IP mantém uma contagem do número de pacotes SA descarregados e não deve adicionar mais do que o número máximo de pacotes SA relatados pelo driver de miniporto.
Comentários
No NDIS 6.1 e versões posteriores, a estrutura NDIS_IPSEC_OFFLOAD_V2 é usada no membro IPsecV2 da estrutura NDIS_OFFLOAD . A estrutura NDIS_IPSEC_OFFLOAD_V2 especifica os recursos atuais ou com suporte que um adaptador de miniporto fornece para processamento de descarregamento IPsec.
Para OID_TCP_OFFLOAD_CURRENT_CONFIG, a estrutura NDIS_OFFLOAD especifica os recursos de descarregamento de tarefa compatíveis com um adaptador de miniporto. Se os recursos de descarregamento atuais forem alterados, um driver de miniporto relatará os novos recursos em um NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG indicação status.
O membro encapsulamento do NDIS_IPSEC_OFFLOAD_V2 define os encapsulamentos MAC aos quais um adaptador de miniporto dá suporte para descarregamento IPsec.
Em resposta a um OID_TCP_OFFLOAD_CURRENT_CONFIG solicitação de consulta, o NDIS fornece um OR bit a bit dos sinalizadores de encapsulamento, que indicam as configurações de encapsulamento com suporte, no membro Encapsulamento . Os drivers de miniporto devem fornecer encapsulamento Ethernet (NDIS_ENCAPSULATION_IEEE_802_3). Os outros tipos de encapsulamento são opcionais.
Para um NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG indicação status, o driver de miniporto fornece um OR bit a bit dos sinalizadores de encapsulamento, que indicam os recursos atuais, no membro Encapsulamento.
Os seguintes sinalizadores são definidos para o membro encapsulamento :
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Com suporte no NDIS 6.1 e posterior. |
Cabeçalho | ntddndis.h (inclua Ndis.h) |