⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rib_base.hh

📁 xorp源码hg
💻 HH
📖 第 1 页 / 共 3 页
字号:
     *  @param cookie a text value passed back to creator in each call from the     *  RIB. This allows creators to identity the source of updates it receives     *  through the redist_transaction4/0.1 interface.     */    virtual XrlCmdError rib_0_1_redist_transaction_disable4(	// Input values,	const string&	to_xrl_target,	const string&	from_protocol,	const bool&	unicast,	const bool&	multicast,	const string&	cookie) = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *     *  Disable transaction-based route redistribution from one routing     *  protocol to another.     *     *  @param to_xrl_target the XRL Target instance name of the caller. The     *  caller must implement redist_transaction6/0.1 and previously called     *  redist_transaction_enable6.     *     *  @param unicast disable for unicast RIBs matching from and to.     *     *  @param multicast disable for multicast RIBs matching from and to.     *     *  @param cookie a text value passed back to creator in each call from the     *  RIB. This allows creators to identity the source of updates it receives     *  through the redist_transaction6/0.1 interface.     */    virtual XrlCmdError rib_0_1_redist_transaction_disable6(	// Input values,	const string&	to_xrl_target,	const string&	from_protocol,	const bool&	unicast,	const bool&	multicast,	const string&	cookie) = 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;    /**     *  Pure-virtual function that needs to be implemented to:     *     *  Add policy tags for a specific protcol in the redistribution map.     *     *  @param protocol The destination protocol of the redistribution.     *     *  @param policytags The set of policytags of interest for the protocol.     */    virtual XrlCmdError rib_0_1_insert_policy_redist_tags(	// Input values,	const string&	protocol,	const XrlAtomList&	policytags) = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *     *  Reset the policy redistribution map. No policy based route     *  redistribution will be available at this point.     */    virtual XrlCmdError rib_0_1_reset_policy_redist_tags() = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *     *  Enable profiling     *     *  @param pname profile variable     */    virtual XrlCmdError profile_0_1_enable(	// Input values,	const string&	pname) = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *     *  Disable profiling     *     *  @param pname profile variable     */    virtual XrlCmdError profile_0_1_disable(	// Input values,	const string&	pname) = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *     *  Get log entries.     *     *  @param pname profile variable     *     *  @param instance_name to send the profiling info to.     */    virtual XrlCmdError profile_0_1_get_entries(	// Input values,	const string&	pname,	const string&	instance_name) = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *     *  Clear the profiling entries     *     *  @param pname profile variable     */    virtual XrlCmdError profile_0_1_clear(	// Input values,	const string&	pname) = 0;    /**     *  Pure-virtual function that needs to be implemented to:     *     *  List all the profiling variables registered with this target.     */    virtual XrlCmdError profile_0_1_list(	// Output values,	string&	info) = 0;private:    const XrlCmdError handle_common_0_1_get_target_name(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_common_0_1_get_version(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_common_0_1_get_status(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_common_0_1_shutdown(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_finder_event_observer_0_1_xrl_target_birth(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_finder_event_observer_0_1_xrl_target_death(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_policy_backend_0_1_configure(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_policy_backend_0_1_reset(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_policy_backend_0_1_push_routes(const XrlArgs& in, XrlArgs* out);    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_make_errors_fatal(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_rib_0_1_get_registered_protocols(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_add_interface_route4(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_rib_0_1_add_interface_route6(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_rib_0_1_replace_interface_route4(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_rib_0_1_replace_interface_route6(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_rib_0_1_lookup_route_by_dest4(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_rib_0_1_lookup_route_by_dest6(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);    const XrlCmdError handle_rib_0_1_redist_disable6(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_rib_0_1_redist_transaction_enable4(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_rib_0_1_redist_transaction_enable6(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_rib_0_1_redist_transaction_disable4(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_rib_0_1_redist_transaction_disable6(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_rib_0_1_register_interest4(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_rib_0_1_deregister_interest4(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_rib_0_1_register_interest6(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_rib_0_1_deregister_interest6(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_rib_0_1_insert_policy_redist_tags(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_rib_0_1_reset_policy_redist_tags(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_profile_0_1_enable(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_profile_0_1_disable(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_profile_0_1_get_entries(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_profile_0_1_clear(const XrlArgs& in, XrlArgs* out);    const XrlCmdError handle_profile_0_1_list(const XrlArgs& in, XrlArgs* out);    void add_handlers();    void remove_handlers();};#endif // __XRL_TARGETS_RIB_BASE_HH__

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -