Compartilhar via


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;
  struct {
    UCHAR Enabled;
  } UdpRsc;
} NDIS_OFFLOAD_PARAMETERS, *PNDIS_OFFLOAD_PARAMETERS;

Membros

Header

A estrutura NDIS_OBJECT_HEADER para a estrutura de 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_6
6
Dá suporte ao membro UdpRsc para NDIS 6.89. Defina o membro Size como NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_6.
NDIS_OFFLOAD_PARAMETERS_REVISION_5
5
Dá suporte à UdpSegmentation para IPv4 e IPv6 para NDIS 6.83. Defina o membro Size como NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_5.
NDIS_OFFLOAD_PARAMETERS_REVISION_4
4
Dá suporte aos EncapsulationProtocolParameters e seus VxlanParameters aninhados para NDIS 6.50. Defina o membro Size como NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_4.
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 estã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 miniporta não deve alterar a configuração atual.

Flags

Um conjunto de sinalizadores que podem ser combinados com uma operação OR bit a bit. Defina esse membro como zero ou o seguinte valor:

Valor Significado
NDIS_OFFLOAD_PARAMETERS_SKIP_REGISTRY_UPDATE
0x00000001
Permite que o URO (descarregamento de união de segmento de recebimento) UDP seja desabilitado somente em runtime. As alterações feitas com esse sinalizador não são salvas no registro.

IPsecV2

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

Valor Significado
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE O driver de miniporta 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) versão 2 do descarregamento IPsec deve ser habilitado para transmissão e recebimento.
NDIS_OFFLOAD_PARAMETERS_IPSECV2_ESP_ENABLED O recurso ESP (encapsulamento de 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 2 AH e ESP estão habilitados para transmissão e recebimento.

IPsecV2IPv4

A configuração de descarregamento de IPsec (segurança de protocolo de Internet) versão 2 de um adaptador de miniporta 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 miniporta 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) versão 2 do descarregamento IPsec deve ser habilitado para transmissão e recebimento.
NDIS_OFFLOAD_PARAMETERS_IPSECV2_ESP_ENABLED O recurso ESP (encapsulamento de 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 2 AH 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 não foi alterado.
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 não foi alterado.
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:

Observação: 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 tarefas NVGRE e VXLAN.
NDIS_OFFLOAD_SET_OFF
2
Desabilita os descarregamentos de tarefa NVGRE e VXLAN.

EncapsulationTypes

Esse campo só é eficaz quando EncapsulatedPacketTaskOffload é 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 como 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 diferente de 0. O driver de miniporta 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 miniporta 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 pela IANA de 4789 por padrão. Se o driver de miniporta der suporte a um número de porta configurável conforme anunciado na estrutura de 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 miniporta 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 do 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 O driver de miniporte não deve alterar a configuração atual.
NDIS_OFFLOAD_PARAMETERS_UDP_SEG_DISABLED USO está desabilitado.
NDIS_OFFLOAD_PARAMETERS_UDP_SEG_ENABLED 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 O driver de miniporte não deve alterar a configuração atual.
NDIS_OFFLOAD_PARAMETERS_UDP_SEG_DISABLED USO está desabilitado.
NDIS_OFFLOAD_PARAMETERS_UDP_SEG_ENABLED USO está habilitado.

UdpRsc

Uma estrutura que descreve as configurações do URO (Descarregamento de Recebimento de Segmento de Recebimento) do adaptador de miniport.

UdpRsc.Enabled

A configuração URO do adaptador de miniport. Essa configuração deve ser um dos seguintes valores:

Valor Significado
NDIS_OFFLOAD_PARAMETERS_UDP_RSC_NO_CHANGE
0
O driver de miniporte não deve alterar a configuração atual.
NDIS_OFFLOAD_PARAMETERS_UDP_RSC_DISABLED
1
O URO está desabilitado.
NDIS_OFFLOAD_PARAMETERS_UDP_RSC_ENABLED
2
O URO 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