NDIS 状态指示的 Hyper-V 可扩展交换机控制路径

本主题讨论 NDIS 状态指示从基础物理适配器移动的控制路径。 一个或多个基础物理适配器可与 Hyper-V 可扩展交换机外部网络适配器组合在一起。

例如,可扩展交换机外部网络适配器可以绑定到 NDIS 多路复用器 (MUX) 中间驱动程序的虚拟微型端口边缘。 MUX 中间驱动程序本身可以绑定到主机上的一个或多个物理网络团队。 此配置称为 可扩展交换机团队。 有关可扩展交换机团队的详细信息,请参阅 物理网络适配器配置的类型

在此配置中,可扩展交换机扩展将公开给可扩展交换机团队中的每个网络适配器。 这允许可扩展交换机驱动程序堆栈中的转发扩展管理团队中单个网络适配器的配置和使用。 例如,该扩展可以通过将传出数据包转发到单个适配器, (LBFO) 解决方案来支持团队的负载均衡故障转移。 此类扩展称为 组合提供程序。 有关组合提供程序的详细信息,请参阅 Teaming Provider Extensions

注意 此类操作只能由转发扩展执行。 有关此类驱动程序的详细信息,请参阅 转发扩展

下图显示了 NDIS 6.40 (Windows Server 2012 R2) 及更高版本的基础可扩展交换机团队颁发的 NDIS 状态指示的可扩展交换机控制路径。

显示 NDIS 6.40 可扩展交换机团队的 NDIS 状态指示的控制路径的关系图。

下图显示了 NDIS 6.30 基础可扩展交换机团队为 NDIS 6.30 (Windows Server 2012) 发出的 NDIS 状态指示的可扩展交换机控制路径。

显示 NDIS 6.30 可扩展交换机团队的 NDIS 状态指示的控制路径的关系图。

注意 在可扩展交换机接口中,NDIS 筛选器驱动程序称为 可扩展交换机扩展 ,驱动程序堆栈称为 可扩展交换机驱动程序堆栈

可扩展交换机支持基础物理适配器或可扩展交换机团队的 NDIS 状态指示,方式如下:

  • 当 NDIS 状态指示到达可扩展交换机接口时,它会将指示封装在 NDIS_SWITCH_NIC_STATUS_INDICATION 结构中。 然后,可扩展交换机的微型端口边缘发出包含此结构的 NDIS_STATUS_SWITCH_NIC_STATUS 指示。

    当转发扩展收到此指示时,它可以复制指示以更改封装的数据。 这允许转发扩展更改基础可扩展交换机团队的指示状态或功能。

  • 作为组合提供程序运行的转发扩展可以通过启动与卸载技术相关的 NDIS_STATUS_SWITCH_NIC_STATUS 指示,参与适配器团队的硬件卸载配置。

    例如,提供程序可以使用封装 NDIS_STATUS_RECEIVE_FILTER_CURRENT_CAPABILITIES 指示启动 NDIS_STATUS_SWITCH_NIC_STATUS 指示,以修改适配器团队上的虚拟机队列 (VMQ) 的卸载功能。

  • 组合提供程序还可以启动 NDIS_STATUS_SWITCH_NIC_STATUS 指示,以修改可扩展交换机团队以外的其他网络适配器配置。

    例如,扩展可以使用封装 NDIS_STATUS_SWITCH_PORT_REMOVE_VF 指示启动 NDIS_STATUS_SWITCH_NIC_STATUS 。 此指示删除虚拟机 (VM) 网络适配器与 PCI Express (PCIe) 虚拟函数之间的绑定, (VF) 。 VF 由支持单根 I/O 虚拟化 (SR-IOV) 接口的基础物理网络适配器公开。

    删除此绑定后,数据包将通过可扩展的交换机端口传递,而不是直接在 VM 网络适配器和基础 SR-IOV 物理适配器的 VF 之间传递。 这样,可扩展交换机端口策略就可以应用于通过可扩展交换机端口接收或发送的数据包。

注意 可扩展交换机扩展必须遵循适用于所有 NDIS 筛选器驱动程序的相同准则来筛选 NDIS 状态指示。 有关详细信息,请参阅 筛选器模块状态指示

有关转发扩展如何启动 NDIS_STATUS_SWITCH_NIC_STATUS 指示的详细信息,请参阅 管理物理网络适配器中的 NDIS 状态指示