rib_base.hh
来自「BCAST Implementation for NS2」· HH 代码 · 共 898 行 · 第 1/3 页
HH
898 行
const string& from, const string& to, const bool& unicast, const bool& multicast) = 0; virtual XrlCmdError rib_0_1_redist_enable6( // Input values, const string& from, const string& to, const bool& unicast, const bool& multicast) = 0; virtual XrlCmdError rib_0_1_redist_disable4( // Input values, const string& from, const string& to, const bool& unicast, const bool& multicast) = 0; virtual XrlCmdError rib_0_1_redist_disable6( // Input values, const string& from, const string& to, const bool& unicast, const bool& multicast) = 0; /** * Pure-virtual function that needs to be implemented to: * * Register an interest in a route * * @param target the name of the XRL module to notify when the information * returned by this call becomes invalid. * * @param addr address of interest * * @param resolves returns whether or not the address resolves to a route * that can be used for forwarding. * * @param base_addr returns the address of interest (actually the base * address of the subnet covered by addr/prefix_len). * * @param prefix_len returns the prefix length that the registration * covers. This response applies to all addresses in addr/prefix_len. * * @param real_prefix_len returns the actual prefix length of the route * that will be used to route addr. If real_prefix_len is not the same as * prefix_len, this is because there are some more specific routes that * overlap addr/real_prefix_len. real_prefix_len is primarily given for * debugging reasons. * * @param nexthop returns the address of the next hop for packets sent to * addr * * @param metric returns the IGP metric for this route */ virtual XrlCmdError rib_0_1_register_interest4( // Input values, const string& target, const IPv4& addr, // Output values, bool& resolves, IPv4& base_addr, uint32_t& prefix_len, uint32_t& real_prefix_len, IPv4& nexthop, uint32_t& metric) = 0; /** * Pure-virtual function that needs to be implemented to: * * De-register an interest in a route * * @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. */ virtual XrlCmdError rib_0_1_deregister_interest4( // Input values, const string& target, const IPv4& addr, const uint32_t& prefix_len) = 0; /** * Pure-virtual function that needs to be implemented to: * * Register an interest in a route * * @param target the name of the XRL module to notify when the information * returned by this call becomes invalid. * * @param addr address of interest * * @param resolves returns whether or not the address resolves to a route * that can be used for forwarding. * * @param base_addr returns the address of interest (actually the base * address of the subnet covered by addr/prefix_len). * * @param prefix_len returns the prefix length that the registration * covers. This response applies to all addresses in addr/prefix_len. * * @param real_prefix_len returns the actual prefix length of the route * that will be used to route addr. If real_prefix_len is not the same as * prefix_len, this is because there are some more specific routes that * overlap addr/real_prefix_len. real_prefix_len is primarily given for * debugging reasons. * * @param nexthop returns the address of the next hop for packets sent to * addr * * @param metric returns the IGP metric for this route */ virtual XrlCmdError rib_0_1_register_interest6( // Input values, const string& target, const IPv6& addr, // Output values, bool& resolves, IPv6& base_addr, uint32_t& prefix_len, uint32_t& real_prefix_len, IPv6& nexthop, uint32_t& metric) = 0; /** * Pure-virtual function that needs to be implemented to: * * De-register an interest in a route * * @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. */ virtual XrlCmdError rib_0_1_deregister_interest6( // Input values, const string& target, const IPv6& addr, const uint32_t& prefix_len) = 0; virtual XrlCmdError fea_ifmgr_client_0_1_interface_update( // Input values, const string& ifname, const uint32_t& event) = 0; virtual XrlCmdError fea_ifmgr_client_0_1_vif_update( // Input values, const string& ifname, const string& vifname, const uint32_t& event) = 0; virtual XrlCmdError fea_ifmgr_client_0_1_vifaddr4_update( // Input values, const string& ifname, const string& vifname, const IPv4& addr, const uint32_t& event) = 0; virtual XrlCmdError fea_ifmgr_client_0_1_vifaddr6_update( // Input values, const string& ifname, const string& vifname, const IPv6& addr, const uint32_t& event) = 0; /** * Pure-virtual function that needs to be implemented to: * * Announce target birth. */ virtual XrlCmdError finder_event_observer_0_1_xrl_target_birth( // Input values, const string& target_class, const string& target_instance) = 0; /** * Pure-virtual function that needs to be implemented to: * * Announce target death. */ virtual XrlCmdError finder_event_observer_0_1_xrl_target_death( // Input values, const string& target_class, const string& target_instance) = 0; /** * Pure-virtual function that needs to be implemented to: * * Get name of Xrl Target */ virtual XrlCmdError common_0_1_get_target_name( // Output values, string& name) = 0; /** * Pure-virtual function that needs to be implemented to: * * Get version string from Xrl Target */ virtual XrlCmdError common_0_1_get_version( // Output values, string& version) = 0; /** * Pure-virtual function that needs to be implemented to: * * Get status of Xrl Target */ virtual XrlCmdError common_0_1_get_status( // Output values, uint32_t& status, string& reason) = 0; /** * Pure-virtual function that needs to be implemented to: * * Request clean shutdown of Xrl Target */ virtual XrlCmdError common_0_1_shutdown() = 0;private: const XrlCmdError handle_rib_0_1_enable_rib(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rib_0_1_disable_rib(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rib_0_1_start_rib(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rib_0_1_stop_rib(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rib_0_1_add_rib_client4(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rib_0_1_add_rib_client6(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rib_0_1_delete_rib_client4(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rib_0_1_delete_rib_client6(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rib_0_1_enable_rib_client4(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rib_0_1_enable_rib_client6(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rib_0_1_disable_rib_client4(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rib_0_1_disable_rib_client6(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rib_0_1_no_fea(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rib_0_1_make_errors_fatal(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rib_0_1_add_igp_table4(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rib_0_1_add_igp_table6(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rib_0_1_delete_igp_table4(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rib_0_1_delete_igp_table6(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rib_0_1_add_egp_table4(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rib_0_1_add_egp_table6(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rib_0_1_delete_egp_table4(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rib_0_1_delete_egp_table6(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rib_0_1_add_route4(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rib_0_1_add_route6(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rib_0_1_replace_route4(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rib_0_1_replace_route6(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rib_0_1_delete_route4(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rib_0_1_delete_route6(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rib_0_1_lookup_route4(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rib_0_1_lookup_route6(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rib_0_1_new_vif(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rib_0_1_add_vif_addr4(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rib_0_1_add_vif_addr6(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rib_0_1_redist_enable4(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rib_0_1_redist_enable6(const XrlArgs& in, XrlArgs* out); const XrlCmdError handle_rib_0_1_redist_disable4(const XrlArgs& in, XrlArgs* out);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?