Condividi tramite


struttura NDIS_RECEIVE_HASH_PARAMETERS (ntddndis.h)

La struttura NDIS_RECEIVE_HASH_PARAMETERS specifica i parametri hash di ricezione per un adattatore miniport che supporta i calcoli hash di ricezione.

Sintassi

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;

Membri

Header

Struttura NDIS_OBJECT_HEADER per la struttura NDIS_RECEIVE_HASH_PARAMETERS. Impostare il membro Type della struttura che Header specifica su NDIS_OBJECT_TYPE_DEFAULT, il membro Revision su NDIS_RECEIVE_HASH_PARAMETERS_REVISION_1 e il membro Size su NDIS_SIZEOF_RECEIVE_HASH_PARAMETERS_REVISION_1.

Flags

Valore USHORT che indica le operazioni che il driver miniport deve eseguire con i parametri hash. Il driver miniport può usare questi flag per determinare rapidamente quali parametri sono stati modificati e aggiornare le impostazioni hash di conseguenza.

In una richiesta set, i flag vengono definiti come segue:

NDIS_RECEIVE_HASH_FLAG_ENABLE_HASH

Se questo flag è impostato, abilitare il calcolo dei valori hash nei fotogrammi ricevuti e posizionare il valore hash calcolato nella NetBufferListHashValue informazioni OOB nella struttura NET_BUFFER_LIST.

Se questo flag è chiaro, disabilitare il calcolo dei valori hash nei fotogrammi ricevuti.

Se il calcolo hash di ricezione è abilitato, il driver miniport deve impostare questo flag; in caso contrario, questo flag deve essere chiaro.

NDIS_RECEIVE_HASH_FLAG_HASH_INFO_UNCHANGED

Il membro HashInformation non è stato modificato. Le informazioni hash includono i tipi hash e la funzione hash.

Se questo flag è impostato, il membro HashInformation della struttura NDIS_RECEIVE_HASH_PARAMETERS deve essere ignorato.

Se questo flag viene cancellato, il membro HashInformation contiene un nuovo valore che il driver miniport deve usare per calcolare i valori hash nei fotogrammi ricevuti.

NDIS_RECEIVE_HASH_FLAG_HASH_KEY_UNCHANGED

La chiave privata e i membri dati associati non sono stati modificati.

Se questo flag è impostato, la chiave privata e i membri dati associati devono essere ignorati.

Se questo flag viene cancellato, la chiave privata o i membri dati associati sono stati modificati e il driver miniport deve usare le nuove informazioni.

In una richiesta di query i flag sono definiti come segue:

HashInformation

In una richiesta set, il tipo hash e la funzione hash che la scheda di interfaccia di rete deve usare per calcolare i valori hash per i pacchetti in ingresso.

In una richiesta di query il tipo hash e la funzione hash usata dalla scheda di interfaccia di rete.

Gli overlying driver e NDIS possono usare NDIS_RSS_HASH_INFO_FROM_TYPE_AND_FUNC macro per combinare il tipo hash e la funzione hash in informazioni hash e impostare il membro HashInformation.

I driver Miniport possono usare il NDIS_RSS_HASH_TYPE_FROM_HASH_INFO macro per ottenere il tipo hash da HashInformation e NDIS_RSS_HASH_FUNC_FROM_HASH_INFO macro per ottenere la funzione hash.

HashSecretKeySize

Dimensioni della matrice di chiavi segrete della funzione hash, in byte. La dimensione della matrice è di 40 byte per NdisHashFunctionToeplitz.

HashSecretKeyOffset

Offset della matrice di chiavi segrete della funzione hash dall'inizio della struttura NDIS_RECEIVE_HASH_PARAMETERS. Usare questo offset per ottenere la chiave privata a 320 bit (40 byte).

In una richiesta impostata, la chiave privata può contenere tutti i dati scelti dal driver di overlying.

In una richiesta di query la chiave privata contiene i dati usati dalla scheda di interfaccia di rete.

Osservazioni

La struttura NDIS_RECEIVE_HASH_PARAMETERS definisce i parametri hash per l'OID OID_GEN_RECEIVE_HASH.

Nota Driver del protocollo devono disabilitare i calcoli hash prima di abilitare RSS. Se RSS è abilitato, un driver di protocollo disabilita RSS prima di abilitare i calcoli hash di ricezione. Un driver miniport deve non riuscire una richiesta per abilitare i calcoli hash di ricezione o RSS se l'altro servizio è attualmente abilitato.
 
Nota La chiave privata viene aggiunta dopo i membri della struttura NDIS_RECEIVE_HASH_PARAMETERS.
 

Fabbisogno

Requisito Valore
client minimo supportato Supportato in NDIS 6.0 e versioni successive.
intestazione ntddndis.h (include Ndis.h)

Vedere anche

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