Поделиться через


Запрос и изменение состояния разгрузки задачи NVGRE

В этом разделе описывается, как запросить или изменить текущую виртуализацию сети с помощью состояния разгрузки задачи Инкапсуляции универсальной маршрутизации (NVGRE) драйвера мини-порта с поддержкой NVGRE. Разгрузка задач NVGRE может быть включена по умолчанию, но по умолчанию она не должна быть активной. Сетевой адаптер не должен начинать выполнять разгрузку задач для инкапсулированных пакетов, пока эта функция не будет включена явным образом протоколом NDIS или драйвером фильтра.

Запрос состояния разгрузки задачи NVGRE

Чтобы запросить текущее состояние разгрузки задачи NVGRE драйвера мини-порта, протокол NDIS или драйвер фильтра использует запрос OID_TCP_OFFLOAD_CURRENT_CONFIG OID. При этом возвращается структура NDIS_OFFLOAD , член которой EncapsulatedPacketTaskOffloadGre является NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD структурой, содержащей NDIS_OFFLOAD_SUPPORTED , если эти разгрузки в настоящее время включены для инкапсулированных gre-пакетов, и NDIS_OFFLOAD_NOT_SUPPORTED в противном случае. NDIS обрабатывает этот OID и не передает его в мини-порт.

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

Изменение состояния разгрузки задачи NVGRE

Драйвер протокола NDIS или фильтра может включать или отключать разгрузку задач NVGRE, отправляя запрос OID_TCP_OFFLOAD_PARAMETERS OID. Этот OID использует структуру NDIS_OFFLOAD_PARAMETERS . В этой структуре член EncapsulatedPacketTaskOffload может иметь следующие значения:

Термин Описание

NDIS_OFFLOAD_SET_NO_CHANGE

Состояние разгрузки задачи NVGRE не изменяется.

NDIS_OFFLOAD_SET_ON

Укажите этот флаг, чтобы включить разгрузку задач NVGRE.

NDIS_OFFLOAD_SET_OFF

Укажите этот флаг, чтобы отключить разгрузку задач NVGRE.

После того как драйвер мини-порта обработает запрос OID_TCP_OFFLOAD_PARAMETERS OID, он должен выдать NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG указание состояния с обновленным состоянием разгрузки.

Когда драйвер мини-порта получает запрос OID_TCP_OFFLOAD_PARAMETERS OID, в котором указан флаг NDIS_OFFLOAD_SET_OFF , драйвер должен указать все существующие инкапсулированные пакеты, частично обработанные для задачи, разгружают стек перед выполнением запроса OID.

Разгрузка базовых задач для обычных пакетов включается существующими идентификаторами OID, такими как OID_OFFLOAD_ENCAPSULATION и OID_RECEIVE_FILTER_ALLOCATE_QUEUE. Параметр члена EncapsulatedPacketTaskOffload дополняет эти идентификаторы OID и предписывает сетевому адаптеру выполнять эти разгрузки для инкапсулированных пакетов.