estrutura NDIS_RECEIVE_HASH_PARAMETERS (ntddndis.h)

A estrutura NDIS_RECEIVE_HASH_PARAMETERS especifica os parâmetros de hash de recebimento para um adaptador de miniporto que dá suporte a cálculos de hash de recebimento.

Sintaxe

typedef struct _NDIS_RECEIVE_HASH_PARAMETERS {
  NDIS_OBJECT_HEADER Header;
  ULONG              Flags;
  ULONG              HashInformation;
  USHORT             HashSecretKeySize;
  ULONG              HashSecretKeyOffset;
} NDIS_RECEIVE_HASH_PARAMETERS, *PNDIS_RECEIVE_HASH_PARAMETERS;

Membros

Header

A estrutura NDIS_OBJECT_HEADER para a estrutura de NDIS_RECEIVE_HASH_PARAMETERS. Defina o membro Type da estrutura especificada por Header como NDIS_OBJECT_TYPE_DEFAULT, o membro Revision como NDIS_RECEIVE_HASH_PARAMETERS_REVISION_1 e o membro Size como NDIS_SIZEOF_RECEIVE_HASH_PARAMETERS_REVISION_1.

Flags

Um valor USHORT que indica o que o driver de miniporto deve fazer com os parâmetros de hash. O driver de miniporte pode usar esses sinalizadores para determinar rapidamente quais parâmetros foram alterados e atualizar as configurações de hash adequadamente.

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

NDIS_RECEIVE_HASH_FLAG_ENABLE_HASH

Se esse sinalizador estiver definido, habilite o cálculo de valores de hash em quadros recebidos e coloque o valor de hash calculado nas informações do OOB NetBufferListHashValue na estrutura NET_BUFFER_LIST.

Se esse sinalizador estiver claro, desabilite o cálculo de valores de hash em quadros recebidos.

Se o cálculo de hash de recebimento estiver habilitado, o driver de miniporte deverá definir esse sinalizador; caso contrário, esse sinalizador deve ser claro.

NDIS_RECEIVE_HASH_FLAG_HASH_INFO_UNCHANGED

O membro HashInformation não foi alterado. As informações de hash incluem os tipos de hash e a função de hash.

Se esse sinalizador for definido, o membro HashInformation da estrutura NDIS_RECEIVE_HASH_PARAMETERS deverá ser ignorado.

Se esse sinalizador for limpo, o membro HashInformation conterá um novo valor que o driver de miniporto deve usar para calcular valores de hash em quadros recebidos.

NDIS_RECEIVE_HASH_FLAG_HASH_KEY_UNCHANGED

A chave secreta e os membros de dados associados não foram alterados.

Se esse sinalizador estiver definido, a chave secreta e os membros de dados associados deverão ser ignorados.

Se esse sinalizador for limpo, a chave secreta ou os membros de dados associados foram alterados e o driver de miniporto deverá usar as novas informações.

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

HashInformation

Em uma solicitação definida, 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.

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

Drivers e NDIS em excesso podem usar o NDIS_RSS_HASH_INFO_FROM_TYPE_AND_FUNC macro 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 miniporte podem usar o NDIS_RSS_HASH_TYPE_FROM_HASH_INFO macro para obter o tipo de hash de HashInformation e o NDIS_RSS_HASH_FUNC_FROM_HASH_INFO macro para obter a função de hash.

HashSecretKeySize

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

HashSecretKeyOffset

O deslocamento da matriz de chaves secretas da função de hash desde o início da estrutura NDIS_RECEIVE_HASH_PARAMETERS. Use esse deslocamento para obter a chave secreta de 320 bits (40 bytes).

Em uma solicitação definida, a chave secreta pode conter todos os dados escolhidos pelo driver sobressocida.

Em uma solicitação de consulta, a chave secreta contém os dados que a NIC está usando.

Comentários

A estrutura NDIS_RECEIVE_HASH_PARAMETERS define os parâmetros de hash para o OID OID_GEN_RECEIVE_HASH .

Nota Os drivers de protocolo devem desabilitar os cálculos de hash de recebimento antes de habilitar o RSS. Se o RSS estiver habilitado, um driver de protocolo desabilita o RSS antes de habilitar o recebimento de cálculos de hash. Um driver de miniporte deverá falhar em uma solicitação para habilitar cálculos de hash de recebimento ou RSS se o outro serviço estiver habilitado no momento.
 
Nota A chave secreta é acrescentada após os membros da estrutura NDIS_RECEIVE_HASH_PARAMETERS.
 

Requisitos

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

Confira também

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

NET_BUFFER_LIST

OID_GEN_RECEIVE_HASH