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) |