NDIS_RECEIVE_SCALE_CAPABILITIES estrutura (ntddndis.h)
A estrutura de NDIS_RECEIVE_SCALE_CAPABILITIES especifica os recursos de do RSS (dimensionamento lateral de recebimento) de um adaptador de miniporto.
Sintaxe
typedef struct _NDIS_RECEIVE_SCALE_CAPABILITIES {
NDIS_OBJECT_HEADER Header;
NDIS_RSS_CAPS_FLAGS CapabilitiesFlags;
ULONG NumberOfInterruptMessages;
ULONG NumberOfReceiveQueues;
USHORT NumberOfIndirectionTableEntries;
} NDIS_RECEIVE_SCALE_CAPABILITIES, *PNDIS_RECEIVE_SCALE_CAPABILITIES;
Membros
Header
A estrutura NDIS_OBJECT_HEADER para a estrutura NDIS_RECEIVE_SCALE_CAPABILITIES. Defina o membro tipo da estrutura que de Cabeçalho especifica para NDIS_OBJECT_TYPE_RSS_CAPABILITIES.
Para o NDIS 6.60 e posterior, defina o membro de Revisão como NDIS_RECEIVE_SCALE_CAPABILITIES_REVISION_3 e o membro tamanho como NDIS_SIZEOF_RECEIVE_SCALE_CAPABILITIES_REVISION_3.
Para o NDIS 6.30 e posterior, defina o membro de Revisão como NDIS_RECEIVE_SCALE_CAPABILITIES_REVISION_2 e o membro tamanho do como NDIS_SIZEOF_RECEIVE_SCALE_CAPABILITIES_REVISION_2.
Para NDIS 6.0, 6.1 e 6.20, defina o membro de Revisão de como NDIS_RECEIVE_SCALE_CAPABILITIES_REVISION_1 e o membro tamanho como NDIS_SIZEOF_RECEIVE_SCALE_CAPABILITIES_REVISION_1.
CapabilitiesFlags
Uma máscara de bits de sinalizadores que especifica os recursos do RSS da NIC. O driver de miniporto pode especificar os seguintes sinalizadores:
Valor | Significado |
---|---|
|
Defina esse sinalizador se a NIC der suporte a MSIs (interrupções sinalizadas por mensagem). Esse sinalizador indica que a NIC pode gerar uma interrupção separada para cada CPU depois de enfileirar os pacotes atribuídos a essa CPU. |
|
Defina esse sinalizador se a NIC puder indicar para a função MiniportInterrupt que as CPUs de destino enfileiraram pacotes recebidos. |
|
Defina esse sinalizador se a NIC estiver usando MSIs (interrupções sinalizadas por mensagem). Esse sinalizador tem suporte no NDIS 6.20 e posterior. |
|
Defina esse sinalizador se a NIC der suporte à configuração independente do RSS de portas. Esse sinalizador tem suporte no NDIS 6.30 e posterior. |
|
Defina esse sinalizador se a NIC der suporte a MSIs. Esse sinalizador tem suporte no NDIS 6.30 e posterior. |
|
Defina esse sinalizador se o driver de miniporto puder detectar quais CPUs de destino enfileiraram pacotes de recebimento de sua função MiniportInterruptDPC. |
|
Defina esse sinalizador se a NIC puder identificar um pacote IPv4 (com ou sem opções). Além disso, a NIC dá suporte ao cálculo do valor de hash sobre os campos de cabeçalho IPv4 e campos de cabeçalho TCP. |
|
Defina esse sinalizador se a NIC puder identificar um pacote IPv6 e calcular um valor de hash em campos em um pacote IPv6. A NIC deve ser capaz de calcular um valor de hash sobre campos no cabeçalho IPv6 básico e sobre campos no cabeçalho TCP. Use esse sinalizador se a NIC não puder calcular um valor de hash em campos localizados em cabeçalhos de extensão IPv6. |
|
Defina esse sinalizador se a NIC puder identificar um pacote IPv6 e calcular um valor de hash em campos em um pacote IPv6 que contenha cabeçalhos de extensão IPv6. A NIC pode calcular um valor de hash em campos no cabeçalho IPv6 básico, cabeçalhos de extensão IPv6 e cabeçalho TCP. A NIC deve ser capaz de calcular valores de hash em campos na opção de endereço residencial e o cabeçalho de roteamento tipo 2 nos cabeçalhos de extensão IPv6. |
|
Defina esse sinalizador se a NIC puder identificar um pacote IPv4, com ou sem opções, e se a NIC oferecer suporte ao cálculo do valor de hash sobre os campos de cabeçalho IPv4 e campos de cabeçalho UDP. |
|
Defina esse sinalizador se a NIC puder identificar um pacote IPv6 e calcular um valor de hash em campos em um pacote IPv6. A NIC deve ser capaz de calcular um valor de hash sobre campos no cabeçalho IPv6 básico e sobre campos no cabeçalho UDP. Use esse sinalizador se a NIC não puder calcular um valor de hash em campos localizados em cabeçalhos de extensão IPv6. |
|
Defina esse sinalizador se a NIC puder identificar um pacote IPv6 e calcular um valor de hash em campos em um pacote IPv6 que contenha cabeçalhos de extensão IPv6. A NIC pode calcular um valor de hash em campos no cabeçalho IPv6 básico, cabeçalhos de extensão IPv6 e o cabeçalho UDP. A NIC deve ser capaz de calcular valores de hash em campos na opção de endereço residencial e o cabeçalho de roteamento tipo 2 nos cabeçalhos de extensão IPv6. |
|
Defina esse sinalizador se a NIC der suporte à função de hash toeplitz. Se a NIC der suporte ao RSS, o suporte para a função de hash será obrigatório. Para obter mais informações sobre funções de hash, consulte NDIS_RSS_HASH_FUNC_FROM_HASH_INFO. |
|
Esse sinalizador é reservado para uso futuro. |
|
Esse sinalizador é reservado para uso futuro. |
|
Esse sinalizador é reservado para uso futuro. |
NumberOfInterruptMessages
O número de mensagens de interrupção que a NIC dá suporte se a NIC der suporte a MSIs. Se a NIC não der suporte a MSIs, mas oferecer suporte a interrupções baseadas em linha, defina esse número como 1.
NumberOfReceiveQueues
O número de filas de recebimento de hardware que a NIC dá suporte.
NumberOfIndirectionTableEntries
O número máximo de entradas que o driver de miniporto dá suporte na tabela de indireção. Esse valor deve ser uma potência de 2. Todos os adaptadores de miniporto NDIS 6.30 e posterior devem dar suporte a esse membro, o que é necessário para funções virtuais.
Observações
Drivers de sobreposição podem usar o OID_GEN_RECEIVE_SCALE_CAPABILITIES OID para consultar os recursos de RSS (dimensionamento lateral de recebimento) de uma NIC e seu driver de miniporto.
O driver de miniporto retorna as funcionalidades do RSS em uma estrutura NDIS_RECEIVE_SCALE_CAPABILITIES.
Para algumas cargas de trabalho, um subconjunto de pacotes UDP pode ser fragmentado devido a alterações de rota ou o remetente não está aderindo às limitações de MTU. Nesses casos raros, pacotes do mesmo fluxo podem ser indicados em processadores diferentes com base no hash de 4 tuplas ou de 2 tuplas. Portanto, os drivers de miniporto que anunciam NDIS_RSS_CAPS_HASH_TYPE_UDP_IPV4, NDIS_RSS_CAPS_HASH_TYPE_UDP_IPV6e NDIS_RSS_CAPS_HASH_TYPE_UDP_IPV6_EX devem fornecer uma maneira de desabilitar os recursos do UDP RSS por meio de Propriedades Avançadas.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Com suporte no NDIS 6.0 e posterior. |
cabeçalho | ntddndis.h (inclua Ndis.h) |