Indicación de datos de recepción RSS
Un controlador de minipuerto indica los datos recibidos mediante una llamada a la función NdisMIndicateReceiveNetBufferLists desde su función MiniportInterruptDPC .
Una vez que la NIC calcula correctamente el valor hash RSS, el controlador debe almacenar el tipo hash, la función hash y el valor hash en la estructura NET_BUFFER_LIST con las macros siguientes:
NET_BUFFER_LIST_SET_HASH_FUNCTION
NET_BUFFER_LIST_SET_HASH_VALUE
El tipo hash identifica el área del paquete recibido en el que se debe calcular el hash. Para obtener más información sobre el tipo hash, vea Tipos de hash RSS. La función hash identifica la función que se usa para calcular el valor hash. Para obtener más información sobre las funciones hash, consulte Funciones hash RSS. El controlador de protocolo selecciona el tipo hash y la función en la inicialización. Para obtener más información, consulte Configuración de RSS.
Si la NIC no identifica el área del paquete que especifica el tipo hash, no debe realizar ningún cálculo hash ni escalado. En este caso, el controlador de minipuerto o la NIC deben asignar los datos recibidos a la CPU predeterminada.
Si la NIC se queda sin búferes de recepción, cada búfer debe devolverse en cuanto se devuelva el DPC de recepción original. El controlador de minipuerto puede indicar los datos recibidos con un estado de NDIS_STATUS_RESOURCES. En este caso, el controlador de sobrescribir tiene que pasar por una ruta lenta de copia de los descriptores de búfer y renunciar a la propiedad del original inmediatamente.
Para obtener más información sobre cómo recibir datos de red, consulte Recepción de datos de red.