📄 rib_xif.hh
字号:
* * Register an interest in a route. * * @param dst_xrl_target_name the Xrl target name of the destination. * * @param target the name of the XRL module to notify when the information * returned by this call becomes invalid. * * @param addr address of interest. */ bool send_register_interest4( const char* dst_xrl_target_name, const string& target, const IPv4& addr, const RegisterInterest4CB& cb ); typedef XorpCallback1<void, const XrlError&>::RefPtr DeregisterInterest4CB; /** * Send Xrl intended to: * * De-register an interest in a route. * * @param dst_xrl_target_name the Xrl target name of the destination. * * @param target the name of the XRL module that registered the interest. * * @param addr the address of the previous registered interest. addr * should be the base address of the add/prefix_len subnet. * * @param prefix_len the prefix length of the registered interest, as * given in the response from register_interest. */ bool send_deregister_interest4( const char* dst_xrl_target_name, const string& target, const IPv4& addr, const uint32_t& prefix_len, const DeregisterInterest4CB& cb ); typedef XorpCallback7<void, const XrlError&, const bool*, const IPv6*, const uint32_t*, const uint32_t*, const IPv6*, const uint32_t*>::RefPtr RegisterInterest6CB; /** * Send Xrl intended to: * * Register an interest in a route. * * @param dst_xrl_target_name the Xrl target name of the destination. * * @param target the name of the XRL module to notify when the information * returned by this call becomes invalid. * * @param addr address of interest. */ bool send_register_interest6( const char* dst_xrl_target_name, const string& target, const IPv6& addr, const RegisterInterest6CB& cb ); typedef XorpCallback1<void, const XrlError&>::RefPtr DeregisterInterest6CB; /** * Send Xrl intended to: * * De-register an interest in a route. * * @param dst_xrl_target_name the Xrl target name of the destination. * * @param target the name of the XRL module that registered the interest. * * @param addr the address of the previous registered interest. addr * should be the base address of the add/prefix_len subnet. * * @param prefix_len the prefix length of the registered interest, as * given in the response from register_interest. */ bool send_deregister_interest6( const char* dst_xrl_target_name, const string& target, const IPv6& addr, const uint32_t& prefix_len, const DeregisterInterest6CB& cb ); typedef XorpCallback1<void, const XrlError&>::RefPtr InsertPolicyRedistTagsCB; /** * Send Xrl intended to: * * Add policy tags for a specific protcol in the redistribution map. * * @param dst_xrl_target_name the Xrl target name of the destination. * * @param protocol The destination protocol of the redistribution. * * @param policytags The set of policytags of interest for the protocol. */ bool send_insert_policy_redist_tags( const char* dst_xrl_target_name, const string& protocol, const XrlAtomList& policytags, const InsertPolicyRedistTagsCB& cb ); typedef XorpCallback1<void, const XrlError&>::RefPtr ResetPolicyRedistTagsCB; /** * Send Xrl intended to: * * Reset the policy redistribution map. No policy based route * redistribution will be available at this point. * * @param dst_xrl_target_name the Xrl target name of the destination. */ bool send_reset_policy_redist_tags( const char* dst_xrl_target_name, const ResetPolicyRedistTagsCB& cb );protected: XrlSender* _sender;private: void unmarshall_enable_rib( const XrlError& e, XrlArgs* a, EnableRibCB cb ); void unmarshall_disable_rib( const XrlError& e, XrlArgs* a, DisableRibCB cb ); void unmarshall_start_rib( const XrlError& e, XrlArgs* a, StartRibCB cb ); void unmarshall_stop_rib( const XrlError& e, XrlArgs* a, StopRibCB cb ); void unmarshall_make_errors_fatal( const XrlError& e, XrlArgs* a, MakeErrorsFatalCB cb ); void unmarshall_get_registered_protocols( const XrlError& e, XrlArgs* a, GetRegisteredProtocolsCB cb ); void unmarshall_add_igp_table4( const XrlError& e, XrlArgs* a, AddIgpTable4CB cb ); void unmarshall_add_igp_table6( const XrlError& e, XrlArgs* a, AddIgpTable6CB cb ); void unmarshall_delete_igp_table4( const XrlError& e, XrlArgs* a, DeleteIgpTable4CB cb ); void unmarshall_delete_igp_table6( const XrlError& e, XrlArgs* a, DeleteIgpTable6CB cb ); void unmarshall_add_egp_table4( const XrlError& e, XrlArgs* a, AddEgpTable4CB cb ); void unmarshall_add_egp_table6( const XrlError& e, XrlArgs* a, AddEgpTable6CB cb ); void unmarshall_delete_egp_table4( const XrlError& e, XrlArgs* a, DeleteEgpTable4CB cb ); void unmarshall_delete_egp_table6( const XrlError& e, XrlArgs* a, DeleteEgpTable6CB cb ); void unmarshall_add_route4( const XrlError& e, XrlArgs* a, AddRoute4CB cb ); void unmarshall_add_route6( const XrlError& e, XrlArgs* a, AddRoute6CB cb ); void unmarshall_replace_route4( const XrlError& e, XrlArgs* a, ReplaceRoute4CB cb ); void unmarshall_replace_route6( const XrlError& e, XrlArgs* a, ReplaceRoute6CB cb ); void unmarshall_delete_route4( const XrlError& e, XrlArgs* a, DeleteRoute4CB cb ); void unmarshall_delete_route6( const XrlError& e, XrlArgs* a, DeleteRoute6CB cb ); void unmarshall_add_interface_route4( const XrlError& e, XrlArgs* a, AddInterfaceRoute4CB cb ); void unmarshall_add_interface_route6( const XrlError& e, XrlArgs* a, AddInterfaceRoute6CB cb ); void unmarshall_replace_interface_route4( const XrlError& e, XrlArgs* a, ReplaceInterfaceRoute4CB cb ); void unmarshall_replace_interface_route6( const XrlError& e, XrlArgs* a, ReplaceInterfaceRoute6CB cb ); void unmarshall_lookup_route_by_dest4( const XrlError& e, XrlArgs* a, LookupRouteByDest4CB cb ); void unmarshall_lookup_route_by_dest6( const XrlError& e, XrlArgs* a, LookupRouteByDest6CB cb ); void unmarshall_new_vif( const XrlError& e, XrlArgs* a, NewVifCB cb ); void unmarshall_add_vif_addr4( const XrlError& e, XrlArgs* a, AddVifAddr4CB cb ); void unmarshall_add_vif_addr6( const XrlError& e, XrlArgs* a, AddVifAddr6CB cb ); void unmarshall_redist_enable4( const XrlError& e, XrlArgs* a, RedistEnable4CB cb ); void unmarshall_redist_enable6( const XrlError& e, XrlArgs* a, RedistEnable6CB cb ); void unmarshall_redist_disable4( const XrlError& e, XrlArgs* a, RedistDisable4CB cb ); void unmarshall_redist_disable6( const XrlError& e, XrlArgs* a, RedistDisable6CB cb ); void unmarshall_redist_transaction_enable4( const XrlError& e, XrlArgs* a, RedistTransactionEnable4CB cb ); void unmarshall_redist_transaction_enable6( const XrlError& e, XrlArgs* a, RedistTransactionEnable6CB cb ); void unmarshall_redist_transaction_disable4( const XrlError& e, XrlArgs* a, RedistTransactionDisable4CB cb ); void unmarshall_redist_transaction_disable6( const XrlError& e, XrlArgs* a, RedistTransactionDisable6CB cb ); void unmarshall_register_interest4( const XrlError& e, XrlArgs* a, RegisterInterest4CB cb ); void unmarshall_deregister_interest4( const XrlError& e, XrlArgs* a, DeregisterInterest4CB cb ); void unmarshall_register_interest6( const XrlError& e, XrlArgs* a, RegisterInterest6CB cb ); void unmarshall_deregister_interest6( const XrlError& e, XrlArgs* a, DeregisterInterest6CB cb ); void unmarshall_insert_policy_redist_tags( const XrlError& e, XrlArgs* a, InsertPolicyRedistTagsCB cb ); void unmarshall_reset_policy_redist_tags( const XrlError& e, XrlArgs* a, ResetPolicyRedistTagsCB cb );};#endif /* __XRL_INTERFACES_RIB_XIF_HH__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -