Hyper-V 可扩展交换机扩展的 INF 要求

Hyper-V 可扩展交换机扩展开发为 NDIS 筛选器驱动程序。 因此,扩展的 INF 要求基于所有 NDIS 筛选器驱动程序的 INF 要求。 为可扩展交换机扩展创建 INF 文件时,应将 INF 设置用于修改或监视筛选器驱动程序。 有关这些设置的详细信息,请参阅 筛选器驱动程序的 INF 文件设置

此外,对于可扩展交换机扩展,必须遵循以下 INF 文件准则:

  • 可扩展交换机扩展必须作为修改筛选器驱动程序安装。

    有关修改筛选器驱动程序的 INF 要求的详细信息,请参阅 为修改筛选器驱动程序配置 INF 文件

    注意 筛选器类 为 ms_switch_capture 的扩展可以执行与监视筛选器驱动程序相同的任务。 有关详细信息,请参阅 筛选器驱动程序的类型

  • 筛选器 INF 文件中的 FilterMediaTypes 条目定义驱动程序与其他驱动程序和接口的绑定。 可扩展交换机扩展的 FilterMediaTypes 条目必须包含 vmnetextension 值。 此值指定到可扩展交换机扩展微型端口适配器的绑定。

    FilterMediaTypes 条目允许指定以逗号分隔的媒体类型列表。 这允许将扩展绑定到物理接口或可扩展交换机接口。

    以下示例显示了一个 FilterMediaTypes 条目,该条目允许将扩展绑定到物理以太网网络适配器或可扩展交换机虚拟网络适配器。

    HKR, Ndi\Interfaces, FilterMediaTypes, , "ethernet, vmnetextension"
    

    如果 FilterMediaTypes 条目仅指定 vmnetextension 值,则扩展将仅绑定到系统上所有可扩展开关的驱动程序堆栈。

    如果 FilterMediaTypes 条目指定 vmnetextension 以及其他媒体类型,则扩展可以通过调用 NdisFGetOptionalSwitchHandlers 来确定它是否绑定到可扩展的交换机驱动程序堆栈中。 如果函数返回NDIS_STATUS_SUCCESS,则扩展绑定在扩展驱动程序堆栈中。 如果函数返回NDIS_STATUS_NOT_SUPPORTED,则扩展将绑定在不同的物理网络接口的驱动程序堆栈中。

    有关 FilterMediaTypes 条目的详细信息,请参阅 中间驱动程序 UpperRange 和 LowerRange INF 文件条目

  • 扩展的 INF 文件中的 FilterClass 值决定了它在筛选器堆栈中的顺序。 FilterClass 条目必须包含下表中的值之一。

    FilterClass 值 说明

    ms_switch_capture

    此类的扩展监视数据包流量。 但是,此类扩展无法应用端口策略或更改数据包的目标端口。

    有关此类扩展的详细信息,请参阅 捕获扩展

    ms_switch_filter

    此类的扩展会筛选数据包流量,并强制实施端口或交换机策略,以便通过可扩展交换机传递数据包。 此类驱动程序还可以根据策略设置检查和删除每个数据包的目标端口。

    有关此类扩展的详细信息,请参阅 筛选扩展

    ms_switch_forward

    此类的扩展具有与 ms_switch_filter 类相同的功能。 此类扩展还可以将数据包转发到其他可扩展交换机端口,并将数据包流量注入到任何可扩展交换机端口。

    在入口数据路径上,此类扩展在 扩展ms_switch_filter 类之后调用。 在出口数据路径上,在扩展的 ms_switch_filter 类之前调用此类扩展。

    有关此类扩展的详细信息,请参阅 转发扩展

    注意 在可扩展交换机驱动程序堆栈中只允许此类的一个扩展。

当扩展随这些 INF 设置一起安装时,它将配置为绑定到每个可扩展的交换机实例。 但是,绑定将被禁用,并且必须通过 PowerShell cmdlet 显式启用。 有关此过程的详细信息,请参阅 启用 Hyper-V 可扩展交换机扩展