Определение возможностей RSC сетевого адаптера

Драйвер мини-порта с поддержкой объединения сегментов получения (RSC) сообщает о своих возможностях RSC с помощью структуры NDIS_OFFLOAD , которую он передает в NdisMSetMiniportAttributes.

Возможность создания отчетов RSC

В структуре NDIS_OFFLOAD элемент Header должен быть задан следующим образом:

  • Элемент редакции должен иметь значение NDIS_OFFLOAD_REVISION_3.
  • Элемент Size должен иметь значение NDIS_SIZEOF_NDIS_OFFLOAD_REVISION_3.

Чтобы сообщить о поддержке RSC, драйвер мини-порта может задать следующие элементы в структуре NDIS_TCP_RECV_SEG_COALESCE_OFFLOAD , которая хранится в элементе Rscструктуры NDIS_OFFLOAD :

  • Задайте для элемента IPv4.Enabledзначение TRUE , чтобы указать поддержку RSC для IPv4.

  • Задайте для элемента IPv6.Enabledзначение TRUE , чтобы указать поддержку RSC для IPv6.

Драйвер мини-порта должен поддерживать RSC по крайней мере для инкапсуляции IEEE 802.3. Кроме того, он может поддерживать RSC для любых других инкапсуляций. Если он не поддерживает RSC для некоторой инкапсуляции и получает пакеты этой инкапсуляции, драйвер должен указать пакеты в стеке в обычном режиме.

Возможность запроса RSC

Чтобы определить, поддерживает ли драйвер мини-порта RSC, драйверы протокола и другие драйверы могут отправить запрос OID OID_TCP_OFFLOAD_HARDWARE_CAPABILITIES , который вернет NDIS_OFFLOAD структуру.