pim_base.cc
来自「BCAST Implementation for NS2」· CC 代码 · 共 2,099 行 · 第 1/5 页
CC
2,099 行
const XrlCmdErrorXrlPimTargetBase::handle_fti_0_2_lookup_entry6(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_entry6", (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 */ IPv6 gateway; string ifname; string vifname; uint32_t metric; uint32_t admin_distance; string protocol_origin; try { XrlCmdError e = fti_0_2_lookup_entry6( xa_inputs.get_ipv6net("dst"), gateway, ifname, vifname, metric, admin_distance, protocol_origin); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for fti/0.2/lookup_entry6 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();}const XrlCmdErrorXrlPimTargetBase::handle_fti_0_2_have_ipv4(const XrlArgs& xa_inputs, XrlArgs* pxa_outputs){ if (xa_inputs.size() != 0) { XLOG_ERROR("Wrong number of arguments (%u != 0) handling fti/0.2/have_ipv4", (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 */ bool result; try { XrlCmdError e = fti_0_2_have_ipv4( result); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for fti/0.2/have_ipv4 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("result", result); } catch (const XrlArgs::XrlAtomFound& ) { XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */ } return XrlCmdError::OKAY();}const XrlCmdErrorXrlPimTargetBase::handle_fti_0_2_have_ipv6(const XrlArgs& xa_inputs, XrlArgs* pxa_outputs){ if (xa_inputs.size() != 0) { XLOG_ERROR("Wrong number of arguments (%u != 0) handling fti/0.2/have_ipv6", (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 */ bool result; try { XrlCmdError e = fti_0_2_have_ipv6( result); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for fti/0.2/have_ipv6 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("result", result); } catch (const XrlArgs::XrlAtomFound& ) { XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */ } return XrlCmdError::OKAY();}const XrlCmdErrorXrlPimTargetBase::handle_fti_0_2_get_unicast_forwarding_enabled4(const XrlArgs& xa_inputs, XrlArgs* pxa_outputs){ if (xa_inputs.size() != 0) { XLOG_ERROR("Wrong number of arguments (%u != 0) handling fti/0.2/get_unicast_forwarding_enabled4", (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 */ bool enabled; try { XrlCmdError e = fti_0_2_get_unicast_forwarding_enabled4( enabled); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for fti/0.2/get_unicast_forwarding_enabled4 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("enabled", enabled); } catch (const XrlArgs::XrlAtomFound& ) { XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */ } return XrlCmdError::OKAY();}const XrlCmdErrorXrlPimTargetBase::handle_fti_0_2_get_unicast_forwarding_enabled6(const XrlArgs& xa_inputs, XrlArgs* pxa_outputs){ if (xa_inputs.size() != 0) { XLOG_ERROR("Wrong number of arguments (%u != 0) handling fti/0.2/get_unicast_forwarding_enabled6", (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 */ bool enabled; try { XrlCmdError e = fti_0_2_get_unicast_forwarding_enabled6( enabled); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for fti/0.2/get_unicast_forwarding_enabled6 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("enabled", enabled); } catch (const XrlArgs::XrlAtomFound& ) { XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */ } return XrlCmdError::OKAY();}const XrlCmdErrorXrlPimTargetBase::handle_fti_0_2_set_unicast_forwarding_enabled4(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){ if (xa_inputs.size() != 1) { XLOG_ERROR("Wrong number of arguments (%u != 1) handling fti/0.2/set_unicast_forwarding_enabled4", (uint32_t)xa_inputs.size()); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ try { XrlCmdError e = fti_0_2_set_unicast_forwarding_enabled4( xa_inputs.get_bool("enabled")); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for fti/0.2/set_unicast_forwarding_enabled4 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_set_unicast_forwarding_enabled6(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){ if (xa_inputs.size() != 1) { XLOG_ERROR("Wrong number of arguments (%u != 1) handling fti/0.2/set_unicast_forwarding_enabled6", (uint32_t)xa_inputs.size()); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ try { XrlCmdError e = fti_0_2_set_unicast_forwarding_enabled6( xa_inputs.get_bool("enabled")); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for fti/0.2/set_unicast_forwarding_enabled6 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_mld6igmp_client_0_1_add_membership4(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){ if (xa_inputs.size() != 5) { XLOG_ERROR("Wrong number of arguments (%u != 5) handling mld6igmp_client/0.1/add_membership4", (uint32_t)xa_inputs.size()); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ try { XrlCmdError e = mld6igmp_client_0_1_add_membership4( xa_inputs.get_string("xrl_sender_name"), xa_inputs.get_string("vif_name"), xa_inputs.get_uint32("vif_index"), xa_inputs.get_ipv4("source"), xa_inputs.get_ipv4("group")); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for mld6igmp_client/0.1/add_membership4 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_mld6igmp_client_0_1_add_membership6(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){ if (xa_inputs.size() != 5) { XLOG_ERROR("Wrong number of arguments (%u != 5) handling mld6igmp_client/0.1/add_membership6", (uint32_t)xa_inputs.size()); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ try { XrlCmdError e = mld6igmp_client_0_1_add_membership6( xa_inputs.get_string("xrl_sender_name"), xa_inputs.get_string("vif_name"), xa_inputs.get_uint32("vif_index"), xa_inputs.get_ipv6("source"), xa_inputs.get_ipv6("group")); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for mld6igmp_client/0.1/add_membership6 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_mld6igmp_client_0_1_delete_membership4(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){ if (xa_inputs.size() != 5) { XLOG_ERROR("Wrong number of arguments (%u != 5) handling mld6igmp_client/0.1/delete_membership4", (uint32_t)xa_inputs.size()); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ try { XrlCmdError e = mld6igmp_client_0_1_delete_membership4( xa_inputs.get_string("xrl_sender_name"), xa_inputs.get_string("vif_name"), xa_inputs.get_uint32("vif_index"), xa_inputs.get_ipv4("source"), xa_inputs.get_ipv4("group")); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for mld6igmp_client/0.1/delete_membership4 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_mld6igmp_client_0_1_delete_membership6(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){ if (xa_inputs.size() != 5) { XLOG_ERROR("Wrong number of arguments (%u != 5) handling mld6igmp_client/0.1/delete_membership6", (uint32_t)xa_inputs.size()); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ try { XrlCmdError e = mld6igmp_client_0_1_delete_membership6( xa_inputs.get_string("xrl_sender_name"), xa_inputs.get_string("vif_name"), xa_inputs.get_uint32("vif_index"), xa_inputs.get_ipv6("source"), xa_inputs.get_ipv6("group")); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for mld6igmp_client/0.1/delete_membership6 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_pim_0_1_enable_vif(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){ if (xa_inputs.size() != 1) { XLOG_ERROR("Wrong number of arguments (%u != 1) handling pim/0.1/enable_vif", (uint32_t)xa_inputs.size()); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ try { XrlCmdError e = pim_0_1_enable_vif( xa_inputs.get_string("vif_name")); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for pim/0.1/enable_vif 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_pim_0_1_disable_vif(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){ if (xa_inputs.size() != 1) { XLOG_ERROR("Wrong number of arguments (%u != 1) handling pim/0.1/disable_vif", (uint32_t)xa_inputs.size()); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ try { XrlCmdError e = pim_0_1_disable_vif( xa_inputs.get_string("vif_name")); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for pim/0.1/disable_vif failed: %s", e.str().c_str()); return e; } } catch (const XrlArgs::XrlAtomNotFound& e) { XLOG_ERROR("Argument not found"); return XrlCmdError::BAD_ARGS(); }
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?