📄 ospfv3_base.cc
字号:
XrlCmdError e = ospfv3_0_1_get_neighbour_list( areas); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for %s failed: %s", "ospfv3/0.1/get_neighbour_list", 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("areas", areas); } catch (const XrlArgs::XrlAtomFound& ) { XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */ } return XrlCmdError::OKAY();}const XrlCmdErrorXrlOspfv3TargetBase::handle_ospfv3_0_1_get_neighbour_info(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()), "ospfv3/0.1/get_neighbour_info"); return XrlCmdError::BAD_ARGS(); } if (pxa_outputs == 0) { XLOG_FATAL("Return list empty"); return XrlCmdError::BAD_ARGS(); } /* Return value declarations */ string address; string interface; string state; IPv4 rid; uint32_t priority; uint32_t deadtime; IPv4 area; uint32_t opt; IPv4 dr; IPv4 bdr; uint32_t up; uint32_t adjacent; try { XrlCmdError e = ospfv3_0_1_get_neighbour_info( xa_inputs.get_uint32("nid"), address, interface, state, rid, priority, deadtime, area, opt, dr, bdr, up, adjacent); if (e != XrlCmdError::OKAY()) { XLOG_WARNING("Handling method for %s failed: %s", "ospfv3/0.1/get_neighbour_info", 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("address", address); pxa_outputs->add("interface", interface); pxa_outputs->add("state", state); pxa_outputs->add("rid", rid); pxa_outputs->add("priority", priority); pxa_outputs->add("deadtime", deadtime); pxa_outputs->add("area", area); pxa_outputs->add("opt", opt); pxa_outputs->add("dr", dr); pxa_outputs->add("bdr", bdr); pxa_outputs->add("up", up); pxa_outputs->add("adjacent", adjacent); } catch (const XrlArgs::XrlAtomFound& ) { XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */ } return XrlCmdError::OKAY();}voidXrlOspfv3TargetBase::add_handlers(){ if (_cmds->add_handler("common/0.1/get_target_name", callback(this, &XrlOspfv3TargetBase::handle_common_0_1_get_target_name)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "ospfv3", "common/0.1/get_target_name"); } if (_cmds->add_handler("common/0.1/get_version", callback(this, &XrlOspfv3TargetBase::handle_common_0_1_get_version)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "ospfv3", "common/0.1/get_version"); } if (_cmds->add_handler("common/0.1/get_status", callback(this, &XrlOspfv3TargetBase::handle_common_0_1_get_status)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "ospfv3", "common/0.1/get_status"); } if (_cmds->add_handler("common/0.1/shutdown", callback(this, &XrlOspfv3TargetBase::handle_common_0_1_shutdown)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "ospfv3", "common/0.1/shutdown"); } if (_cmds->add_handler("raw_packet4_client/0.1/recv", callback(this, &XrlOspfv3TargetBase::handle_raw_packet4_client_0_1_recv)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "ospfv3", "raw_packet4_client/0.1/recv"); } if (_cmds->add_handler("raw_packet6_client/0.1/recv", callback(this, &XrlOspfv3TargetBase::handle_raw_packet6_client_0_1_recv)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "ospfv3", "raw_packet6_client/0.1/recv"); } if (_cmds->add_handler("policy_backend/0.1/configure", callback(this, &XrlOspfv3TargetBase::handle_policy_backend_0_1_configure)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "ospfv3", "policy_backend/0.1/configure"); } if (_cmds->add_handler("policy_backend/0.1/reset", callback(this, &XrlOspfv3TargetBase::handle_policy_backend_0_1_reset)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "ospfv3", "policy_backend/0.1/reset"); } if (_cmds->add_handler("policy_backend/0.1/push_routes", callback(this, &XrlOspfv3TargetBase::handle_policy_backend_0_1_push_routes)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "ospfv3", "policy_backend/0.1/push_routes"); } if (_cmds->add_handler("policy_redist6/0.1/add_route6", callback(this, &XrlOspfv3TargetBase::handle_policy_redist6_0_1_add_route6)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "ospfv3", "policy_redist6/0.1/add_route6"); } if (_cmds->add_handler("policy_redist6/0.1/delete_route6", callback(this, &XrlOspfv3TargetBase::handle_policy_redist6_0_1_delete_route6)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "ospfv3", "policy_redist6/0.1/delete_route6"); } if (_cmds->add_handler("ospfv3/0.1/set_instance_id", callback(this, &XrlOspfv3TargetBase::handle_ospfv3_0_1_set_instance_id)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "ospfv3", "ospfv3/0.1/set_instance_id"); } if (_cmds->add_handler("ospfv3/0.1/set_router_id", callback(this, &XrlOspfv3TargetBase::handle_ospfv3_0_1_set_router_id)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "ospfv3", "ospfv3/0.1/set_router_id"); } if (_cmds->add_handler("ospfv3/0.1/set_ip_router_alert", callback(this, &XrlOspfv3TargetBase::handle_ospfv3_0_1_set_ip_router_alert)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "ospfv3", "ospfv3/0.1/set_ip_router_alert"); } if (_cmds->add_handler("ospfv3/0.1/create_area_router", callback(this, &XrlOspfv3TargetBase::handle_ospfv3_0_1_create_area_router)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "ospfv3", "ospfv3/0.1/create_area_router"); } if (_cmds->add_handler("ospfv3/0.1/change_area_router_type", callback(this, &XrlOspfv3TargetBase::handle_ospfv3_0_1_change_area_router_type)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "ospfv3", "ospfv3/0.1/change_area_router_type"); } if (_cmds->add_handler("ospfv3/0.1/destroy_area_router", callback(this, &XrlOspfv3TargetBase::handle_ospfv3_0_1_destroy_area_router)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "ospfv3", "ospfv3/0.1/destroy_area_router"); } if (_cmds->add_handler("ospfv3/0.1/create_peer", callback(this, &XrlOspfv3TargetBase::handle_ospfv3_0_1_create_peer)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "ospfv3", "ospfv3/0.1/create_peer"); } if (_cmds->add_handler("ospfv3/0.1/delete_peer", callback(this, &XrlOspfv3TargetBase::handle_ospfv3_0_1_delete_peer)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "ospfv3", "ospfv3/0.1/delete_peer"); } if (_cmds->add_handler("ospfv3/0.1/set_peer_state", callback(this, &XrlOspfv3TargetBase::handle_ospfv3_0_1_set_peer_state)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "ospfv3", "ospfv3/0.1/set_peer_state"); } if (_cmds->add_handler("ospfv3/0.1/add_address_peer", callback(this, &XrlOspfv3TargetBase::handle_ospfv3_0_1_add_address_peer)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "ospfv3", "ospfv3/0.1/add_address_peer"); } if (_cmds->add_handler("ospfv3/0.1/remove_address_peer", callback(this, &XrlOspfv3TargetBase::handle_ospfv3_0_1_remove_address_peer)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "ospfv3", "ospfv3/0.1/remove_address_peer"); } if (_cmds->add_handler("ospfv3/0.1/set_address_state_peer", callback(this, &XrlOspfv3TargetBase::handle_ospfv3_0_1_set_address_state_peer)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "ospfv3", "ospfv3/0.1/set_address_state_peer"); } if (_cmds->add_handler("ospfv3/0.1/activate_peer", callback(this, &XrlOspfv3TargetBase::handle_ospfv3_0_1_activate_peer)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "ospfv3", "ospfv3/0.1/activate_peer"); } if (_cmds->add_handler("ospfv3/0.1/update_peer", callback(this, &XrlOspfv3TargetBase::handle_ospfv3_0_1_update_peer)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "ospfv3", "ospfv3/0.1/update_peer"); } if (_cmds->add_handler("ospfv3/0.1/add_neighbour", callback(this, &XrlOspfv3TargetBase::handle_ospfv3_0_1_add_neighbour)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "ospfv3", "ospfv3/0.1/add_neighbour"); } if (_cmds->add_handler("ospfv3/0.1/remove_neighbour", callback(this, &XrlOspfv3TargetBase::handle_ospfv3_0_1_remove_neighbour)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "ospfv3", "ospfv3/0.1/remove_neighbour"); } if (_cmds->add_handler("ospfv3/0.1/create_virtual_link", callback(this, &XrlOspfv3TargetBase::handle_ospfv3_0_1_create_virtual_link)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "ospfv3", "ospfv3/0.1/create_virtual_link"); } if (_cmds->add_handler("ospfv3/0.1/delete_virtual_link", callback(this, &XrlOspfv3TargetBase::handle_ospfv3_0_1_delete_virtual_link)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "ospfv3", "ospfv3/0.1/delete_virtual_link"); } if (_cmds->add_handler("ospfv3/0.1/transit_area_virtual_link", callback(this, &XrlOspfv3TargetBase::handle_ospfv3_0_1_transit_area_virtual_link)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "ospfv3", "ospfv3/0.1/transit_area_virtual_link"); } if (_cmds->add_handler("ospfv3/0.1/set_interface_cost", callback(this, &XrlOspfv3TargetBase::handle_ospfv3_0_1_set_interface_cost)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "ospfv3", "ospfv3/0.1/set_interface_cost"); } if (_cmds->add_handler("ospfv3/0.1/set_retransmit_interval", callback(this, &XrlOspfv3TargetBase::handle_ospfv3_0_1_set_retransmit_interval)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "ospfv3", "ospfv3/0.1/set_retransmit_interval"); } if (_cmds->add_handler("ospfv3/0.1/set_inftransdelay", callback(this, &XrlOspfv3TargetBase::handle_ospfv3_0_1_set_inftransdelay)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "ospfv3", "ospfv3/0.1/set_inftransdelay"); } if (_cmds->add_handler("ospfv3/0.1/set_router_priority", callback(this, &XrlOspfv3TargetBase::handle_ospfv3_0_1_set_router_priority)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "ospfv3", "ospfv3/0.1/set_router_priority"); } if (_cmds->add_handler("ospfv3/0.1/set_hello_interval", callback(this, &XrlOspfv3TargetBase::handle_ospfv3_0_1_set_hello_interval)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "ospfv3", "ospfv3/0.1/set_hello_interval"); } if (_cmds->add_handler("ospfv3/0.1/set_router_dead_interval", callback(this, &XrlOspfv3TargetBase::handle_ospfv3_0_1_set_router_dead_interval)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "ospfv3", "ospfv3/0.1/set_router_dead_interval"); } if (_cmds->add_handler("ospfv3/0.1/set_passive", callback(this, &XrlOspfv3TargetBase::handle_ospfv3_0_1_set_passive)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "ospfv3", "ospfv3/0.1/set_passive"); } if (_cmds->add_handler("ospfv3/0.1/originate_default_route", callback(this, &XrlOspfv3TargetBase::handle_ospfv3_0_1_originate_default_route)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "ospfv3", "ospfv3/0.1/originate_default_route"); } if (_cmds->add_handler("ospfv3/0.1/stub_default_cost", callback(this, &XrlOspfv3TargetBase::handle_ospfv3_0_1_stub_default_cost)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "ospfv3", "ospfv3/0.1/stub_default_cost"); } if (_cmds->add_handler("ospfv3/0.1/summaries", callback(this, &XrlOspfv3TargetBase::handle_ospfv3_0_1_summaries)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "ospfv3", "ospfv3/0.1/summaries"); } if (_cmds->add_handler("ospfv3/0.1/area_range_add", callback(this, &XrlOspfv3TargetBase::handle_ospfv3_0_1_area_range_add)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "ospfv3", "ospfv3/0.1/area_range_add"); } if (_cmds->add_handler("ospfv3/0.1/area_range_delete", callback(this, &XrlOspfv3TargetBase::handle_ospfv3_0_1_area_range_delete)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "ospfv3", "ospfv3/0.1/area_range_delete"); } if (_cmds->add_handler("ospfv3/0.1/area_range_change_state", callback(this, &XrlOspfv3TargetBase::handle_ospfv3_0_1_area_range_change_state)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "ospfv3", "ospfv3/0.1/area_range_change_state"); } if (_cmds->add_handler("ospfv3/0.1/trace", callback(this, &XrlOspfv3TargetBase::handle_ospfv3_0_1_trace)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "ospfv3", "ospfv3/0.1/trace"); } if (_cmds->add_handler("ospfv3/0.1/get_lsa", callback(this, &XrlOspfv3TargetBase::handle_ospfv3_0_1_get_lsa)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "ospfv3", "ospfv3/0.1/get_lsa"); } if (_cmds->add_handler("ospfv3/0.1/get_area_list", callback(this, &XrlOspfv3TargetBase::handle_ospfv3_0_1_get_area_list)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "ospfv3", "ospfv3/0.1/get_area_list"); } if (_cmds->add_handler("ospfv3/0.1/get_neighbour_list", callback(this, &XrlOspfv3TargetBase::handle_ospfv3_0_1_get_neighbour_list)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "ospfv3", "ospfv3/0.1/get_neighbour_list"); } if (_cmds->add_handler("ospfv3/0.1/get_neighbour_info", callback(this, &XrlOspfv3TargetBase::handle_ospfv3_0_1_get_neighbour_info)) == false) { XLOG_ERROR("Failed to xrl handler finder://%s/%s", "ospfv3", "ospfv3/0.1/get_neighbour_info"); } _cmds->finalize();}voidXrlOspfv3TargetBase::remove_handlers(){ _cmds->remove_handler("common/0.1/get_target_name"); _cmds->remove_handler("common/0.1/get_version"); _cmds->remove_handler("common/0.1/get_status"); _cmds->remove_handler("common/0.1/shutdown"); _cmds->remove_handler("raw_packet4_client/0.1/recv"); _cmds->remove_handler("raw_packet6_client/0.1/recv"); _cmds->remove_handler("policy_backend/0.1/configure"); _cmds->remove_handler("policy_backend/0.1/reset"); _cmds->remove_handler("policy_backend/0.1/push_routes"); _cmds->remove_handler("policy_redist6/0.1/add_route6"); _cmds->remove_handler("policy_redist6/0.1/delete_route6"); _cmds->remove_handler("ospfv3/0.1/set_instance_id"); _cmds->remove_handler("ospfv3/0.1/set_router_id"); _cmds->remove_handler("ospfv3/0.1/set_ip_router_alert"); _cmds->remove_handler("ospfv3/0.1/create_area_router"); _cmds->remove_handler("ospfv3/0.1/change_area_router_type"); _cmds->remove_handler("ospfv3/0.1/destroy_area_router"); _cmds->remove_handler("ospfv3/0.1/create_peer"); _cmds->remove_handler("ospfv3/0.1/delete_peer"); _cmds->remove_handler("ospfv3/0.1/set_peer_state"); _cmds->remove_handler("ospfv3/0.1/add_address_peer"); _cmds->remove_handler("ospfv3/0.1/remove_address_peer"); _cmds->remove_handler("ospfv3/0.1/set_address_state_peer"); _cmds->remove_handler("ospfv3/0.1/activate_peer"); _cmds->remove_handler("ospfv3/0.1/update_peer"); _cmds->remove_handler("ospfv3/0.1/add_neighbour"); _cmds->remove_handler("ospfv3/0.1/remove_neighbour"); _cmds->remove_handler("ospfv3/0.1/create_virtual_link"); _cmds->remove_handler("ospfv3/0.1/delete_virtual_link"); _cmds->remove_handler("ospfv3/0.1/transit_area_virtual_link"); _cmds->remove_handler("ospfv3/0.1/set_interface_cost"); _cmds->remove_handler("ospfv3/0.1/set_retransmit_interval"); _cmds->remove_handler("ospfv3/0.1/set_inftransdelay"); _cmds->remove_handler("ospfv3/0.1/set_router_priority"); _cmds->remove_handler("ospfv3/0.1/set_hello_interval"); _cmds->remove_handler("ospfv3/0.1/set_router_dead_interval"); _cmds->remove_handler("ospfv3/0.1/set_passive"); _cmds->remove_handler("ospfv3/0.1/originate_default_route"); _cmds->remove_handler("ospfv3/0.1/stub_default_cost"); _cmds->remove_handler("ospfv3/0.1/summaries"); _cmds->remove_handler("ospfv3/0.1/area_range_add"); _cmds->remove_handler("ospfv3/0.1/area_range_delete"); _cmds->remove_handler("ospfv3/0.1/area_range_change_state"); _cmds->remove_handler("ospfv3/0.1/trace"); _cmds->remove_handler("ospfv3/0.1/get_lsa"); _cmds->remove_handler("ospfv3/0.1/get_area_list"); _cmds->remove_handler("ospfv3/0.1/get_neighbour_list"); _cmds->remove_handler("ospfv3/0.1/get_neighbour_info");}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -