estrutura NDIS_IPSEC_OFFLOAD_V1_NET_BUFFER_LIST_INFO (ndis.h)
A estrutura NDIS_IPSEC_OFFLOAD_V1_NET_BUFFER_LIST_INFO especifica informações usadas no descarregamento de tarefas de IPsec (segurança de protocolo internet) do transporte TCP/IP para um driver de miniport.
Sintaxe
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;
Membros
Transmit
Uma estrutura que contém os seguintes membros:
Transmit.OffloadHandle
Um identificador para a SA (associação de segurança de saída) para um pacote que tem apenas uma carga IPsec, independentemente de essa carga ser para uma conexão de transporte (de ponta a ponta) ou uma conexão de túnel.
Receive
Uma estrutura que contém os seguintes membros:
Receive.SaDeleteReq
Um valor USHORT que, quando definido, indica que o transporte TCP/IP deve emitir o OID_TCP_TASK_IPSEC_DELETE_SA OID uma vez para excluir a SA de entrada que o pacote foi recebido e, mais uma vez, para excluir a SA de saída que corresponde à SA de entrada excluída. A NIC (cartão de interface de rede) não deve remover nenhum desses SAs antes de receber a solicitação de OID_TCP_TASK_IPSEC_DELETE_SA correspondente.
Receive.CryptoDone
Um valor USHORT que, quando definido, indica que uma NIC executou a verificação IPsec em pelo menos uma carga IPsec no pacote de recebimento. Quando esse valor é limpo, ele indica que a NIC não executou a verificação IPsec no pacote.
Receive.NextCryptoDone
Um valor USHORT que, quando definido, indica que uma NIC executou a verificação IPsec nas partes de túnel e transporte do pacote de recebimento. CryptoDone também deve ser definido nesse caso. NextCryptoDone será definido somente se um pacote tiver cargas IPsec de túnel e transporte; caso contrário, NextCryptoDone será definido como zero.
Receive.Pad
Reservado para NDIS.
Receive.CryptoStatus
O resultado da verificação IPsec de que uma NIC foi executada em um pacote de recebimento. Esse resultado pode ser descrito como um dos seguintes valores:
Comentários
Antes que o transporte TCP/IP passe um pacote de envio no qual uma NIC executará tarefas IPsec no driver de miniporto da NIC, o transporte atualiza as informações do IPsec na estrutura de NDIS_IPSEC_OFFLOAD_V1_NET_BUFFER_LIST_INFO associada à estrutura NET_BUFFER_LIST .
Especificamente, o transporte TCP/IP fornece um valor para o membro OffloadHandle na estrutura NDIS_IPSEC_OFFLOAD_V1_NET_BUFFER_LIST_INFO . O valor OffloadHandle especifica o identificador para a SA (associação de segurança de saída) para um pacote que tem apenas uma carga IPsec, independentemente de essa carga ser para uma associação de segurança de transporte (de ponta a ponta) ou uma associação de segurança de túnel. O valor OffloadHandle fornecido na estrutura NDIS_IPSEC_OFFLOAD_V1_NET_BUFFER_LIST_INFO tem o mesmo valor que o valor OffloadHandle fornecido pelo transporte TCP/IP ao definir OID_TCP_TASK_IPSEC_ADD_SA para solicitar que o driver de miniporte adicione a SA de saída à NIC.
Antes que um driver de miniporte indique um pacote de recebimento que tenha uma ou mais cargas IPsec, o driver atualiza a estrutura NDIS_IPSEC_OFFLOAD_V1_NET_BUFFER_LIST_INFO associada à estrutura NET_BUFFER_LIST da seguinte maneira:
- Se a NIC executou verificações IPsec em pelo menos uma carga IPsec no pacote, o driver de miniporto define o membro CryptoDone e indica os resultados dos testes de validação de soma de verificação especificando o valor apropriado no membro CryptoStatus .
- Se a NIC executou a verificação IPsec nas partes de túnel e transporte de um pacote de recebimento, o driver de miniporto também define o membro NextCryptoDone . NextCryptoDone será definido somente se um pacote tiver cargas IPsec de túnel e transporte; caso contrário, NextCryptoDone será definido como zero.
- Se a NIC não executou verificações IPsec no pacote, o driver de miniport não define CryptoDone ou NextCryptoDone e não fornece um valor CryptoStatus .
Para definir e obter as informações do IPsec, use o índice IPsecOffloadV1NetBufferListInfo com a macro NET_BUFFER_LIST_INFO . NET_BUFFER_LIST_INFO retorna a estrutura NDIS_IPSEC_OFFLOAD_V1_NET_BUFFER_LIST_INFO .
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Com suporte no NDIS 6.0. Para o NDIS 6.1 e posterior, use NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO. |
Cabeçalho | ndis.h (inclua Ndis.h) |
Confira também
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: ao longo de 2024, vamos eliminar problemas do GitHub como o mecanismo de comentários para conteúdo e substituí-lo por um novo sistema de comentários. Para obter mais informações, consulte:Enviar e exibir comentários de