Требования INF для расширений расширяемого коммутатора Hyper-V
Hyper-V расширения расширяемого коммутатора разрабатываются как драйверы фильтров NDIS. В результате требования INF для расширений основаны на требованиях INF для всех драйверов фильтров NDIS. При создании INF-файла для расширения расширяемого коммутатора следует использовать параметры INF для изменения или мониторинга драйвера фильтра. Дополнительные сведения об этих параметрах см. раздел Параметры INF-файла для драйверов фильтров.
Кроме того, необходимо следовать этим рекомендациям для INF-файлов для расширений расширяемого коммутатора:
Расширение расширяемого коммутатора должно быть установлено в качестве драйвера для изменения фильтра.
Дополнительные сведения об INF-требованиях для драйвера модифицирующего фильтра см. в разделе Настройка INF-файла длядрайвера модифицирующего фильтра.
Примечание Расширение с классом фильтра ms_switch_capture может выполнять те же задачи, что и драйвер фильтра мониторинга. Дополнительные сведения можно найти в разделе Типы драйверов фильтров.
Запись FilterMediaTypes в INF-файле фильтра определяет привязки драйвера к другим драйверам и интерфейсам. Запись FilterMediaTypes дополнения расширяемого коммутатора должна содержать значение vmnetextension. Это значение указывает привязку к минипорт-адаптеру расширяемого коммутатора.
Запись FilterMediaTypes позволяет указать список типов мультимедиа с разделителями-запятыми. Это позволяет привязать расширение к физическому интерфейсу или расширяемому интерфейсу коммутатора.
В следующем примере показана запись FilterMediaTypes, которая позволяет привязать расширение к физическому сетевому адаптеру Ethernet или к виртуальному сетевому адаптеру расширяемого коммутатора.
HKR, Ndi\Interfaces, FilterMediaTypes, , "ethernet, vmnetextension"
Если запись FilterMediaTypes указывает только значение vmnetextension, расширение привязывается только к стекам драйверов для всех расширяемых коммутаторов в системе.
Если запись FilterMediaTypes указывает vmnetextension, а также другие типы носителей, расширение может определить, привязано ли оно в расширяемом стеке драйверов коммутатора, вызвав NdisFGetOptionalSwitchHandlers. Если функция возвращает NDIS_STATUS_SUCCESS, расширение привязано к стеку драйверов расширения. Если функция возвращает NDIS_STATUS_NOT_SUPPORTED, расширение привязано в стеке драйверов для другого физического сетевого интерфейса.
Дополнительные сведения о записи FilterMediaTypes см. в разделе промежуточных записей драйвера UpperRange и LowerRange INF.
Значение FilterClass в INF-файле для расширения определяет порядок в стеке фильтров. Запись FilterClass должна содержать одно из значений из следующей таблицы.
Значение FilterClass Описание ms_switch_capture
Расширение этого класса отслеживает трафик пакетов. Однако этот класс расширения не может применять политики портов или изменять порты назначения для пакета.
Дополнительные сведения об этом классе расширений см. в Захват расширений.
ms_switch_filter
Расширение этого класса фильтрует трафик пакетов и применяет политику порта или коммутатора для доставки пакетов через расширяемый коммутатор. Этот класс драйвера также может проверять и удалять порты назначения для каждого пакета на основе параметров политики.
Дополнительные сведения об этом классе расширений см. в "Фильтрация расширений".
ms_switch_forward
Расширение этого класса имеет те же возможности, что и класс ms_switch_filter. Этот класс расширения также может пересылать пакеты другим портам расширяемого коммутатора, а также внедрять трафик пакетов в любой расширяемый порт коммутатора.
На пути передачи данных входящего трафика этот расширяющий класс вызывается после класса расширения ms_switch_filter. На пути данных исходящего трафика этот класс расширения вызывается перед ms_switch_filter классом расширения.
Дополнительные сведения об этом классе расширений см. в разделе "Пересылочные расширения" .
Примечание В стеке драйверов расширяемого коммутатора разрешено только одно расширение этого класса.
Если расширение установлено с этими параметрами INF, оно будет настроено для привязки к каждому расширяемом экземпляру коммутатора. Однако привязка будет отключена и должна быть явно включена с помощью командлета PowerShell. Дополнительные сведения об этой процедуре см. в разделе Включение расширений Hyper-V расширяемого коммутатора.