Требования к 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 см. в разделе Записи ФАЙЛА INF для промежуточного драйвера UpperRange и LowerRange.
Значение 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.