Compartilhar via


Indicando que o RSS recebe dados

Um driver de miniporta indica os dados recebidos chamando a função NdisMIndicateReceiveNetBufferLists de sua função MiniportInterruptDPC .

Depois que a NIC calcular o valor de hash RSS com êxito, o driver deverá armazenar o tipo de hash, a função de hash e o valor de hash na estrutura NET_BUFFER_LIST com as seguintes macros:

NET_BUFFER_LIST_SET_HASH_TYPE

NET_BUFFER_LIST_SET_HASH_FUNCTION

NET_BUFFER_LIST_SET_HASH_VALUE

O tipo de hash identifica a área do pacote recebido sobre a qual o hash deve ser calculado. Para obter mais informações sobre o tipo de hash, consulte Tipos de hash RSS. A função de hash identifica a função usada para calcular o valor de hash. Para obter mais informações sobre funções de hash, consulte Funções de hash RSS. O driver de protocolo seleciona o tipo de hash e a função na inicialização. Para obter mais informações, consulte Configuração do RSS.

Se a NIC não conseguir identificar a área do pacote especificada pelo tipo de hash, ela não deverá fazer nenhuma computação ou dimensionamento de hash. Nesse caso, o driver de miniporto ou NIC deve atribuir os dados recebidos à CPU padrão.

Se a NIC ficar sem buffers de recebimento, cada buffer deverá ser retornado assim que o DPC de recebimento original retornar. O driver de miniporta pode indicar os dados recebidos com um status de NDIS_STATUS_RESOURCES. Nesse caso, o driver de sobreposição precisa passar por um caminho lento de copiar os descritores de buffer e renunciar à propriedade do original imediatamente.

Para obter mais informações sobre como receber dados de rede, consulte Recebendo dados de rede.