Compartir a través de


estructura NDIS_RECEIVE_HASH_PARAMETERS (ntddndis.h)

La estructura NDIS_RECEIVE_HASH_PARAMETERS especifica los parámetros hash de recepción para un adaptador de miniporte que admite cálculos hash de recepción.

Sintaxis

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;

Miembros

Header

Estructura NDIS_OBJECT_HEADER para la estructura de NDIS_RECEIVE_HASH_PARAMETERS. Establezca el miembro Type de la estructura que Header especifica para NDIS_OBJECT_TYPE_DEFAULT, el miembro Revision en NDIS_RECEIVE_HASH_PARAMETERS_REVISION_1 y el miembro Size en NDIS_SIZEOF_RECEIVE_HASH_PARAMETERS_REVISION_1.

Flags

Valor de USHORT que indica lo que debe hacer el controlador de minipuerto con los parámetros hash. El controlador de minipuerto puede usar estas marcas para determinar rápidamente qué parámetros han cambiado y actualizar la configuración de hash en consecuencia.

En una solicitud set, las marcas se definen de la siguiente manera:

NDIS_RECEIVE_HASH_FLAG_ENABLE_HASH

Si se establece esta marca, habilite el cálculo de valores hash en los fotogramas recibidos y coloque el valor hash calculado en la información de OOB NetBufferListHashValue en la estructura NET_BUFFER_LIST.

Si esta marca está desactivada, deshabilite el cálculo de valores hash en fotogramas recibidos.

Si el cálculo hash de recepción está habilitado, el controlador de minipuerto debe establecer esta marca; de lo contrario, esta marca debe estar clara.

NDIS_RECEIVE_HASH_FLAG_HASH_INFO_UNCHANGED

El miembro HashInformation no ha cambiado. La información hash incluye los tipos hash y la función hash.

Si se establece esta marca, se debe omitir el miembro HashInformation de la estructura NDIS_RECEIVE_HASH_PARAMETERS.

Si se borra esta marca, el miembro HashInformation contiene un nuevo valor que el controlador de miniporte debe usar para calcular los valores hash en los fotogramas recibidos.

NDIS_RECEIVE_HASH_FLAG_HASH_KEY_UNCHANGED

La clave secreta y los miembros de datos asociados no han cambiado.

Si se establece esta marca, se deben omitir la clave secreta y los miembros de datos asociados.

Si se borra esta marca, la clave secreta o los miembros de datos asociados han cambiado y el controlador de miniporte debe usar la nueva información.

En una solicitud de consulta, las marcas se definen de la siguiente manera:

HashInformation

En una solicitud set, el tipo hash y la función hash que la NIC debe usar para calcular los valores hash de los paquetes entrantes.

En una solicitud de consulta, el tipo hash y la función hash que usa la NIC.

El uso excesivo de controladores y NDIS puede usar NDIS_RSS_HASH_INFO_FROM_TYPE_AND_FUNC macro para combinar el tipo hash y la función hash en información hash y establecer el miembro HashInformation .

Los controladores de minipuerto pueden usar el NDIS_RSS_HASH_TYPE_FROM_HASH_INFO macro para obtener el tipo hash de HashInformation y NDIS_RSS_HASH_FUNC_FROM_HASH_INFO macro para obtener la función hash.

HashSecretKeySize

Tamaño de la matriz de claves secretas de la función hash, en bytes. El tamaño de la matriz es de 40 bytes para NdisHashFunctionToeplitz.

HashSecretKeyOffset

Desplazamiento de la matriz de claves secretas de la función hash desde el principio de la estructura NDIS_RECEIVE_HASH_PARAMETERS. Use este desplazamiento para obtener la clave secreta de 320 bits (40 bytes).

En una solicitud set, la clave secreta puede contener cualquier dato que elija el controlador de sobreaprovisionamiento.

En una solicitud de consulta, la clave secreta contiene los datos que usa la NIC.

Comentarios

La estructura NDIS_RECEIVE_HASH_PARAMETERS define los parámetros hash para el OID de OID_GEN_RECEIVE_HASH .

Nota Los controladores de protocolo deben deshabilitar los cálculos hash de recepción antes de habilitar RSS. Si RSS está habilitado, un controlador de protocolo deshabilita RSS antes de habilitar los cálculos hash de recepción. Un controlador de minipuerto debe producir un error en una solicitud para habilitar los cálculos hash de recepción o RSS si el otro servicio está habilitado actualmente.
 
Nota La clave secreta se anexa después de los miembros de la estructura NDIS_RECEIVE_HASH_PARAMETERS.
 

Requisitos

Requisito Value
Cliente mínimo compatible Se admite en NDIS 6.0 y versiones posteriores.
Encabezado ntddndis.h (include Ndis.h)

Consulte también

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