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

📄 rib_base.cc

📁 xorp源码hg
💻 CC
📖 第 1 页 / 共 5 页
字号:
	    metric);	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for %s failed: %s",            		 "rib/0.1/register_interest6", e.str().c_str());	    return e;        }    } catch (const XrlArgs::XrlAtomNotFound& e) {	XLOG_ERROR("Argument not found");	return XrlCmdError::BAD_ARGS();    }    /* Marshall return values */    try {	pxa_outputs->add("resolves", resolves);	pxa_outputs->add("base_addr", base_addr);	pxa_outputs->add("prefix_len", prefix_len);	pxa_outputs->add("real_prefix_len", real_prefix_len);	pxa_outputs->add("nexthop", nexthop);	pxa_outputs->add("metric", metric);    } catch (const XrlArgs::XrlAtomFound& ) {	XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlRibTargetBase::handle_rib_0_1_deregister_interest6(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){    if (xa_inputs.size() != 3) {	XLOG_ERROR("Wrong number of arguments (%u != %u) handling %s",            XORP_UINT_CAST(3), XORP_UINT_CAST(xa_inputs.size()), "rib/0.1/deregister_interest6");	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = rib_0_1_deregister_interest6(	    xa_inputs.get_string("target"),	    xa_inputs.get_ipv6("addr"),	    xa_inputs.get_uint32("prefix_len"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for %s failed: %s",            		 "rib/0.1/deregister_interest6", e.str().c_str());	    return e;        }    } catch (const XrlArgs::XrlAtomNotFound& e) {	XLOG_ERROR("Argument not found");	return XrlCmdError::BAD_ARGS();    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlRibTargetBase::handle_rib_0_1_insert_policy_redist_tags(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){    if (xa_inputs.size() != 2) {	XLOG_ERROR("Wrong number of arguments (%u != %u) handling %s",            XORP_UINT_CAST(2), XORP_UINT_CAST(xa_inputs.size()), "rib/0.1/insert_policy_redist_tags");	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = rib_0_1_insert_policy_redist_tags(	    xa_inputs.get_string("protocol"),	    xa_inputs.get_list("policytags"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for %s failed: %s",            		 "rib/0.1/insert_policy_redist_tags", e.str().c_str());	    return e;        }    } catch (const XrlArgs::XrlAtomNotFound& e) {	XLOG_ERROR("Argument not found");	return XrlCmdError::BAD_ARGS();    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlRibTargetBase::handle_rib_0_1_reset_policy_redist_tags(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){    if (xa_inputs.size() != 0) {	XLOG_ERROR("Wrong number of arguments (%u != %u) handling %s",            XORP_UINT_CAST(0), XORP_UINT_CAST(xa_inputs.size()), "rib/0.1/reset_policy_redist_tags");	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = rib_0_1_reset_policy_redist_tags();	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for %s failed: %s",            		 "rib/0.1/reset_policy_redist_tags", e.str().c_str());	    return e;        }    } catch (const XrlArgs::XrlAtomNotFound& e) {	XLOG_ERROR("Argument not found");	return XrlCmdError::BAD_ARGS();    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlRibTargetBase::handle_profile_0_1_enable(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){    if (xa_inputs.size() != 1) {	XLOG_ERROR("Wrong number of arguments (%u != %u) handling %s",            XORP_UINT_CAST(1), XORP_UINT_CAST(xa_inputs.size()), "profile/0.1/enable");	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = profile_0_1_enable(	    xa_inputs.get_string("pname"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for %s failed: %s",            		 "profile/0.1/enable", e.str().c_str());	    return e;        }    } catch (const XrlArgs::XrlAtomNotFound& e) {	XLOG_ERROR("Argument not found");	return XrlCmdError::BAD_ARGS();    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlRibTargetBase::handle_profile_0_1_disable(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){    if (xa_inputs.size() != 1) {	XLOG_ERROR("Wrong number of arguments (%u != %u) handling %s",            XORP_UINT_CAST(1), XORP_UINT_CAST(xa_inputs.size()), "profile/0.1/disable");	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = profile_0_1_disable(	    xa_inputs.get_string("pname"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for %s failed: %s",            		 "profile/0.1/disable", e.str().c_str());	    return e;        }    } catch (const XrlArgs::XrlAtomNotFound& e) {	XLOG_ERROR("Argument not found");	return XrlCmdError::BAD_ARGS();    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlRibTargetBase::handle_profile_0_1_get_entries(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){    if (xa_inputs.size() != 2) {	XLOG_ERROR("Wrong number of arguments (%u != %u) handling %s",            XORP_UINT_CAST(2), XORP_UINT_CAST(xa_inputs.size()), "profile/0.1/get_entries");	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = profile_0_1_get_entries(	    xa_inputs.get_string("pname"),	    xa_inputs.get_string("instance_name"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for %s failed: %s",            		 "profile/0.1/get_entries", e.str().c_str());	    return e;        }    } catch (const XrlArgs::XrlAtomNotFound& e) {	XLOG_ERROR("Argument not found");	return XrlCmdError::BAD_ARGS();    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlRibTargetBase::handle_profile_0_1_clear(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){    if (xa_inputs.size() != 1) {	XLOG_ERROR("Wrong number of arguments (%u != %u) handling %s",            XORP_UINT_CAST(1), XORP_UINT_CAST(xa_inputs.size()), "profile/0.1/clear");	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = profile_0_1_clear(	    xa_inputs.get_string("pname"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for %s failed: %s",            		 "profile/0.1/clear", e.str().c_str());	    return e;        }    } catch (const XrlArgs::XrlAtomNotFound& e) {	XLOG_ERROR("Argument not found");	return XrlCmdError::BAD_ARGS();    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlRibTargetBase::handle_profile_0_1_list(const XrlArgs& xa_inputs, XrlArgs* pxa_outputs){    if (xa_inputs.size() != 0) {	XLOG_ERROR("Wrong number of arguments (%u != %u) handling %s",            XORP_UINT_CAST(0), XORP_UINT_CAST(xa_inputs.size()), "profile/0.1/list");	return XrlCmdError::BAD_ARGS();    }    if (pxa_outputs == 0) {	XLOG_FATAL("Return list empty");	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    string info;    try {	XrlCmdError e = profile_0_1_list(	    info);	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for %s failed: %s",            		 "profile/0.1/list", e.str().c_str());	    return e;        }    } catch (const XrlArgs::XrlAtomNotFound& e) {	XLOG_ERROR("Argument not found");	return XrlCmdError::BAD_ARGS();    }    /* Marshall return values */    try {	pxa_outputs->add("info", info);    } catch (const XrlArgs::XrlAtomFound& ) {	XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */    }    return XrlCmdError::OKAY();}voidXrlRibTargetBase::add_handlers(){	if (_cmds->add_handler("common/0.1/get_target_name",	    callback(this, &XrlRibTargetBase::handle_common_0_1_get_target_name)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rib", "common/0.1/get_target_name");	}	if (_cmds->add_handler("common/0.1/get_version",	    callback(this, &XrlRibTargetBase::handle_common_0_1_get_version)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rib", "common/0.1/get_version");	}	if (_cmds->add_handler("common/0.1/get_status",	    callback(this, &XrlRibTargetBase::handle_common_0_1_get_status)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rib", "common/0.1/get_status");	}	if (_cmds->add_handler("common/0.1/shutdown",	    callback(this, &XrlRibTargetBase::handle_common_0_1_shutdown)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rib", "common/0.1/shutdown");	}	if (_cmds->add_handler("finder_event_observer/0.1/xrl_target_birth",	    callback(this, &XrlRibTargetBase::handle_finder_event_observer_0_1_xrl_target_birth)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rib", "finder_event_observer/0.1/xrl_target_birth");	}	if (_cmds->add_handler("finder_event_observer/0.1/xrl_target_death",	    callback(this, &XrlRibTargetBase::handle_finder_event_observer_0_1_xrl_target_death)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rib", "finder_event_observer/0.1/xrl_target_death");	}	if (_cmds->add_handler("policy_backend/0.1/configure",	    callback(this, &XrlRibTargetBase::handle_policy_backend_0_1_configure)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rib", "policy_backend/0.1/configure");	}	if (_cmds->add_handler("policy_backend/0.1/reset",	    callback(this, &XrlRibTargetBase::handle_policy_backend_0_1_reset)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rib", "policy_backend/0.1/reset");	}	if (_cmds->add_handler("policy_backend/0.1/push_routes",	    callback(this, &XrlRibTargetBase::handle_policy_backend_0_1_push_routes)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rib", "policy_backend/0.1/push_routes");	}	if (_cmds->add_handler("rib/0.1/enable_rib",	    callback(this, &XrlRibTargetBase::handle_rib_0_1_enable_rib)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rib", "rib/0.1/enable_rib");	}	if (_cmds->add_handler("rib/0.1/disable_rib",	    callback(this, &XrlRibTargetBase::handle_rib_0_1_disable_rib)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rib", "rib/0.1/disable_rib");	}	if (_cmds->add_handler("rib/0.1/start_rib",	    callback(this, &XrlRibTargetBase::handle_rib_0_1_start_rib)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rib", "rib/0.1/start_rib");	}	if (_cmds->add_handler("rib/0.1/stop_rib",	    callback(this, &XrlRibTargetBase::handle_rib_0_1_stop_rib)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rib", "rib/0.1/stop_rib");	}	if (_cmds->add_handler("rib/0.1/make_errors_fatal",	    callback(this, &XrlRibTargetBase::handle_rib_0_1_make_errors_fatal)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rib", "rib/0.1/make_errors_fatal");	}	if (_cmds->add_handler("rib/0.1/get_registered_protocols",	    callback(this, &XrlRibTargetBase::handle_rib_0_1_get_registered_protocols)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rib", "rib/0.1/get_registered_protocols");	}	if (_cmds->add_handler("rib/0.1/add_igp_table4",	    callback(this, &XrlRibTargetBase::handle_rib_0_1_add_igp_table4)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rib", "rib/0.1/add_igp_table4");	}	if (_cmds->add_handler("rib/0.1/add_igp_table6",	    callback(this, &XrlRibTargetBase::handle_rib_0_1_add_igp_table6)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rib", "rib/0.1/add_igp_table6");	}	if (_cmds->add_handler("rib/0.1/delete_igp_table4",	    callback(this, &XrlRibTargetBase::handle_rib_0_1_delete_igp_table4)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rib", "rib/0.1/delete_igp_table4");	}	if (_cmds->add_handler("rib/0.1/delete_igp_table6",	    callback(this, &XrlRibTargetBase::handle_rib_0_1_delete_igp_table6)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rib", "rib/0.1/delete_igp_table6");	}	if (_cmds->add_handler("rib/0.1/add_egp_table4",	    callback(this, &XrlRibTargetBase::handle_rib_0_1_add_egp_table4)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rib", "rib/0.1/add_egp_table4");	}	if (_cmds->add_handler("rib/0.1/add_egp_table6",	    callback(this, &XrlRibTargetBase::handle_rib_0_1_add_egp_table6)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rib", "rib/0.1/add_egp_table6");	}	if (_cmds->add_handler("rib/0.1/delete_egp_table4",	    callback(this, &XrlRibTargetBase::handle_rib_0_1_delete_egp_table4)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rib", "rib/0.1/delete_egp_table4");	}	if (_cmds->add_handler("rib/0.1/delete_egp_table6",	    callback(this, &XrlRibTargetBase::handle_rib_0_1_delete_egp_table6)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rib", "rib/0.1/delete_egp_table6");	}	if (_cmds->add_handler("rib/0.1/add_route4",	    callback(this, &XrlRibTargetBase::handle_rib_0_1_add_route4)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rib", "rib/0.1/add_route4");	}	if (_cmds->add_handler("rib/0.1/add_route6",	    callback(this, &XrlRibTargetBase::handle_rib_0_1_add_route6)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rib", "rib/0.1/add_route6");	}	if (_cmds->add_handler("rib/0.1/replace_route4",	    callback(this, &XrlRibTargetBase::handle_rib_0_1_replace_route4)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rib", "rib/0.1/replace_route4");	}	if (_cmds->add_handler("rib/0.1/replace_route6",	    callback(this, &XrlRibTargetBase::handle_rib_0_1_replace_route6)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rib", "rib/0.1/replace_route6");	}	if (_cmds->add_handler("rib/0.1/delete_route4",	    callback(this, &XrlRibTargetBase::handle_rib_0_1_delete_route4)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rib", "rib/0.1/delete_route4");	}	if (_cmds->add_handler("rib/0.1/delete_route6",	    callback(this, &XrlRibTargetBase::handle_rib_0_1_delete_route6)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rib", "rib/0.1/delete_route6");	}	if (_cmds->add_handler("rib/0.1/add_interface_route4",	    callback(this, &XrlRibTargetBase::handle_rib_0_1_add_interface_route4)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rib", "rib/0.1/add_interface_route4");	}	if (_cmds->add_handler("rib/0.1/add_interface_route6",	    callback(this, &XrlRibTargetBase::handle_rib_0_1_add_interface_route6)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rib", "rib/0.1/add_interface_route6");	}	if (_cmds->add_handler("rib/0.1/replace_interface_route4",	    callback(this, &XrlRibTargetBase::handle_rib_0_1_replace_interface_route4)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rib", "rib/0.1/replace_interface_route4");	}	if (_cmds->add_handler("rib/0.1/replace_interface_route6",	    callback(this, &XrlRibTargetBase::handle_rib_0_1_replace_interface_route6)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rib", "rib/0.1/replace_interface_route6");	}	if (_cmds->add_handler("rib/0.1/lookup_route_by_dest4",	    callback(this, &XrlRibTargetBase::handle_rib_0_1_lookup_route_by_dest4)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "rib", "rib/0.1/lookup_route_by_dest4");	}	if (_cmds->add_handler("rib/0.1/lookup_route_by_dest6",	    callback(this, &XrlRibTargetBase::handle_rib_0_1_lookup_route_by_dest6)) == false) {	    XLOG_ERROR("Failed to xrl handler

⌨️ 快捷键说明

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