NDIS_RECEIVE_HASH_PARAMETERS struttura (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;

Members

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 cosa deve fare il driver miniport con i parametri hash. Il driver miniport può usare questi flag per determinare rapidamente quali parametri sono stati modificati e aggiornare di conseguenza le impostazioni hash.

In una richiesta impostata i flag sono definiti come segue:

NDIS_RECEIVE_HASH_FLAG_ENABLE_HASH

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

Se questo flag è deselezionato, 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 dei dati associati devono essere ignorati.

Se questo flag viene cancellato, la chiave privata o i membri dei 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 impostata, 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.

I driver di overlying 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 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. Le dimensioni della matrice sono 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 overlying.

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

Commenti

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

Nota I driver di 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. Un driver miniport deve non riuscire una richiesta per abilitare i calcoli hash o RSS se l'altro servizio è attualmente abilitato.
 
Nota La chiave privata viene aggiunta dopo i membri della struttura NDIS_RECEIVE_HASH_PARAMETERS.
 

Requisiti

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

Vedi 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