estrutura NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO (ndis.h)

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

A estrutura NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO especifica informações usadas no descarregamento de tarefas IPsecOV2 (descarregamento de segurança de protocolo internet versão 2) do transporte TCP/IP para uma NIC.

Sintaxe

typedef struct _NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO {
  union {
    struct {
      PVOID OffloadHandle;
    } Transmit;
    struct {
      ULONG SaDeleteReq : 1;
      ULONG CryptoDone : 1;
      ULONG NextCryptoDone : 1;
      ULONG Reserved : 13;
      ULONG CryptoStatus : 16;
    } Receive;
  };
} NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO, *PNDIS_IPSEC_OFFLOAD_V2_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 para uma conexão de transporte (de ponta a ponta).

Receive

Uma estrutura que contém os seguintes membros:

Receive.SaDeleteReq

Um valor ULONG que, quando definido, indica que o transporte TCP/IP deve emitir o OID_TCP_TASK_IPSEC_OFFLOAD_V2_DELETE_SA OID uma vez para excluir a SA de entrada em 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_OFFLOAD_V2_DELETE_SA correspondente.

Receive.CryptoDone

Um valor ULONG que, quando definido, indica que uma NIC executou a verificação de 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 ULONG que, quando definido, indica que uma NIC executou a verificação de 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 de transporte; caso contrário, NextCryptoDone será definido como zero.

Receive.Reserved

Reservado para NDIS.

Receive.CryptoStatus

O resultado da verificação de IPsec de que uma NIC foi executada em um pacote de recebimento. Esse resultado pode ser descrito como um dos seguintes valores:

CryptoStatus.CRYPTO_SUCCESS

O pacote foi descriptografado com êxito, se necessário, e as somas de verificação do cabeçalho de autenticação (AH), encapsulando somas de verificação esp (conteúdo de segurança) ou ambas as somas de verificação no pacote foram validadas.

CryptoStatus.CRYPTO_GENERIC_ERROR

O pacote falhou no marcar IPsec por um motivo não especificado.

CryptoStatus.CRYPTO_TRANSPORT_AH_AUTH_FAILED

A soma de verificação ah da parte de transporte do pacote era inválida.

CryptoStatus.CRYPTO_TRANSPORT_ESP_AUTH_FAILED

A soma de verificação esp para a parte de transporte do pacote era inválida.

CryptoStatus.CRYPTO_TUNNEL_AH_AUTH_FAILED

A soma de verificação ah da parte do túnel do pacote era inválida.

CryptoStatus.CRYPTO_TUNNEL_ESP_AUTH_FAILED

A soma de verificação esp para a parte do túnel do pacote era inválida.

CryptoStatus.CRYPTO_INVALID_PACKET_SYNTAX

O comprimento do pacote de recebimento é inválido. Por exemplo, o comprimento total no cabeçalho IP não é suficiente para incluir todos os campos e cabeçalhos para AH/ESP.

CryptoStatus.CRYPTO_INVALID_PROTOCOL

Os protocolos IPsec especificados na SA em que o pacote foi recebido não correspondem aos protocolos IPsec encontrados no pacote. Por exemplo, esse erro ocorrerá se a SA em que o pacote foi recebido especificar o protocolo AH, mas o pacote contiver apenas um cabeçalho ESP.

Comentários

Antes que o transporte TCP/IP passe um pacote de saída para uma NIC para processamento de descarregamento, o transporte especifica as informações de IPsec na estrutura NDIS_IPSEC_OFFLOAD_V2_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_V2_NET_BUFFER_LIST_INFO. O valor OffloadHandle especifica o identificador para a SA de saída para um pacote que tem apenas uma carga IPsec, independentemente de essa carga ser para um transporte ou uma SA de túnel. O valor OffloadHandle fornecido na estrutura NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO tem o mesmo valor que o valor OffloadHandle que foi relatado ao transporte TCP/IP quando o driver de miniporto adicionou com êxito um conjunto de SAs a uma NIC. Todos os SAs foram adicionados à NIC quando o driver de miniporto respondeu a um OID_TCP_TASK_IPSEC_OFFLOAD_V2_ADD_SA solicitação.

Antes que um driver de miniporto indique um pacote de recebimento que tenha um ou mais conteúdos IPsec, o driver especifica informações de IPsec na estrutura de NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO associada à estrutura NET_BUFFER_LIST .

Para definir e obter as informações do IPsec, use o índice IPsecOffloadV2NetBufferListInfo com a macro NET_BUFFER_LIST_INFO . NET_BUFFER_LIST_INFO retorna a estrutura NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO.

Requisitos

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

Confira também

NDIS_IPSEC_OFFLOAD_V1_NET_BUFFER_LIST_INFO

NET_BUFFER_LIST

NET_BUFFER_LIST_INFO

OID_TCP_TASK_IPSEC_OFFLOAD_V2_DELETE_SA OID_TCP_TASK_IPSEC_OFFLOAD_V2_ADD_SA