更改客户端Interface-Specific和全局信息
若要更改特定客户端(例如 NAT)的接口信息,请先使用相应的“GetInfo”函数来检索当前信息。 如果路由器正在运行,请使用 MprAdminInterfaceTransportGetInfo。 如果路由器未运行,请使用 MprConfigInterfaceTransportGetInfo。 此调用检索指定接口上运行的所有客户端的信息。 例如,如果 OSPF 和 RIP 都在特定接口上运行,则此调用将检索两者的接口信息。 使用 MprInfoBlockFind 函数查找与要修改的客户端对应的信息块。 然后使用 MprInfoBlockSet 函数执行修改。 最后,使用 MprAdminInterfaceTransportSetInfo 或 MprConfigInterfaceSetInfo 对注册表中的正在运行的路由器或路由器配置进行更改。
全局客户端信息是不特定于运行客户端的任何特定接口的信息。 使用类似的过程修改特定客户端的全局信息。 首先,使用 MprAdminTransportGetInfo 或 MprConfigTransportGetInfo 检索所有客户端的全局信息。 然后使用 MprInfo 函数修改信息。 最后,使用 MprAdminTransportSetInfo 或 MprConfigTransportSetInfo 函数将修改后的信息保存回正在运行的路由器或注册表。
对上述管理功能的调用通过动态接口管理器 (DIM) ,并最终转换为从路由器管理器到客户端本身的调用。 所有客户端(无论它们是否是路由协议)都必须符合 路由器协议接口部分中所述的接口。 作为此接口的一部分,路由协议必须支持以下函数 (其他) :
路由器管理器为每个客户端调用 GetInterfaceInfo 函数,以收集从调用 MprAdminInterfaceTransportGetInfo 返回的信息。 同样,当路由器管理器通过 MprAdminInterfaceTransportSetInfo 调用接收更新的信息时,它使用 SetInterfaceInfo 函数更新每个客户端的接口信息。