estrutura NDIS_OFFLOAD_PARAMETERS (ntddndis.h)

A estrutura NDIS_OFFLOAD_PARAMETERS especifica as configurações atuais de descarregamento de tarefa em resposta a uma solicitação de conjunto de OID de OID_TCP_OFFLOAD_PARAMETERS.

Sintaxe

typedef struct _NDIS_OFFLOAD_PARAMETERS {
  NDIS_OBJECT_HEADER                 Header;
  UCHAR                              IPv4Checksum;
  UCHAR                              TCPIPv4Checksum;
  UCHAR                              UDPIPv4Checksum;
  UCHAR                              TCPIPv6Checksum;
  UCHAR                              UDPIPv6Checksum;
  UCHAR                              LsoV1;
  UCHAR                              IPsecV1;
  UCHAR                              LsoV2IPv4;
  UCHAR                              LsoV2IPv6;
  UCHAR                              TcpConnectionIPv4;
  UCHAR                              TcpConnectionIPv6;
  ULONG                              Flags;
  UCHAR                              IPsecV2;
  UCHAR                              IPsecV2IPv4;
  struct {
    UCHAR RscIPv4;
    UCHAR RscIPv6;
  };
  struct {
    UCHAR EncapsulatedPacketTaskOffload;
    UCHAR EncapsulationTypes;
  };
  union {
    struct {
      USHORT VxlanUDPPortNumber;
    } VxlanParameters;
    ULONG Value;
  } EncapsulationProtocolParameters;
  _ENCAPSULATION_PROTOCOL_PARAMETERS _ENCAPSULATION_PROTOCOL_PARAMETERS;
  struct {
    UCHAR IPv4;
    UCHAR IPv6;
  } UdpSegmentation;
} NDIS_OFFLOAD_PARAMETERS, *PNDIS_OFFLOAD_PARAMETERS;

Membros

Header

A estrutura NDIS_OBJECT_HEADER para a estrutura NDIS_OFFLOAD_PARAMETERS . Defina o membro Type da estrutura especificada por Cabeçalho como NDIS_OBJECT_TYPE_DEFAULT.

Para indicar a versão da estrutura NDIS_OFFLOAD_PARAMETERS , defina o membro Revision como um dos seguintes valores:

Valor Significado
NDIS_OFFLOAD_PARAMETERS_REVISION_3
3
Dá suporte aos membros RscIPv4 , RscIPv6, EncapsulatedPacketTaskOffload e EncapsulationTypes para NDIS 6.30.

Defina o membro Size como NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_3.

NDIS_OFFLOAD_PARAMETERS_REVISION_2
2
Dá suporte aos membros IPsecV2, IPsecV2IPv4, Reserved1 e Reserved2 para NDIS 6.1.

Defina o membro Size como NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_2.

NDIS_OFFLOAD_PARAMETERS_REVISION_1
1
Versão original do NDIS 6.0.

Defina o membro Size como NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_1.

IPv4Checksum

A configuração de soma de verificação IPv4 do adaptador de miniport. Para obter mais informações, consulte a seção Comentários a seguir.

TCPIPv4Checksum

A configuração de soma de verificação IPv4 do adaptador de miniporto para pacotes TCP. Para obter mais informações, consulte a seção Comentários a seguir.

UDPIPv4Checksum

A configuração de soma de verificação IPv4 do adaptador de miniporto para pacotes UDP. Para obter mais informações, consulte a seção Comentários a seguir.

TCPIPv6Checksum

A configuração de soma de verificação IPv6 do adaptador de miniporto para pacotes TCP. Para obter mais informações, consulte a seção Comentários a seguir.

UDPIPv6Checksum

A configuração de soma de verificação IPv6 do adaptador de miniporto para pacotes UDP. Para obter mais informações, consulte a seção Comentários a seguir.

LsoV1

A configuração LSOV1 (versão de descarregamento de envio grande) do adaptador de miniporto. Essa configuração deve ser um dos seguintes valores:

Valor Significado
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE
O driver de miniporte não deve alterar a configuração atual.
NDIS_OFFLOAD_PARAMETERS_LSOV1_DISABLED
LSOV1 está desabilitado.
NDIS_OFFLOAD_PARAMETERS_LSOV1_ENABLED
O LSOV1 está habilitado.

IPsecV1

A configuração de descarregamento de IPsec (segurança de protocolo da Internet) do adaptador de miniport. Essa configuração deve ser um dos seguintes valores:

Valor Significado
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE
O driver de miniporte não deve alterar a configuração atual.
NDIS_OFFLOAD_PARAMETERS_IPSECV1_DISABLED
O descarregamento IPsec está desabilitado.
NDIS_OFFLOAD_PARAMETERS_IPSECV1_AH_ENABLED
O recurso AH (Cabeçalho de Autenticação de Descarregamento IPsec) deve ser habilitado para transmissão e recebimento.
NDIS_OFFLOAD_PARAMETERS_IPSECV1_ESP_ENABLED
O recurso ESP (Carga de Segurança encapsulando encapsulamento) do IPsec deve ser habilitado para transmissão e recebimento.
NDIS_OFFLOAD_PARAMETERS_IPSECV1_AH_AND_ESP_ENABLED
Os recursos de descarregamento de IPsec AH e ESP são habilitados para transmissão e recebimento.

LsoV2IPv4

A configuração LSOV2 (descarregamento de envio grande) IPv4 versão 2 (LSOV2) do adaptador de miniport. Essa configuração deve ser um dos seguintes valores:

Valor Significado
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE
O driver de miniporte não deve alterar a configuração atual.
NDIS_OFFLOAD_PARAMETERS_LSOV2_DISABLED
O LSOV2 para IPv4 está desabilitado.
NDIS_OFFLOAD_PARAMETERS_LSOV2_ENABLED
O LSOV2 para IPv4 está habilitado.

LsoV2IPv6

A configuração IPv6 LSOV2 do adaptador de miniport. Essas configurações são especificadas como um dos seguintes valores:

Valor Significado
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE
O driver de miniporte não deve alterar a configuração atual.
NDIS_OFFLOAD_PARAMETERS_LSOV2_DISABLED
O LSOV2 para IPv6 está desabilitado.
NDIS_OFFLOAD_PARAMETERS_LSOV2_ENABLED
O LSOV2 para IPv6 está habilitado.

TcpConnectionIPv4

A configuração de descarregamento de conexão IPv4 do adaptador de miniport. Essas configurações são especificadas como um dos seguintes valores:

Valor Significado
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE
O driver de miniporte não deve alterar a configuração atual.

TcpConnectionIPv6

A configuração de descarregamento de conexão IPv6 do adaptador de miniport. Essas configurações são especificadas como um dos seguintes valores:

Valor Significado
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE
O driver de miniporte não deve alterar a configuração atual.

Flags

Um conjunto de sinalizadores que pode ser combinado com uma operação OR bit a bit. Defina esse membro como zero. No momento, não há nenhum sinalizador definido.

IPsecV2

A configuração de descarregamento IPsec (segurança de protocolo de Internet) versão 2 de um adaptador de miniporto que dá suporte a IPv6 e IPv4. Esse membro especifica a configuração para o suporte a IPv6 e IPv4. Essa configuração deve ser um dos seguintes valores:

Valor Significado
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE
O driver de miniporte não deve alterar a configuração atual.
NDIS_OFFLOAD_PARAMETERS_IPSECV2_DISABLED
O descarregamento IPsec versão 2 está desabilitado.
NDIS_OFFLOAD_PARAMETERS_IPSECV2_AH_ENABLED
O recurso AH (Cabeçalho de Autenticação) do IPsec versão 2 deve ser habilitado para transmissão e recebimento.
NDIS_OFFLOAD_PARAMETERS_IPSECV2_ESP_ENABLED
O recurso ESP (Encapsulando Carga de Segurança) do IPsec versão 2 deve ser habilitado para transmissão e recebimento.
NDIS_OFFLOAD_PARAMETERS_IPSECV2_AH_AND_ESP_ENABLED
Os recursos de descarregamento IPsec versão 2A H e ESP estão habilitados para transmissão e recebimento.

IPsecV2IPv4

A configuração de descarregamento IPsec (segurança de protocolo de Internet) versão 2 de um adaptador de miniporto que dá suporte a IPv4 e não dá suporte a IPv6. Se o driver de miniporto der suporte a IPv6, o membro IPsecV2 especificará a configuração IPv4 e esse membro não será usado. Essa configuração deve ser um dos seguintes valores:

Valor Significado
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE
O driver de miniporte não deve alterar a configuração atual.
NDIS_OFFLOAD_PARAMETERS_IPSECV2_DISABLED
O descarregamento IPsec versão 2 está desabilitado.
NDIS_OFFLOAD_PARAMETERS_IPSECV2_AH_ENABLED
O recurso AH (Cabeçalho de Autenticação) do IPsec versão 2 deve ser habilitado para transmissão e recebimento.
NDIS_OFFLOAD_PARAMETERS_IPSECV2_ESP_ENABLED
O recurso ESP (Encapsulando Carga de Segurança) do IPsec versão 2 deve ser habilitado para transmissão e recebimento.
NDIS_OFFLOAD_PARAMETERS_IPSECV2_AH_AND_ESP_ENABLED
Os recursos de descarregamento IPsec versão 2A H e ESP estão habilitados para transmissão e recebimento.

RscIPv4

Indica o estado de união do segmento de recebimento para IPv4.

Valor Significado
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE
O estado RSC é inalterado.
NDIS_OFFLOAD_PARAMETERS_RSC_ENABLED
O estado RSC está habilitado.
NDIS_OFFLOAD_PARAMETERS_RSC_DISABLED
O estado RSC está desabilitado.

RscIPv6

Indica o estado de união do segmento de recebimento para IPv6.

Valor Significado
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE
O estado RSC é inalterado.
NDIS_OFFLOAD_PARAMETERS_RSC_ENABLED
O estado RSC está habilitado.
NDIS_OFFLOAD_PARAMETERS_RSC_DISABLED
O estado RSC está desabilitado.

EncapsulatedPacketTaskOffload

Um driver de protocolo define EncapsulatedPacketTaskOffload da seguinte maneira:

Nota Para descarregamentos laterais de recebimento, como VMQ e RSS, há outros OIDs definidos que o driver de protocolo envia para habilitar e configurar os parâmetros de descarregamento (por exemplo, filas, hash e tabela de indireção). O membro EncapsulatedPacketTaskOffload é complementar a esses OIDs e instrui a NIC a também fazer esses descarregamentos para pacotes encapsulados.
 
Valor Significado
NDIS_OFFLOAD_SET_NO_CHANGE
0
Os estados de descarregamento de tarefa NVGRE e VXLAN não são alterados.
NDIS_OFFLOAD_SET_ON
1
Habilita descarregamentos de tarefa NVGRE e VXLAN.
NDIS_OFFLOAD_SET_OFF
2
Desabilita descarregamentos de tarefa NVGRE e VXLAN.

EncapsulationTypes

Esse campo só é eficaz quando EncapsuladoPacketTaskOffload é definido como NDIS_OFFLOAD_SET_ON. Se o membro EncapsulatedPacketTaskOffload não estiver definido como NDIS_OFFLOAD_SET_ON, esse membro será zero. Um driver de protocolo deve definir EncapsulationTypes para o OR bit a bit dos sinalizadores correspondentes aos tipos de encapsulamento necessários. Ele pode selecionar sinalizadores do seguinte:

Valor Significado
NDIS_ENCAPSULATION_TYPE_GRE_MAC
0x00000001
Especifica o encapsulamento GRE MAC (NVGRE).
NDIS_ENCAPSULATION_TYPE_VXLAN
0x00000002
Especifica o encapsulamento VXLAN.

EncapsulationProtocolParameters

Uma união que descreve os parâmetros de encapsulamento para encapsulamento VXLAN.

Se o driver de miniporto anunciou VxlanUDPPortNumerConfigurable como TRUE, um driver de protocolo poderá definir EncapsulationProtocolParameters.VxlanParameters.VxlanUDPPortNumber como um valor não 0. O driver de minport deve usar esse número de porta para correspondência e geração de quadros VXLAN após o sucesso do OID e também anunciar o valor atualizado em seus recursos. Se o driver de protocolo passar um valor de 0, o driver de miniporte continuará a usar o número da porta inicializado do palavra-chave padronizado.

EncapsulationProtocolParameters.VxlanParameters

Uma estrutura que contém o VxlanUDPPortNumber.

EncapsulationProtocolParameters.VxlanParameters.VxlanUDPPortNumber

O valor da porta de destino VXLAN. Esse valor é definido como o valor atribuído por IANA de 4789 por padrão. Se o driver de miniporto der suporte a um número de porta configurável conforme anunciado na estrutura NDIS_OFFLOAD , um driver de protocolo poderá emitir um OID OID_TCP_OFFLOAD_PARAMETERS para habilitar NDIS_ENCAPSULATION_TYPE_VXLAN com um valor diferente em VxlanUDPPortNumber. O driver de miniporto deve usar VxlanUDPPortNumber para determinar pacotes encapsulados de VXLAN para executar descarregamentos de recebimento.

EncapsulationProtocolParameters.Value

O valor da porta se EncapsulationTypes não estiver definido como NDIS_ENCAPSULATION_TYPE_VXLAN.

_ENCAPSULATION_PROTOCOL_PARAMETERS

O nome do tipo para EncapsulationProtocolParameters.

UdpSegmentation

Uma estrutura que descreve as configurações uso (descarregamento de segmentação UDP) do adaptador de miniport.

UdpSegmentation.IPv4

A configuração uso (descarregamento de segmentação UDP) IPv4 do adaptador de miniporto. Essa configuração deve ser um dos seguintes valores:

Valor Significado
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE
0
O driver de miniporte não deve alterar a configuração atual.
NDIS_OFFLOAD_PARAMETERS_UDP_SEG_DISABLED
1
USO está desabilitado.
NDIS_OFFLOAD_PARAMETERS_UDP_SEG_ENABLED
2
USO está habilitado.

UdpSegmentation.IPv6

A configuração uso (descarregamento de segmentação UDP) IPv6 do adaptador de miniport. Essa configuração deve ser um dos seguintes valores:

Valor Significado
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE
0
O driver de miniporte não deve alterar a configuração atual.
NDIS_OFFLOAD_PARAMETERS_UDP_SEG_DISABLED
1
USO está desabilitado.
NDIS_OFFLOAD_PARAMETERS_UDP_SEG_ENABLED
2
USO está habilitado.

Comentários

Em resposta a uma solicitação OID_TCP_OFFLOAD_PARAMETERS conjunto de OID, um driver de miniporto usa as configurações na estrutura NDIS_OFFLOAD_PARAMETERS para definir a configuração atual do adaptador de miniport.

O NDIS mantém as configurações solicitadas no registro nas palavras-chave padronizadas de descarregamento. Quando o NDIS reinicia o adaptador de miniporto, o driver de miniporto lê as palavras-chave padronizadas de descarregamento e as usa para definir a configuração de descarregamento padrão da NIC.

Para acessar as configurações de descarregamento de soma de verificação, use os seguintes membros da estrutura NDIS_OFFLOAD_PARAMETERS :

IPv4Checksum

TCPIPv4Checksum

UDPIPv4Checksum

TCPIPv6Checksum

UDPIPv6Checksum

Os membros anteriores podem ter um dos seguintes valores:

NDIS_OFFLOAD_PARAMETERS_NO_CHANGE
O driver de miniporte não deve alterar a configuração atual.

NDIS_OFFLOAD_PARAMETERS_TX_RX_DISABLED
O recurso especificado pelo membro está desabilitado.

NDIS_OFFLOAD_PARAMETERS_TX_ENABLED_RX_DISABLED
O recurso especificado pelo membro está habilitado para transmissão e desabilitado para recebimento.

NDIS_OFFLOAD_PARAMETERS_RX_ENABLED_TX_DISABLED
O recurso especificado pelo membro está habilitado para recebimento e desabilitado para transmissão.

NDIS_OFFLOAD_PARAMETERS_TX_RX_ENABLED
O recurso especificado pelo membro está habilitado para transmissão e recebimento.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista com suporte no NDIS 6.0 e posterior.
Servidor mínimo com suporte Windows Server 2008
Cabeçalho ntddndis.h (inclua Ndis.h)

Confira também

NDIS_OBJECT_HEADER

OID_TCP_OFFLOAD_HARDWARE_CAPABILITIES

OID_TCP_OFFLOAD_PARAMETERS