Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом разделе описывается, как запросить или изменить текущее состояние виртуализации сети с помощью разгрузки задач "Инкапсуляция универсальной маршрутизации" (NVGRE) минипорт-драйвера, поддерживающего NVGRE. Разгрузка задачи NVGRE может быть включена по умолчанию, но по умолчанию она не должна быть активной. Сетевой адаптер не должен начинать выполнение разгрузки задач в инкапсулированных пакетах, пока эта функция не включена явным образом протоколом NDIS или драйвером фильтра.
Запрос состояния разгрузки задачи NVGRE
Чтобы запросить текущее состояние разгрузки задачи NVGRE у драйвера мини-порта, протокол NDIS или драйвер фильтра использует запрос OID OID_TCP_OFFLOAD_CURRENT_CONFIG. Это вернет структуру 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-запрос OID_TCP_OFFLOAD_PARAMETERS. Этот OID использует структуру NDIS_OFFLOAD_PARAMETERS. В этой структуре элемент EncapsulatedPacketTaskOffload может иметь следующие значения:
| Срок | Описание |
|---|---|
NDIS_OFFLOAD_SET_NO_CHANGE |
Состояние разгрузки задачи NVGRE не изменяется. |
NDIS_OFFLOAD_SET_ON |
Укажите этот флаг, чтобы включить разгрузку задачи NVGRE. |
Отключение выгрузки NDIS |
Укажите этот флаг, чтобы отключить разгрузку задач 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 и указывает сетевому адаптеру также выполнять эти разгрузки для инкапсулированных пакетов.