ospf_base.cc
来自「BCAST Implementation for NS2」· CC 代码 · 共 2,179 行 · 第 1/5 页
CC
2,179 行
} return XrlCmdError::OKAY();}const XrlCmdErrorXrlOspfTargetBase::handle_ospf_0_1_vlink_set_transmit_delay(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){ if (xa_inputs.size() != 3) { XLOG_ERROR("Wrong number of arguments (%u != 3) handling ospf/0.1/vlink_set_transmit_delay", (uint32_t)xa_inputs.size()); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ try { XrlCmdError e = ospf_0_1_vlink_set_transmit_delay( xa_inputs.get_uint32("transit_area"), xa_inputs.get_uint32("neighbor_id"), xa_inputs.get_uint32("delay_secs")); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for ospf/0.1/vlink_set_transmit_delay failed: %s", e.str().c_str()); return e; } } catch (const XrlArgs::XrlAtomNotFound& e) { XLOG_ERROR("Argument not found"); return XrlCmdError::BAD_ARGS(); } return XrlCmdError::OKAY();}const XrlCmdErrorXrlOspfTargetBase::handle_ospf_0_1_vlink_get_transmit_delay(const XrlArgs& xa_inputs, XrlArgs* pxa_outputs){ if (xa_inputs.size() != 2) { XLOG_ERROR("Wrong number of arguments (%u != 2) handling ospf/0.1/vlink_get_transmit_delay", (uint32_t)xa_inputs.size()); return XrlCmdError::BAD_ARGS(); } if (pxa_outputs == 0) { XLOG_FATAL("Return list empty"); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ uint32_t delay_secs; try { XrlCmdError e = ospf_0_1_vlink_get_transmit_delay( xa_inputs.get_uint32("transit_area"), xa_inputs.get_uint32("neighbor_id"), delay_secs); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for ospf/0.1/vlink_get_transmit_delay failed: %s", 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("delay_secs", delay_secs); } catch (const XrlArgs::XrlAtomFound& ) { XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */ } return XrlCmdError::OKAY();}const XrlCmdErrorXrlOspfTargetBase::handle_ospf_0_1_vlink_set_retransmit_interval(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){ if (xa_inputs.size() != 3) { XLOG_ERROR("Wrong number of arguments (%u != 3) handling ospf/0.1/vlink_set_retransmit_interval", (uint32_t)xa_inputs.size()); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ try { XrlCmdError e = ospf_0_1_vlink_set_retransmit_interval( xa_inputs.get_uint32("transit_area"), xa_inputs.get_uint32("neighbor_id"), xa_inputs.get_uint32("interval_secs")); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for ospf/0.1/vlink_set_retransmit_interval failed: %s", e.str().c_str()); return e; } } catch (const XrlArgs::XrlAtomNotFound& e) { XLOG_ERROR("Argument not found"); return XrlCmdError::BAD_ARGS(); } return XrlCmdError::OKAY();}const XrlCmdErrorXrlOspfTargetBase::handle_ospf_0_1_vlink_get_retransmit_interval(const XrlArgs& xa_inputs, XrlArgs* pxa_outputs){ if (xa_inputs.size() != 2) { XLOG_ERROR("Wrong number of arguments (%u != 2) handling ospf/0.1/vlink_get_retransmit_interval", (uint32_t)xa_inputs.size()); return XrlCmdError::BAD_ARGS(); } if (pxa_outputs == 0) { XLOG_FATAL("Return list empty"); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ uint32_t interval_secs; try { XrlCmdError e = ospf_0_1_vlink_get_retransmit_interval( xa_inputs.get_uint32("transit_area"), xa_inputs.get_uint32("neighbor_id"), interval_secs); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for ospf/0.1/vlink_get_retransmit_interval failed: %s", 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("interval_secs", interval_secs); } catch (const XrlArgs::XrlAtomFound& ) { XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */ } return XrlCmdError::OKAY();}const XrlCmdErrorXrlOspfTargetBase::handle_ospf_0_1_vlink_set_hello_interval(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){ if (xa_inputs.size() != 3) { XLOG_ERROR("Wrong number of arguments (%u != 3) handling ospf/0.1/vlink_set_hello_interval", (uint32_t)xa_inputs.size()); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ try { XrlCmdError e = ospf_0_1_vlink_set_hello_interval( xa_inputs.get_uint32("transit_area"), xa_inputs.get_uint32("neighbor_id"), xa_inputs.get_uint32("interval_secs")); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for ospf/0.1/vlink_set_hello_interval failed: %s", e.str().c_str()); return e; } } catch (const XrlArgs::XrlAtomNotFound& e) { XLOG_ERROR("Argument not found"); return XrlCmdError::BAD_ARGS(); } return XrlCmdError::OKAY();}const XrlCmdErrorXrlOspfTargetBase::handle_ospf_0_1_vlink_get_hello_interval(const XrlArgs& xa_inputs, XrlArgs* pxa_outputs){ if (xa_inputs.size() != 2) { XLOG_ERROR("Wrong number of arguments (%u != 2) handling ospf/0.1/vlink_get_hello_interval", (uint32_t)xa_inputs.size()); return XrlCmdError::BAD_ARGS(); } if (pxa_outputs == 0) { XLOG_FATAL("Return list empty"); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ uint32_t interval_secs; try { XrlCmdError e = ospf_0_1_vlink_get_hello_interval( xa_inputs.get_uint32("transit_area"), xa_inputs.get_uint32("neighbor_id"), interval_secs); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for ospf/0.1/vlink_get_hello_interval failed: %s", 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("interval_secs", interval_secs); } catch (const XrlArgs::XrlAtomFound& ) { XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */ } return XrlCmdError::OKAY();}const XrlCmdErrorXrlOspfTargetBase::handle_ospf_0_1_vlink_set_router_dead_interval(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){ if (xa_inputs.size() != 3) { XLOG_ERROR("Wrong number of arguments (%u != 3) handling ospf/0.1/vlink_set_router_dead_interval", (uint32_t)xa_inputs.size()); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ try { XrlCmdError e = ospf_0_1_vlink_set_router_dead_interval( xa_inputs.get_uint32("transit_area"), xa_inputs.get_uint32("neighbor_id"), xa_inputs.get_uint32("interval_secs")); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for ospf/0.1/vlink_set_router_dead_interval failed: %s", e.str().c_str()); return e; } } catch (const XrlArgs::XrlAtomNotFound& e) { XLOG_ERROR("Argument not found"); return XrlCmdError::BAD_ARGS(); } return XrlCmdError::OKAY();}const XrlCmdErrorXrlOspfTargetBase::handle_ospf_0_1_vlink_get_router_dead_interval(const XrlArgs& xa_inputs, XrlArgs* pxa_outputs){ if (xa_inputs.size() != 2) { XLOG_ERROR("Wrong number of arguments (%u != 2) handling ospf/0.1/vlink_get_router_dead_interval", (uint32_t)xa_inputs.size()); return XrlCmdError::BAD_ARGS(); } if (pxa_outputs == 0) { XLOG_FATAL("Return list empty"); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ uint32_t interval_secs; try { XrlCmdError e = ospf_0_1_vlink_get_router_dead_interval( xa_inputs.get_uint32("transit_area"), xa_inputs.get_uint32("neighbor_id"), interval_secs); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for ospf/0.1/vlink_get_router_dead_interval failed: %s", 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("interval_secs", interval_secs); } catch (const XrlArgs::XrlAtomFound& ) { XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */ } return XrlCmdError::OKAY();}const XrlCmdErrorXrlOspfTargetBase::handle_ospf_0_1_vlink_set_authentication(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){ if (xa_inputs.size() != 4) { XLOG_ERROR("Wrong number of arguments (%u != 4) handling ospf/0.1/vlink_set_authentication", (uint32_t)xa_inputs.size()); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ try { XrlCmdError e = ospf_0_1_vlink_set_authentication( xa_inputs.get_uint32("transit_area"), xa_inputs.get_uint32("neighbor_id"), xa_inputs.get_string("type"), xa_inputs.get_string("key")); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for ospf/0.1/vlink_set_authentication failed: %s", e.str().c_str()); return e; } } catch (const XrlArgs::XrlAtomNotFound& e) { XLOG_ERROR("Argument not found"); return XrlCmdError::BAD_ARGS(); } return XrlCmdError::OKAY();}const XrlCmdErrorXrlOspfTargetBase::handle_ospf_0_1_vlink_get_authentication(const XrlArgs& xa_inputs, XrlArgs* pxa_outputs){ if (xa_inputs.size() != 2) { XLOG_ERROR("Wrong number of arguments (%u != 2) handling ospf/0.1/vlink_get_authentication", (uint32_t)xa_inputs.size()); return XrlCmdError::BAD_ARGS(); } if (pxa_outputs == 0) { XLOG_FATAL("Return list empty"); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ string type; string key; try { XrlCmdError e = ospf_0_1_vlink_get_authentication( xa_inputs.get_uint32("transit_area"), xa_inputs.get_uint32("neighbor_id"), type, key); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for ospf/0.1/vlink_get_authentication failed: %s", 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("type", type); pxa_outputs->add("key", key); } catch (const XrlArgs::XrlAtomFound& ) { XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */ } return XrlCmdError::OKAY();}const XrlCmdErrorXrlOspfTargetBase::handle_ospf_0_1_list_vlinks(const XrlArgs& xa_inputs, XrlArgs* pxa_outputs){ if (xa_inputs.size() != 1) { XLOG_ERROR("Wrong number of arguments (%u != 1) handling ospf/0.1/list_vlinks", (uint32_t)xa_inputs.size()); return XrlCmdError::BAD_ARGS(); } if (pxa_outputs == 0) { XLOG_FATAL("Return list empty"); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ XrlAtomList neighbor_ids; try { XrlCmdError e = ospf_0_1_list_vlinks( xa_inputs.get_uint32("transit_id"), neighbor_ids); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for ospf/0.1/list_vlinks failed: %s", 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("neighbor_ids", neighbor_ids); } catch (const XrlArgs::XrlAtomFound& ) { XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */ } return XrlCmdError::OKAY();}const XrlCmdErrorXrlOspfTargetBase::handle_ospf_0_1_add_or_configure_external_route(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){ if (xa_inputs.size() != 6) { XLOG_ERROR("Wrong number of arguments (%u != 6) handling ospf/0.1/add_or_configure_external_route", (uint32_t)xa_inputs.size()); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ try { XrlCmdError e = ospf_0_1_add_or_configure_external_route( xa_inputs.get_ipv4net("network"), xa_inputs.get_ipv4("gateway"), xa_inputs.get_uint32("type"), xa_inputs.get_uint32("cost"), xa_inputs.get_bool("multicast"), xa_inputs.get_uint32("external_route_tag")); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for ospf/0.1/add_or_configure_external_route failed: %s", e.str().c_str()); return e; } } catch (const XrlArgs::XrlAtomNotFound& e) { XLOG_ERROR("Argument not found"); return XrlCmdError::BAD_ARGS(); } return XrlCmdError::OKAY();}const XrlCmdErrorXrlOspfTargetBase::handle_ospf_0_1_delete_external_route(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){ if (xa_inputs.size() != 2) { XLOG_ERROR("Wrong number of arguments (%u != 2) handling ospf/0.1/delete_external_route", (uint32_t)xa_inputs.size()); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ try { XrlCmdError e = ospf_0_1_delete_external_route( xa_inputs.get_ipv4net("network"), xa_inputs.get_ipv4("gateway")); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for ospf/0.1/delete_external_route failed: %s", e.str().c_str()); return e; } } catch (const XrlArgs::XrlAtomNotFound& e) { XLOG_ERROR("Argument not found"); return XrlCmdError::BAD_ARGS(); } return XrlCmdError::OKAY();
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?