estrutura NDIS_RECEIVE_SCALE_PARAMETERS_V2 (ntddndis.h)

Aviso

Algumas informações neste tópico estão relacionadas ao produto pré-relacionado, que pode ser substancialmente modificado antes de ser lançado comercialmente. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.

O RSSv2 é visualizado apenas em Windows 10, versão 1803.

A estrutura NDIS_RECEIVE_SCALE_PARAMETERS_V2 especifica os parâmetros RSS (Receive Side Scaling) para um adaptador de miniporta que anuncia suporte para RSS Versão 2 (RSSv2). Ele é usado no OID do OID_GEN_RECEIVE_SCALE_PARAMETERS_V2 .

Sintaxe

typedef struct _NDIS_RECEIVE_SCALE_PARAMETERS_V2 {
  NDIS_OBJECT_HEADER Header;
  ULONG              Flags;
  ULONG              HashInformation;
  ULONG              HashSecretKeySize;
  ULONG              HashSecretKeyOffset;
  ULONG              NumberOfQueues;
  ULONG              NumberOfIndirectionTableEntries;
} NDIS_RECEIVE_SCALE_PARAMETERS_V2, *PNDIS_RECEIVE_SCALE_PARAMETERS_V2;

Membros

Header

A estrutura NDIS_OBJECT_HEADER para a estrutura NDIS_RECEIVE_SCALE_PARAMETERS_V2 . Defina o membro Type da estrutura especificada por Header como NDIS_OBJECT_TYPE_RSS_PARAMETERS_V2.

Para drivers NDIS 6.80 e posteriores, defina o membro Revision como NDIS_RECEIVE_SCALE_PARAMETERS_V2_REVISION_1 e o membro Size como sizeof(NDIS_RECEIVE_SCALE_PARAMETERS_V2).

Flags

Um valor ULONG que indica quais parâmetros estão sendo alterados. O driver pode usar esses sinalizadores para determinar rapidamente quais parâmetros foram alterados e atualizar as configurações do RSS adequadamente.

Em uma solicitação de consulta, defina esse membro como zero.

Em uma solicitação definida, os sinalizadores são definidos da seguinte maneira:

Valor Significado
NDIS_RECEIVE_SCALE_PARAM_ENABLE_RSS
Um valor de 1 indica que o RSS está habilitado para o objeto especificado. O driver de miniporta precisa examinar outros parâmetros.

Um valor 0 indica que o RSS está desabilitado para o objeto especificado. Os parâmetros NumberOfQueues e NumberOfIndirectionTableEntries podem ser alterados quando o RSS está desabilitado. Outros parâmetros como HashInformation e HashKey devem ser ignorados quando o RSS está desabilitado.

NDIS_RECEIVE_SCALE_PARAM_HASH_INFO_CHANGED
O valor do parâmetro HashInformation foi alterado.
NDIS_RECEIVE_SCALE_PARAM_HASH_KEY_CHANGED
O conteúdo do membro HashSecretKey foi alterado.
NDIS_RECEIVE_SCALE_PARAM_NUMBER_OF_QUEUES_CHANGED
O número de filas por VPort foi alterado.
NDIS_RECEIVE_SCALE_PARAM_NUMBER_OF_ENTRIES_CHANGED
O número de entradas na tabela de indireção foi alterado.

HashInformation

Em uma solicitação definida, esse membro é o tipo de hash e a função de hash que a NIC deve usar para calcular os valores de hash para os pacotes de entrada. Se a função de hash especificada dentro do membro HashInformation for zero, o RSS será desabilitado.

Em uma solicitação de consulta, esse membro é o tipo de hash e a função de hash que a NIC está usando.

Drivers e NDIS em excesso podem usar a macro NDIS_RSS_HASH_INFO_FROM_TYPE_AND_FUNC para combinar o tipo de hash e a função de hash em informações de hash e definir o membro HashInformation .

Os drivers de miniport podem usar a macro NDIS_RSS_HASH_TYPE_FROM_HASH_INFO para obter o tipo de hash de HashInformation e a macro NDIS_RSS_HASH_FUNC_FROM_HASH_INFO para obter a função de hash.

Esse parâmetro pode ser alterado ao mesmo tempo em que o RSS está habilitado ou posteriormente.

HashSecretKeySize

O tamanho da matriz de chaves secretas da função de hash, em bytes. O tamanho da matriz é de 40 bytes para NdisHashFunctionToeplitz.

Esse parâmetro pode ser alterado ao mesmo tempo em que o RSS está habilitado ou posteriormente.

HashSecretKeyOffset

O deslocamento, em bytes, da chave secreta de hash.

Esse parâmetro pode ser alterado ao mesmo tempo em que o RSS está habilitado ou posteriormente.

NumberOfQueues

O número máximo de filas para a entidade de dimensionamento. Esse parâmetro é um alias para a variável NUM_QUEUE_PAIRS da estrutura NDIS_NIC_SWITCH_VPORT_PARAMETERS , que também pode ser consultada ou definida por meio do OID_NIC_SWITCH_VPORT_PARAMETERS OID. Ele pode ser alterado quando o RSS está habilitado ou desabilitado.

NumberOfIndirectionTableEntries

O número de ITEs (entradas de tabela de indireção) para a entidade de dimensionamento. Esse valor é uma potência de dois e não excede os recursos do adaptador correspondente. Ele pode ser alterado no antes que o RSS seja habilitado ou posteriormente.

Novos valores para esse parâmetro também são uma potência de dois e excedem as funcionalidades do adaptador. Quando esse número é aumentado, o driver de miniporto deve clonar a tabela de indireção atual nos novos ITEs quantas vezes forem necessárias (isso é possível devido à restrição de potência de dois). Quando esse número é reduzido, a camada superior garante que a parte da tabela de indireção que está sendo removida contenha réplicas exatas da parte restante.

Requisitos

Requisito Valor
Cliente mínimo com suporte Com suporte no NDIS 6.80 e posterior.
Cabeçalho ntddndis.h (inclua Ndis.h)

Confira também

NDIS_NIC_SWITCH_VPORT_PARAMETERS

NDIS_OBJECT_HEADER

NDIS_RSS_HASH_FUNC_FROM_HASH_INFO

NDIS_RSS_HASH_INFO_FROM_TYPE_AND_FUNC

NDIS_RSS_HASH_TYPE_FROM_HASH_INFO

OID_GEN_RECEIVE_SCALE_PARAMETERS_V2

OID_NIC_SWITCH_VPORT_PARAMETERS

RSS Versão 2 (RSSv2)