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 + -
显示快捷键?