📄 rip_base.cc
字号:
xa_inputs.get_ipv4("addr"), xa_inputs.get_uint32("key_id")); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for %s failed: %s", "rip/0.1/delete_md5_authentication_key", e.str().c_str()); return e; } } catch (const XrlArgs::XrlAtomNotFound& e) { XLOG_ERROR("Argument not found"); return XrlCmdError::BAD_ARGS(); } return XrlCmdError::OKAY();}const XrlCmdErrorXrlRipTargetBase::handle_rip_0_1_rip_address_status(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()), "rip/0.1/rip_address_status"); return XrlCmdError::BAD_ARGS(); } if (pxa_outputs == 0) { XLOG_FATAL("Return list empty"); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ string status; try { XrlCmdError e = rip_0_1_rip_address_status( xa_inputs.get_string("ifname"), xa_inputs.get_string("vifname"), xa_inputs.get_ipv4("addr"), status); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for %s failed: %s", "rip/0.1/rip_address_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("status", status); } catch (const XrlArgs::XrlAtomFound& ) { XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */ } return XrlCmdError::OKAY();}const XrlCmdErrorXrlRipTargetBase::handle_rip_0_1_get_all_addresses(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()), "rip/0.1/get_all_addresses"); return XrlCmdError::BAD_ARGS(); } if (pxa_outputs == 0) { XLOG_FATAL("Return list empty"); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ XrlAtomList ifnames; XrlAtomList vifnames; XrlAtomList addrs; try { XrlCmdError e = rip_0_1_get_all_addresses( ifnames, vifnames, addrs); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for %s failed: %s", "rip/0.1/get_all_addresses", 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("ifnames", ifnames); pxa_outputs->add("vifnames", vifnames); pxa_outputs->add("addrs", addrs); } catch (const XrlArgs::XrlAtomFound& ) { XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */ } return XrlCmdError::OKAY();}const XrlCmdErrorXrlRipTargetBase::handle_rip_0_1_get_counters(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()), "rip/0.1/get_counters"); return XrlCmdError::BAD_ARGS(); } if (pxa_outputs == 0) { XLOG_FATAL("Return list empty"); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ XrlAtomList counter_descriptions; XrlAtomList counter_values; try { XrlCmdError e = rip_0_1_get_counters( xa_inputs.get_string("ifname"), xa_inputs.get_string("vifname"), xa_inputs.get_ipv4("addr"), counter_descriptions, counter_values); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for %s failed: %s", "rip/0.1/get_counters", 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("counter_descriptions", counter_descriptions); pxa_outputs->add("counter_values", counter_values); } catch (const XrlArgs::XrlAtomFound& ) { XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */ } return XrlCmdError::OKAY();}const XrlCmdErrorXrlRipTargetBase::handle_rip_0_1_get_peers(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()), "rip/0.1/get_peers"); return XrlCmdError::BAD_ARGS(); } if (pxa_outputs == 0) { XLOG_FATAL("Return list empty"); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ XrlAtomList peers; try { XrlCmdError e = rip_0_1_get_peers( xa_inputs.get_string("ifname"), xa_inputs.get_string("vifname"), xa_inputs.get_ipv4("addr"), peers); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for %s failed: %s", "rip/0.1/get_peers", 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("peers", peers); } catch (const XrlArgs::XrlAtomFound& ) { XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */ } return XrlCmdError::OKAY();}const XrlCmdErrorXrlRipTargetBase::handle_rip_0_1_get_all_peers(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()), "rip/0.1/get_all_peers"); return XrlCmdError::BAD_ARGS(); } if (pxa_outputs == 0) { XLOG_FATAL("Return list empty"); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ XrlAtomList peers; XrlAtomList ifnames; XrlAtomList vifnames; XrlAtomList addrs; try { XrlCmdError e = rip_0_1_get_all_peers( peers, ifnames, vifnames, addrs); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for %s failed: %s", "rip/0.1/get_all_peers", 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("peers", peers); pxa_outputs->add("ifnames", ifnames); pxa_outputs->add("vifnames", vifnames); pxa_outputs->add("addrs", addrs); } catch (const XrlArgs::XrlAtomFound& ) { XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */ } return XrlCmdError::OKAY();}const XrlCmdErrorXrlRipTargetBase::handle_rip_0_1_get_peer_counters(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()), "rip/0.1/get_peer_counters"); return XrlCmdError::BAD_ARGS(); } if (pxa_outputs == 0) { XLOG_FATAL("Return list empty"); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ XrlAtomList counter_descriptions; XrlAtomList counter_values; uint32_t peer_last_active; try { XrlCmdError e = rip_0_1_get_peer_counters( xa_inputs.get_string("ifname"), xa_inputs.get_string("vifname"), xa_inputs.get_ipv4("addr"), xa_inputs.get_ipv4("peer"), counter_descriptions, counter_values, peer_last_active); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for %s failed: %s", "rip/0.1/get_peer_counters", 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("counter_descriptions", counter_descriptions); pxa_outputs->add("counter_values", counter_values); pxa_outputs->add("peer_last_active", peer_last_active); } catch (const XrlArgs::XrlAtomFound& ) { XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */ } return XrlCmdError::OKAY();}const XrlCmdErrorXrlRipTargetBase::handle_rip_0_1_redist_protocol_routes(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()), "rip/0.1/redist_protocol_routes"); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ try { XrlCmdError e = rip_0_1_redist_protocol_routes( xa_inputs.get_string("protocol_name"), xa_inputs.get_uint32("cost"), xa_inputs.get_uint32("tag")); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for %s failed: %s", "rip/0.1/redist_protocol_routes", e.str().c_str()); return e; } } catch (const XrlArgs::XrlAtomNotFound& e) { XLOG_ERROR("Argument not found"); return XrlCmdError::BAD_ARGS(); } return XrlCmdError::OKAY();}const XrlCmdErrorXrlRipTargetBase::handle_rip_0_1_no_redist_protocol_routes(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()), "rip/0.1/no_redist_protocol_routes"); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ try { XrlCmdError e = rip_0_1_no_redist_protocol_routes( xa_inputs.get_string("protocol_name")); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for %s failed: %s", "rip/0.1/no_redist_protocol_routes", e.str().c_str()); return e; } } catch (const XrlArgs::XrlAtomNotFound& e) { XLOG_ERROR("Argument not found"); return XrlCmdError::BAD_ARGS(); } return XrlCmdError::OKAY();}const XrlCmdErrorXrlRipTargetBase::handle_socket4_user_0_1_recv_event(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()), "socket4_user/0.1/recv_event"); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ try { XrlCmdError e = socket4_user_0_1_recv_event( xa_inputs.get_string("sockid"), xa_inputs.get_ipv4("src_host"), xa_inputs.get_uint32("src_port"), xa_inputs.get_binary("data")); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for %s failed: %s", "socket4_user/0.1/recv_event", e.str().c_str()); return e; } } catch (const XrlArgs::XrlAtomNotFound& e) { XLOG_ERROR("Argument not found"); return XrlCmdError::BAD_ARGS(); } return XrlCmdError::OKAY();}const XrlCmdErrorXrlRipTargetBase::handle_socket4_user_0_1_connect_event(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()), "socket4_user/0.1/connect_event"); return XrlCmdError::BAD_ARGS(); } if (pxa_outputs == 0) { XLOG_FATAL("Return list empty"); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ bool accept; try { XrlCmdError e = socket4_user_0_1_connect_event( xa_inputs.get_string("sockid"), xa_inputs.get_ipv4("src_host"), xa_inputs.get_uint32("src_port"), xa_inputs.get_string("new_sockid"), accept); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for %s failed: %s", "socket4_user/0.1/connect_event", 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("accept", accept); } catch (const XrlArgs::XrlAtomFound& ) { XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */ } return XrlCmdError::OKAY();}const XrlCmdErrorXrlRipTargetBase::handle_socket4_user_0_1_error_event(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()), "socket4_user/0.1/error_event"); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ try { XrlCmdError e = socket4_user_0_1_error_event( xa_inputs.get_string("sockid
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -