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

📄 bgp_base.cc

📁 xorp源码hg
💻 CC
📖 第 1 页 / 共 5 页
字号:
const XrlCmdErrorXrlBgpTargetBase::handle_bgp_0_2_get_peer_list_next(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()), "bgp/0.2/get_peer_list_next");	return XrlCmdError::BAD_ARGS();    }    if (pxa_outputs == 0) {	XLOG_FATAL("Return list empty");	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    string local_ip;    uint32_t local_port;    string peer_ip;    uint32_t peer_port;    bool more;    try {	XrlCmdError e = bgp_0_2_get_peer_list_next(	    xa_inputs.get_uint32("token"),	    local_ip,	    local_port,	    peer_ip,	    peer_port,	    more);	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for %s failed: %s",            		 "bgp/0.2/get_peer_list_next", 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("local_ip", local_ip);	pxa_outputs->add("local_port", local_port);	pxa_outputs->add("peer_ip", peer_ip);	pxa_outputs->add("peer_port", peer_port);	pxa_outputs->add("more", more);    } catch (const XrlArgs::XrlAtomFound& ) {	XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlBgpTargetBase::handle_bgp_0_2_get_peer_id(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()), "bgp/0.2/get_peer_id");	return XrlCmdError::BAD_ARGS();    }    if (pxa_outputs == 0) {	XLOG_FATAL("Return list empty");	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    IPv4 peer_id;    try {	XrlCmdError e = bgp_0_2_get_peer_id(	    xa_inputs.get_string("local_ip"),	    xa_inputs.get_uint32("local_port"),	    xa_inputs.get_string("peer_ip"),	    xa_inputs.get_uint32("peer_port"),	    peer_id);	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for %s failed: %s",            		 "bgp/0.2/get_peer_id", 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("peer_id", peer_id);    } catch (const XrlArgs::XrlAtomFound& ) {	XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlBgpTargetBase::handle_bgp_0_2_get_peer_status(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()), "bgp/0.2/get_peer_status");	return XrlCmdError::BAD_ARGS();    }    if (pxa_outputs == 0) {	XLOG_FATAL("Return list empty");	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    uint32_t peer_state;    uint32_t admin_status;    try {	XrlCmdError e = bgp_0_2_get_peer_status(	    xa_inputs.get_string("local_ip"),	    xa_inputs.get_uint32("local_port"),	    xa_inputs.get_string("peer_ip"),	    xa_inputs.get_uint32("peer_port"),	    peer_state,	    admin_status);	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for %s failed: %s",            		 "bgp/0.2/get_peer_status", 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("peer_state", peer_state);	pxa_outputs->add("admin_status", admin_status);    } catch (const XrlArgs::XrlAtomFound& ) {	XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlBgpTargetBase::handle_bgp_0_2_get_peer_negotiated_version(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()), "bgp/0.2/get_peer_negotiated_version");	return XrlCmdError::BAD_ARGS();    }    if (pxa_outputs == 0) {	XLOG_FATAL("Return list empty");	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    int32_t neg_version;    try {	XrlCmdError e = bgp_0_2_get_peer_negotiated_version(	    xa_inputs.get_string("local_ip"),	    xa_inputs.get_uint32("local_port"),	    xa_inputs.get_string("peer_ip"),	    xa_inputs.get_uint32("peer_port"),	    neg_version);	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for %s failed: %s",            		 "bgp/0.2/get_peer_negotiated_version", 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("neg_version", neg_version);    } catch (const XrlArgs::XrlAtomFound& ) {	XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlBgpTargetBase::handle_bgp_0_2_get_peer_as(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()), "bgp/0.2/get_peer_as");	return XrlCmdError::BAD_ARGS();    }    if (pxa_outputs == 0) {	XLOG_FATAL("Return list empty");	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    uint32_t peer_as;    try {	XrlCmdError e = bgp_0_2_get_peer_as(	    xa_inputs.get_string("local_ip"),	    xa_inputs.get_uint32("local_port"),	    xa_inputs.get_string("peer_ip"),	    xa_inputs.get_uint32("peer_port"),	    peer_as);	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for %s failed: %s",            		 "bgp/0.2/get_peer_as", 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("peer_as", peer_as);    } catch (const XrlArgs::XrlAtomFound& ) {	XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlBgpTargetBase::handle_bgp_0_2_get_peer_msg_stats(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()), "bgp/0.2/get_peer_msg_stats");	return XrlCmdError::BAD_ARGS();    }    if (pxa_outputs == 0) {	XLOG_FATAL("Return list empty");	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    uint32_t in_updates;    uint32_t out_updates;    uint32_t in_msgs;    uint32_t out_msgs;    uint32_t last_error;    uint32_t in_update_elapsed;    try {	XrlCmdError e = bgp_0_2_get_peer_msg_stats(	    xa_inputs.get_string("local_ip"),	    xa_inputs.get_uint32("local_port"),	    xa_inputs.get_string("peer_ip"),	    xa_inputs.get_uint32("peer_port"),	    in_updates,	    out_updates,	    in_msgs,	    out_msgs,	    last_error,	    in_update_elapsed);	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for %s failed: %s",            		 "bgp/0.2/get_peer_msg_stats", 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("in_updates", in_updates);	pxa_outputs->add("out_updates", out_updates);	pxa_outputs->add("in_msgs", in_msgs);	pxa_outputs->add("out_msgs", out_msgs);	pxa_outputs->add("last_error", last_error);	pxa_outputs->add("in_update_elapsed", in_update_elapsed);    } catch (const XrlArgs::XrlAtomFound& ) {	XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlBgpTargetBase::handle_bgp_0_2_get_peer_established_stats(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()), "bgp/0.2/get_peer_established_stats");	return XrlCmdError::BAD_ARGS();    }    if (pxa_outputs == 0) {	XLOG_FATAL("Return list empty");	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    uint32_t transitions;    uint32_t established_time;    try {	XrlCmdError e = bgp_0_2_get_peer_established_stats(	    xa_inputs.get_string("local_ip"),	    xa_inputs.get_uint32("local_port"),	    xa_inputs.get_string("peer_ip"),	    xa_inputs.get_uint32("peer_port"),	    transitions,	    established_time);	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for %s failed: %s",            		 "bgp/0.2/get_peer_established_stats", 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("transitions", transitions);	pxa_outputs->add("established_time", established_time);    } catch (const XrlArgs::XrlAtomFound& ) {	XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlBgpTargetBase::handle_bgp_0_2_get_peer_timer_config(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()), "bgp/0.2/get_peer_timer_config");	return XrlCmdError::BAD_ARGS();    }    if (pxa_outputs == 0) {	XLOG_FATAL("Return list empty");	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    uint32_t retry_interval;    uint32_t hold_time;    uint32_t keep_alive;    uint32_t hold_time_conf;    uint32_t keep_alive_conf;    uint32_t min_as_orgination_interval;    uint32_t min_route_adv_interval;    try {	XrlCmdError e = bgp_0_2_get_peer_timer_config(	    xa_inputs.get_string("local_ip"),	    xa_inputs.get_uint32("local_port"),	    xa_inputs.get_string("peer_ip"),	    xa_inputs.get_uint32("peer_port"),	    retry_interval,	    hold_time,	    keep_alive,	    hold_time_conf,	    keep_alive_conf,	    min_as_orgination_interval,	    min_route_adv_interval);	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for %s failed: %s",            		 "bgp/0.2/get_peer_timer_config", 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("retry_interval", retry_interval);	pxa_outputs->add("hold_time", hold_time);	pxa_outputs->add("keep_alive", keep_alive);	pxa_outputs->add("hold_time_conf", hold_time_conf);	pxa_outputs->add("keep_alive_conf", keep_alive_conf);	pxa_outputs->add("min_as_orgination_interval", min_as_orgination_interval);	pxa_outputs->add("min_route_adv_interval", min_route_adv_interval);    } catch (const XrlArgs::XrlAtomFound& ) {	XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlBgpTargetBase::handle_bgp_0_2_register_rib(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()), "bgp/0.2/register_rib");	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = bgp_0_2_register_rib(	    xa_inputs.get_string("name"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for %s failed: %s",            		 "bgp/0.2/register_rib", e.str().c_str());	    return e;        }    } catch (const XrlArgs::XrlAtomNotFound& e) {	XLOG_ERROR("Argument not found");	return XrlCmdError::BAD_ARGS();    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlBgpTargetBase::handle_bgp_0_2_get_v4_route_list_start(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()), "bgp/0.2/get_v4_route_list_start");	return XrlCmdError::BAD_ARGS();    }

⌨️ 快捷键说明

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