Hyper-V 用于 OID 请求的扩展交换机控制路径

本主题讨论 Hyper-V 可扩展交换机对象标识符(OID)请求传递的控制路径。

下图显示了 NDIS 6.40(Windows Server 2012 R2)及更高版本的 OID 请求的可扩展交换机控制路径。

图显示了 NDIS 6.40 的 Hyper-V 可扩展交换机 OID 控制路径。

下图显示了 NDIS 6.30(Windows Server 2012)的 OID 请求的可扩展交换机控制路径。

图显示了 NDIS 6.30 的 Hyper-V 可扩展交换机 OID 控制路径。

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

可扩展交换机扩展(如筛选和转发扩展)负责根据端口或交换机策略允许或拒绝数据包流量。 为了使这些扩展应用策略决策,这些扩展必须能够执行以下作:

  • 从可扩展交换机接口接收有关可扩展交换机的新配置和状态、其端口及其网络适配器连接的必要信息。

  • 从可扩展交换机接口接收有关交换机或端口策略的新属性或更新属性的必要信息。

  • 向可扩展交换机接口发出 OID 请求,以获取可扩展交换机、其端口及其网络适配器连接的当前配置。

可扩展交换机接口通过发出可扩展的交换机 OID 集请求,通知基础扩展对其组件配置和策略参数的更改。 这些请求由可扩展交换机的协议边缘发出,以通知基础扩展有关这些更改的信息。 这些 OID 请求通过可扩展交换机驱动程序堆栈移动到可扩展交换机的基础微型端口边缘。

可扩展交换机的微型端口边缘负责完成 OID 请求。 但是,对于一些可扩展的交换机 OID 请求,基础扩展可能会使 OID 请求失败,以否决某个通知。 例如,当可扩展交换机的协议边缘向扩展通知将要创建的新端口时,它会发出 OID_SWITCH_PORT_CREATE的 OID 集请求。 底层筛选或转发扩展可以通过使用 STATUS_DATA_NOT_ACCEPTED 完成 OID 请求来拒绝端口创建。 有关此过程的详细信息,请参阅接收有关 Hyper-V 可扩展交换机配置更改的 OID 请求

注意 如果扩展未否决可扩展交换机 OID 请求,则应监视请求完成时的状态。 扩展应执行此作,以确定 OID 请求是由可扩展交换机控件路径中的基础扩展还是可扩展交换机接口否决的。

注意:当可扩展交换机 OID 请求处于待处理状态时,使用 NdisFRestartFilter 的堆栈重启请求将无法完成。 因此,等待堆栈重启的扩展必须完成任何正在进行的 OID 请求。

大多数可扩展交换机 OID 请求只能由可扩展交换机接口发出。 但是,扩展可以发出一些可扩展交换机 OID 请求,以获取有关可扩展交换机配置、其端口及其网络适配器连接的信息。 有关详细信息,请参阅查询 Hyper-V 可扩展交换机配置