pim_base.cc
来自「BCAST Implementation for NS2」· CC 代码 · 共 2,099 行 · 第 1/5 页
CC
2,099 行
return XrlCmdError::BAD_ARGS(); } /* Marshall return values */ try { pxa_outputs->add("tid", tid); } catch (const XrlArgs::XrlAtomFound& ) { XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */ } return XrlCmdError::OKAY();}const XrlCmdErrorXrlPimTargetBase::handle_fti_0_2_commit_transaction(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){ if (xa_inputs.size() != 1) { XLOG_ERROR("Wrong number of arguments (%u != 1) handling fti/0.2/commit_transaction", (uint32_t)xa_inputs.size()); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ try { XrlCmdError e = fti_0_2_commit_transaction( xa_inputs.get_uint32("tid")); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for fti/0.2/commit_transaction 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 XrlCmdErrorXrlPimTargetBase::handle_fti_0_2_abort_transaction(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){ if (xa_inputs.size() != 1) { XLOG_ERROR("Wrong number of arguments (%u != 1) handling fti/0.2/abort_transaction", (uint32_t)xa_inputs.size()); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ try { XrlCmdError e = fti_0_2_abort_transaction( xa_inputs.get_uint32("tid")); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for fti/0.2/abort_transaction 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 XrlCmdErrorXrlPimTargetBase::handle_fti_0_2_add_entry4(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){ if (xa_inputs.size() != 8) { XLOG_ERROR("Wrong number of arguments (%u != 8) handling fti/0.2/add_entry4", (uint32_t)xa_inputs.size()); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ try { XrlCmdError e = fti_0_2_add_entry4( xa_inputs.get_uint32("tid"), xa_inputs.get_ipv4net("dst"), xa_inputs.get_ipv4("gateway"), xa_inputs.get_string("ifname"), xa_inputs.get_string("vifname"), xa_inputs.get_uint32("metric"), xa_inputs.get_uint32("admin_distance"), xa_inputs.get_string("protocol_origin")); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for fti/0.2/add_entry4 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 XrlCmdErrorXrlPimTargetBase::handle_fti_0_2_add_entry6(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){ if (xa_inputs.size() != 8) { XLOG_ERROR("Wrong number of arguments (%u != 8) handling fti/0.2/add_entry6", (uint32_t)xa_inputs.size()); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ try { XrlCmdError e = fti_0_2_add_entry6( xa_inputs.get_uint32("tid"), xa_inputs.get_ipv6net("dst"), xa_inputs.get_ipv6("gateway"), xa_inputs.get_string("ifname"), xa_inputs.get_string("vifname"), xa_inputs.get_uint32("metric"), xa_inputs.get_uint32("admin_distance"), xa_inputs.get_string("protocol_origin")); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for fti/0.2/add_entry6 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 XrlCmdErrorXrlPimTargetBase::handle_fti_0_2_delete_entry4(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){ if (xa_inputs.size() != 2) { XLOG_ERROR("Wrong number of arguments (%u != 2) handling fti/0.2/delete_entry4", (uint32_t)xa_inputs.size()); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ try { XrlCmdError e = fti_0_2_delete_entry4( xa_inputs.get_uint32("tid"), xa_inputs.get_ipv4net("dst")); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for fti/0.2/delete_entry4 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 XrlCmdErrorXrlPimTargetBase::handle_fti_0_2_delete_entry6(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){ if (xa_inputs.size() != 2) { XLOG_ERROR("Wrong number of arguments (%u != 2) handling fti/0.2/delete_entry6", (uint32_t)xa_inputs.size()); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ try { XrlCmdError e = fti_0_2_delete_entry6( xa_inputs.get_uint32("tid"), xa_inputs.get_ipv6net("dst")); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for fti/0.2/delete_entry6 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 XrlCmdErrorXrlPimTargetBase::handle_fti_0_2_delete_all_entries(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){ if (xa_inputs.size() != 1) { XLOG_ERROR("Wrong number of arguments (%u != 1) handling fti/0.2/delete_all_entries", (uint32_t)xa_inputs.size()); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ try { XrlCmdError e = fti_0_2_delete_all_entries( xa_inputs.get_uint32("tid")); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for fti/0.2/delete_all_entries 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 XrlCmdErrorXrlPimTargetBase::handle_fti_0_2_delete_all_entries4(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){ if (xa_inputs.size() != 1) { XLOG_ERROR("Wrong number of arguments (%u != 1) handling fti/0.2/delete_all_entries4", (uint32_t)xa_inputs.size()); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ try { XrlCmdError e = fti_0_2_delete_all_entries4( xa_inputs.get_uint32("tid")); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for fti/0.2/delete_all_entries4 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 XrlCmdErrorXrlPimTargetBase::handle_fti_0_2_delete_all_entries6(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){ if (xa_inputs.size() != 1) { XLOG_ERROR("Wrong number of arguments (%u != 1) handling fti/0.2/delete_all_entries6", (uint32_t)xa_inputs.size()); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ try { XrlCmdError e = fti_0_2_delete_all_entries6( xa_inputs.get_uint32("tid")); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for fti/0.2/delete_all_entries6 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 XrlCmdErrorXrlPimTargetBase::handle_fti_0_2_lookup_route4(const XrlArgs& xa_inputs, XrlArgs* pxa_outputs){ if (xa_inputs.size() != 1) { XLOG_ERROR("Wrong number of arguments (%u != 1) handling fti/0.2/lookup_route4", (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 */ IPv4Net netmask; IPv4 gateway; string ifname; string vifname; uint32_t metric; uint32_t admin_distance; string protocol_origin; try { XrlCmdError e = fti_0_2_lookup_route4( xa_inputs.get_ipv4("dst"), netmask, gateway, ifname, vifname, metric, admin_distance, protocol_origin); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for fti/0.2/lookup_route4 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("netmask", netmask); pxa_outputs->add("gateway", gateway); pxa_outputs->add("ifname", ifname); pxa_outputs->add("vifname", vifname); pxa_outputs->add("metric", metric); pxa_outputs->add("admin_distance", admin_distance); pxa_outputs->add("protocol_origin", protocol_origin); } catch (const XrlArgs::XrlAtomFound& ) { XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */ } return XrlCmdError::OKAY();}const XrlCmdErrorXrlPimTargetBase::handle_fti_0_2_lookup_route6(const XrlArgs& xa_inputs, XrlArgs* pxa_outputs){ if (xa_inputs.size() != 1) { XLOG_ERROR("Wrong number of arguments (%u != 1) handling fti/0.2/lookup_route6", (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 */ IPv6Net netmask; IPv6 gateway; string ifname; string vifname; uint32_t metric; uint32_t admin_distance; string protocol_origin; try { XrlCmdError e = fti_0_2_lookup_route6( xa_inputs.get_ipv6("dst"), netmask, gateway, ifname, vifname, metric, admin_distance, protocol_origin); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for fti/0.2/lookup_route6 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("netmask", netmask); pxa_outputs->add("gateway", gateway); pxa_outputs->add("ifname", ifname); pxa_outputs->add("vifname", vifname); pxa_outputs->add("metric", metric); pxa_outputs->add("admin_distance", admin_distance); pxa_outputs->add("protocol_origin", protocol_origin); } catch (const XrlArgs::XrlAtomFound& ) { XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */ } return XrlCmdError::OKAY();}const XrlCmdErrorXrlPimTargetBase::handle_fti_0_2_lookup_entry4(const XrlArgs& xa_inputs, XrlArgs* pxa_outputs){ if (xa_inputs.size() != 1) { XLOG_ERROR("Wrong number of arguments (%u != 1) handling fti/0.2/lookup_entry4", (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 */ IPv4 gateway; string ifname; string vifname; uint32_t metric; uint32_t admin_distance; string protocol_origin; try { XrlCmdError e = fti_0_2_lookup_entry4( xa_inputs.get_ipv4net("dst"), gateway, ifname, vifname, metric, admin_distance, protocol_origin); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for fti/0.2/lookup_entry4 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("gateway", gateway); pxa_outputs->add("ifname", ifname); pxa_outputs->add("vifname", vifname); pxa_outputs->add("metric", metric); pxa_outputs->add("admin_distance", admin_distance); pxa_outputs->add("protocol_origin", protocol_origin); } catch (const XrlArgs::XrlAtomFound& ) { XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */ } return XrlCmdError::OKAY();}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?