Определение возможностей сетевого адаптера для разгрузки задач NVGRE
Мини-драйвер, поддерживающий виртуализацию сети с помощью функции "Инкапсуляция универсальной маршрутизации" (NVGRE) сообщает об этой возможности с помощью структуры NDIS_OFFLOAD, которая передает функцию MiniportInitializeEx в NdisMSetMiniportAttributes.
Отчет о возможности разгрузки задачи NVGRE
В структуре NDIS_OFFLOAD необходимо задать элемент заголовка следующим образом:
- Элемент редакции должен быть установлен в значение NDIS_OFFLOAD_REVISION_3.
- Элемент размера должен иметь значение NDIS_SIZEOF_NDIS_OFFLOAD_REVISION_3.
Чтобы сообщить о поддержке разгрузки задачи NVGRE, драйвер минипорта задает следующие члены в структуре NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD, которая хранится в EncapsulatedPacketTaskOffloadGre члена структуры NDIS_OFFLOAD, которую функция минипорт-драйвера MiniportInitializeEx передает в NdisMSetMiniportAttributes.
Задайте MaxHeaderSizeSupported в максимальный размер заголовка от начала пакета до начала внутризаголовка TCP или UDP (последний байт внутризаголовка TCP или UDP), который сетевой адаптер должен поддерживать для всех задач разгрузки. Ожидается, что драйвер протокола не выгрузит обработку пакета, объединенные заголовки инкапсулирования которого превышают этот размер.
Примечание 256 байт является хорошим значением по умолчанию, которое должно охватывать все возможные случаи.
Настройте другие параметры, чтобы указать, какие типы разгрузки задач поддерживаются драйвером минипорта для инкапсулированных пакетов. Список флагов, которые можно задать для этих членов, см. в разделе "Примечания" NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD.
Запрос возможности разгрузки задачи NVGRE
Чтобы определить, поддерживает ли драйвер минипорта разгрузку задачи NVGRE, драйверы протоколов и фильтров могут выдавать запрос OID_TCP_OFFLOAD_HARDWARE_CAPABILITIES OID, который возвращает структуру NDIS_OFFLOAD.
Примечание. Чтобы определить, включена ли возможность NVGRE драйвера минипорта, используйте запрос OID_TCP_OFFLOAD_CURRENT_CONFIG OID, как описано в запросах и изменениисостояния разгрузки задачи NVGRE.
Примечание Чтобы включить или отключить возможность NVGRE драйвера минипорта, используйте запрос OID_TCP_OFFLOAD_PARAMETERS OID, как описано в разделе Запрос и изменение состояния разгрузки задачи NVGRE.