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

📄 rib_base.cc

📁 xorp源码hg
💻 CC
📖 第 1 页 / 共 5 页
字号:
	    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_replace_route4(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){    if (xa_inputs.size() != 7) {	XLOG_ERROR("Wrong number of arguments (%u != %u) handling %s",            XORP_UINT_CAST(7), XORP_UINT_CAST(xa_inputs.size()), "rib/0.1/replace_route4");	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = rib_0_1_replace_route4(	    xa_inputs.get_string("protocol"),	    xa_inputs.get_bool("unicast"),	    xa_inputs.get_bool("multicast"),	    xa_inputs.get_ipv4net("network"),	    xa_inputs.get_ipv4("nexthop"),	    xa_inputs.get_uint32("metric"),	    xa_inputs.get_list("policytags"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for %s failed: %s",            		 "rib/0.1/replace_route4", 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_replace_route6(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){    if (xa_inputs.size() != 7) {	XLOG_ERROR("Wrong number of arguments (%u != %u) handling %s",            XORP_UINT_CAST(7), XORP_UINT_CAST(xa_inputs.size()), "rib/0.1/replace_route6");	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = rib_0_1_replace_route6(	    xa_inputs.get_string("protocol"),	    xa_inputs.get_bool("unicast"),	    xa_inputs.get_bool("multicast"),	    xa_inputs.get_ipv6net("network"),	    xa_inputs.get_ipv6("nexthop"),	    xa_inputs.get_uint32("metric"),	    xa_inputs.get_list("policytags"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for %s failed: %s",            		 "rib/0.1/replace_route6", 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_delete_route4(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){    if (xa_inputs.size() != 4) {	XLOG_ERROR("Wrong number of arguments (%u != %u) handling %s",            XORP_UINT_CAST(4), XORP_UINT_CAST(xa_inputs.size()), "rib/0.1/delete_route4");	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = rib_0_1_delete_route4(	    xa_inputs.get_string("protocol"),	    xa_inputs.get_bool("unicast"),	    xa_inputs.get_bool("multicast"),	    xa_inputs.get_ipv4net("network"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for %s failed: %s",            		 "rib/0.1/delete_route4", 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_delete_route6(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){    if (xa_inputs.size() != 4) {	XLOG_ERROR("Wrong number of arguments (%u != %u) handling %s",            XORP_UINT_CAST(4), XORP_UINT_CAST(xa_inputs.size()), "rib/0.1/delete_route6");	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = rib_0_1_delete_route6(	    xa_inputs.get_string("protocol"),	    xa_inputs.get_bool("unicast"),	    xa_inputs.get_bool("multicast"),	    xa_inputs.get_ipv6net("network"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for %s failed: %s",            		 "rib/0.1/delete_route6", 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_add_interface_route4(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){    if (xa_inputs.size() != 9) {	XLOG_ERROR("Wrong number of arguments (%u != %u) handling %s",            XORP_UINT_CAST(9), XORP_UINT_CAST(xa_inputs.size()), "rib/0.1/add_interface_route4");	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = rib_0_1_add_interface_route4(	    xa_inputs.get_string("protocol"),	    xa_inputs.get_bool("unicast"),	    xa_inputs.get_bool("multicast"),	    xa_inputs.get_ipv4net("network"),	    xa_inputs.get_ipv4("nexthop"),	    xa_inputs.get_string("ifname"),	    xa_inputs.get_string("vifname"),	    xa_inputs.get_uint32("metric"),	    xa_inputs.get_list("policytags"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for %s failed: %s",            		 "rib/0.1/add_interface_route4", 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_add_interface_route6(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){    if (xa_inputs.size() != 9) {	XLOG_ERROR("Wrong number of arguments (%u != %u) handling %s",            XORP_UINT_CAST(9), XORP_UINT_CAST(xa_inputs.size()), "rib/0.1/add_interface_route6");	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = rib_0_1_add_interface_route6(	    xa_inputs.get_string("protocol"),	    xa_inputs.get_bool("unicast"),	    xa_inputs.get_bool("multicast"),	    xa_inputs.get_ipv6net("network"),	    xa_inputs.get_ipv6("nexthop"),	    xa_inputs.get_string("ifname"),	    xa_inputs.get_string("vifname"),	    xa_inputs.get_uint32("metric"),	    xa_inputs.get_list("policytags"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for %s failed: %s",            		 "rib/0.1/add_interface_route6", 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_replace_interface_route4(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){    if (xa_inputs.size() != 9) {	XLOG_ERROR("Wrong number of arguments (%u != %u) handling %s",            XORP_UINT_CAST(9), XORP_UINT_CAST(xa_inputs.size()), "rib/0.1/replace_interface_route4");	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = rib_0_1_replace_interface_route4(	    xa_inputs.get_string("protocol"),	    xa_inputs.get_bool("unicast"),	    xa_inputs.get_bool("multicast"),	    xa_inputs.get_ipv4net("network"),	    xa_inputs.get_ipv4("nexthop"),	    xa_inputs.get_string("ifname"),	    xa_inputs.get_string("vifname"),	    xa_inputs.get_uint32("metric"),	    xa_inputs.get_list("policytags"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for %s failed: %s",            		 "rib/0.1/replace_interface_route4", 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_replace_interface_route6(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){    if (xa_inputs.size() != 9) {	XLOG_ERROR("Wrong number of arguments (%u != %u) handling %s",            XORP_UINT_CAST(9), XORP_UINT_CAST(xa_inputs.size()), "rib/0.1/replace_interface_route6");	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = rib_0_1_replace_interface_route6(	    xa_inputs.get_string("protocol"),	    xa_inputs.get_bool("unicast"),	    xa_inputs.get_bool("multicast"),	    xa_inputs.get_ipv6net("network"),	    xa_inputs.get_ipv6("nexthop"),	    xa_inputs.get_string("ifname"),	    xa_inputs.get_string("vifname"),	    xa_inputs.get_uint32("metric"),	    xa_inputs.get_list("policytags"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for %s failed: %s",            		 "rib/0.1/replace_interface_route6", 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_lookup_route_by_dest4(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/lookup_route_by_dest4");	return XrlCmdError::BAD_ARGS();    }    if (pxa_outputs == 0) {	XLOG_FATAL("Return list empty");	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    IPv4 nexthop;    try {	XrlCmdError e = rib_0_1_lookup_route_by_dest4(	    xa_inputs.get_ipv4("addr"),	    xa_inputs.get_bool("unicast"),	    xa_inputs.get_bool("multicast"),	    nexthop);	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for %s failed: %s",            		 "rib/0.1/lookup_route_by_dest4", 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("nexthop", nexthop);    } catch (const XrlArgs::XrlAtomFound& ) {	XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlRibTargetBase::handle_rib_0_1_lookup_route_by_dest6(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/lookup_route_by_dest6");	return XrlCmdError::BAD_ARGS();    }    if (pxa_outputs == 0) {	XLOG_FATAL("Return list empty");	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    IPv6 nexthop;    try {	XrlCmdError e = rib_0_1_lookup_route_by_dest6(	    xa_inputs.get_ipv6("addr"),	    xa_inputs.get_bool("unicast"),	    xa_inputs.get_bool("multicast"),	    nexthop);	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for %s failed: %s",            		 "rib/0.1/lookup_route_by_dest6", 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("nexthop", nexthop);    } catch (const XrlArgs::XrlAtomFound& ) {	XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlRibTargetBase::handle_rib_0_1_new_vif(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()), "rib/0.1/new_vif");	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = rib_0_1_new_vif(	    xa_inputs.get_string("name"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for %s failed: %s",            		 "rib/0.1/new_vif", 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_add_vif_addr4(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/add_vif_addr4");	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = rib_0_1_add_vif_addr4(	    xa_inputs.get_string("name"),	    xa_inputs.get_ipv4("addr"),	    xa_inputs.get_ipv4net("subnet"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for %s failed: %s",            		 "rib/0.1/add_vif_addr4", e.str().c_str());

⌨️ 快捷键说明

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