⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ospfv3_base.cc

📁 xorp源码hg
💻 CC
📖 第 1 页 / 共 5 页
字号:
	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 + -