📄 bgp_base.cc
字号:
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 + -