Указание данных получения RSS

Драйвер мини-порта указывает на полученные данные путем вызова функции NdisMIndicateReceiveNetBufferLists из функции MiniportInterruptDPC .

После того как сетевой адаптер успешно вычислит значение хэша RSS, драйвер должен сохранить тип хэша, хэш-функцию и хэш-значение в структуре NET_BUFFER_LIST с помощью следующих макросов:

NET_BUFFER_LIST_SET_HASH_TYPE

NET_BUFFER_LIST_SET_HASH_FUNCTION

NET_BUFFER_LIST_SET_HASH_VALUE

Тип хэша определяет область полученного пакета, по которому должен быть рассчитан хэш. Дополнительные сведения о типе хэша см. в разделе Типы хэширования RSS. Функция хэширования идентифицирует функцию, которая используется для вычисления хэш-значения. Дополнительные сведения о функциях хэширования см. в разделе Функции хэширования RSS. Драйвер протокола выбирает тип хэша и функцию при инициализации. Дополнительные сведения см. в разделе Конфигурация RSS.

Если сетевой адаптер не может определить область пакета, указанную типом хэша, она не должна выполнять какие-либо вычисления или масштабирование хэша. В этом случае драйвер мини-порта или сетевой адаптер должен назначить полученные данные ЦП по умолчанию.

Если в сетевой адаптере заканчивается буфер приема, каждый буфер должен возвращаться сразу после возврата исходного получающего DPC. Драйвер мини-порта может указать полученные данные с состоянием NDIS_STATUS_RESOURCES. В этом случае перележающий драйвер должен пройти медленный путь копирования дескрипторов буфера и немедленного отказа от владения исходным.

Дополнительные сведения о получении сетевых данных см. в разделе Получение сетевых данных.