Indication des données de réception RSS
Un pilote miniport indique les données reçues en appelant la fonction NdisMIndicateReceiveNetBufferLists à partir de sa fonction MiniportInterruptDPC .
Une fois que la carte réseau a correctement calculé la valeur de hachage RSS, le pilote doit stocker le type de hachage, la fonction de hachage et la valeur de hachage dans la structure NET_BUFFER_LIST avec les macros suivantes :
NET_BUFFER_LIST_SET_HASH_FUNCTION
NET_BUFFER_LIST_SET_HASH_VALUE
Le type de hachage identifie la zone du paquet reçu sur lequel le hachage doit être calculé. Pour plus d’informations sur le type de hachage, consultez Types de hachage RSS. La fonction de hachage identifie la fonction utilisée pour calculer la valeur de hachage. Pour plus d’informations sur les fonctions de hachage, consultez Fonctions de hachage RSS. Le pilote de protocole sélectionne le type de hachage et la fonction lors de l’initialisation. Pour plus d’informations, consultez Configuration RSS.
Si la carte réseau ne parvient pas à identifier la zone du paquet que le type de hachage spécifie, elle ne doit pas effectuer de calcul de hachage ou de mise à l’échelle. Dans ce cas, le pilote miniport ou la carte réseau doit affecter les données reçues au processeur par défaut.
Si la carte réseau manque de mémoires tampons de réception, chaque mémoire tampon doit être retournée dès que la DPC de réception d’origine est retournée. Le pilote miniport peut indiquer les données reçues avec une status de NDIS_STATUS_RESOURCES. Dans ce cas, le pilote en surploie doit passer par un chemin lent de copie des descripteurs de mémoire tampon et abandonner immédiatement la propriété du pilote d’origine.
Pour plus d’informations sur la réception de données réseau, consultez Réception de données réseau.