Compartilhar via


estrutura NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO (ndis.h)

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

A estrutura de NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO especifica informações usadas no descarregamento de tarefas de descarregamento de segurança de protocolo da Internet versão 2 (IPsecOV2) 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 um conteúdo 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 que o pacote foi recebido e, mais uma vez, excluir a SA de saída que corresponde à SA de entrada excluída. A NIC (placa 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 um conteúdo IPsec no pacote de recebimento. Quando esse valor é limpo, 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 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 está definido como zero.

Receive.Reserved

Reservado para NDIS.

Receive.CryptoStatus

O resultado da verificação do 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 na verificação 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 da 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 da 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.

Observações

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 do IPsec na estrutura de 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 tenha apenas um conteúdo IPsec, independentemente de esse conteúdo 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 OffloadHandle valor 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 IPsec na estrutura 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
de cliente com suporte mínimo Com suporte no NDIS 6.1 e posterior.
cabeçalho ndis.h (inclua Ndis.h)

Consulte também

NDIS_IPSEC_OFFLOAD_V1_NET_BUFFER_LIST_INFO

NET_BUFFER_LIST

NET_BUFFER_LIST_INFO

OID_TCP_TASK_IPSEC_OFFLOAD_V2_ADD_SA OID_TCP_TASK_IPSEC_OFFLOAD_V2_DELETE_SA