管理端口策略

可以使用标准端口属性和自定义端口属性预配 Hyper-V 可扩展交换机筛选和转发扩展。 预配后,这些扩展在筛选在可扩展交换机入口数据路径上获取的数据包时强制实施策略。 有关这些策略的信息,请参阅端口 策略

Hyper-V 可扩展交换机接口使用 OID (对象标识符) 标准端口策略和自定义端口策略的属性来预配筛选和转发扩展:

OID_SWITCH_PORT_PROPERTY_ADD
此 OID 集请求由可扩展交换机的协议边缘发出,以通知基础扩展在 WMI 管理层添加属性。 结构信息的 InformationBufferNDIS_OID_REQUEST指向结构NDIS_SWITCH_PORT_PROPERTY_PARAMETERS指针

注意自定义端口属性由 NdisSwitchPortPropertyTypeCustom NDIS_SWITCH_PORT_PROPERTY_TYPE枚举值指定。 标准端口属性由 NdisSwitchPortPropertyTypeSecurity、NdisSwitchPortPropertyTypeVlan 和 NdisSwitchPortPropertyTypeProfile 的 NDIS_SWITCH_PORT_PROPERTY_TYPE 枚举值指定。

OID_SWITCH_PORT_PROPERTY_UPDATE
此 OID 集请求由可扩展交换机的协议边缘发出,以通知 WMI 管理层上属性更新的基础扩展。 结构信息的 InformationBufferNDIS_OID_REQUEST指向结构NDIS_SWITCH_PORT_PROPERTY_PARAMETERS指针

OID_SWITCH_PORT_PROPERTY_DELETE
此 OID 集请求由可扩展交换机的协议边缘发出,以通知基础扩展在 WMI 管理层删除属性。 结构信息的 InformationBuffer NDIS_OID_REQUEST指针指向NDIS_SWITCH_PORT_PROPERTY_DELETE_PARAMETERS结构

OID_SWITCH_PORT_PROPERTY_ENUM
此 OID 方法请求由扩展发送,用于查询可扩展交换机的基础微型端口边缘,了解可扩展交换机上指定端口当前配置的属性。 结构 信息的 InformationBufferNDIS_OID_REQUEST指向 缓冲区的指针。 此缓冲区包含以下数据:

注意扩展不得源自 OID 设置对 OID_SWITCH_PORT_PROPERTY_ADD。 OID_SWITCH_PORT_PROPERTY_UPDATEOID_SWITCH_PORT_PROPERTY_DELETE

当可扩展交换机扩展处理以下项的 OID 集请求时OID_SWITCH_PORT_PROPERTY_ADD OID_SWITCH_PORT_PROPERTY_UPDATE或OID_SWITCH_PORT_PROPERTY_DELETE

  • 扩展不得修改与 OID NDIS_SWITCH_PORT_PROPERTY_PARAMETERS关联的NDIS_SWITCH_PORT_PROPERTY_DELETE_PARAMETERS或结构。

  • 如果扩展管理 属性,扩展必须处理这些 OID 请求。 根据 OID 请求,扩展必须检查 NDIS_SWITCH_PORT_PROPERTY_PARAMETERS 或 NDIS_SWITCH_PORT_PROPERTY_DELETE_PARAMETERS 结构的以下成员,以确定它是否管理端口属性:

    • PropertyType 成员。 此成员指定端口属性的类型。 自定义端口属性的 PropertyType 成员值为 NdisSwitchPortPropertyTypeCustom。 标准端口属性具有其他属性类型值。 例如,标准 VLAN 端口策略的属性值为 NdisSwitchPortPropertyTypeVlan

    • PropertyId 成员。 此成员指定自定义端口属性的专有 GUID 值。 此 GUID 值由独立软件供应商创建 (ISV) 定义自定义可扩展交换机属性的格式。

      注意 对于标准端口策略,扩展必须忽略此成员。

  • 如果扩展以前 预配 OID_SWITCH_PORT_PROPERTY_UPDATE端口属性,该扩展必须处理该扩展集请求,该属性与 NDIS_SWITCH_PROPERTY_PARAMETERS成员匹配

    • PropertyType 成员。

    • PropertyId 成员。

      注意 对于标准端口策略,扩展必须忽略此成员。

    • PropertyVersion 成员。 此成员指定用于预配扩展的端口属性的版本。

    • PropertyInstanceId 成员。 此成员指定用于预配扩展的端口属性的实例。

  • 筛选或转发扩展可以阻止添加或更新它管理的端口策略。 该扩展通过使用 STATUS_DATA_NOT_ACCEPTED 完成 OID 请求。

    注意 捕获扩展不得阻止添加或更新端口策略。 相反,它必须将 OID 请求向下转发到可扩展交换机控制路径。

  • 如果转发扩展对它不支持的标准端口属性的 OID 请求失败,或者如果该属性与其自己的策略配置冲突,则转发扩展可能会失败。 在这种情况下,扩展必须完成 OID 请求并返回相应的 NDIS 状态代码以报告失败。

  • 如果扩展成功处理标准端口策略的 OID 集请求,则它不能完成 OID 请求,并且必须向下转发可扩展交换机控制路径。

  • 如果捕获或筛选扩展成功处理自定义端口策略的 OID 集请求,则它不能完成 OID 请求,并且必须向下转发可扩展交换机控制路径。

    如果转发扩展成功处理自定义端口策略的 OID 集请求,则必须完成 OID 请求并返回相应的 NDIS_STATUS_Xxx 值。

  • 如果扩展未完成 OID 集请求,则必须调用 NdisFOidRequest 将 OID 请求向下转发到可扩展交换机驱动程序堆栈。 在这种情况下,扩展应监视 OID 的完成状态,以检测基础扩展是否已失败 OID 请求。