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


Требования 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 расширяемого коммутатора.