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

📄 bgp_xif.cc

📁 xorp源码hg
💻 CC
📖 第 1 页 / 共 4 页
字号:
	const string&	password,	const SetPeerMd5PasswordCB&	cb){    Xrl x(dst_xrl_target_name, "bgp/0.2/set_peer_md5_password");    x.args().add("local_ip", local_ip);    x.args().add("local_port", local_port);    x.args().add("peer_ip", peer_ip);    x.args().add("peer_port", peer_port);    x.args().add("password", password);    return _sender->send(x, callback(this, &XrlBgpV0p2Client::unmarshall_set_peer_md5_password, cb));}/* Unmarshall set_peer_md5_password */voidXrlBgpV0p2Client::unmarshall_set_peer_md5_password(	const XrlError&	e,	XrlArgs*	a,	SetPeerMd5PasswordCB		cb){    if (e != XrlError::OKAY()) {	cb->dispatch(e);	return;    } else if (a && a->size() != 0) {	XLOG_ERROR("Wrong number of arguments (%u != %u)", XORP_UINT_CAST(a->size()), XORP_UINT_CAST(0));	cb->dispatch(XrlError::BAD_ARGS());	return;    }    cb->dispatch(e);}boolXrlBgpV0p2Client::send_activate(	const char*	dst_xrl_target_name,	const string&	local_ip,	const uint32_t&	local_port,	const string&	peer_ip,	const uint32_t&	peer_port,	const ActivateCB&	cb){    Xrl x(dst_xrl_target_name, "bgp/0.2/activate");    x.args().add("local_ip", local_ip);    x.args().add("local_port", local_port);    x.args().add("peer_ip", peer_ip);    x.args().add("peer_port", peer_port);    return _sender->send(x, callback(this, &XrlBgpV0p2Client::unmarshall_activate, cb));}/* Unmarshall activate */voidXrlBgpV0p2Client::unmarshall_activate(	const XrlError&	e,	XrlArgs*	a,	ActivateCB		cb){    if (e != XrlError::OKAY()) {	cb->dispatch(e);	return;    } else if (a && a->size() != 0) {	XLOG_ERROR("Wrong number of arguments (%u != %u)", XORP_UINT_CAST(a->size()), XORP_UINT_CAST(0));	cb->dispatch(XrlError::BAD_ARGS());	return;    }    cb->dispatch(e);}boolXrlBgpV0p2Client::send_set_parameter(	const char*	dst_xrl_target_name,	const string&	local_ip,	const uint32_t&	local_port,	const string&	peer_ip,	const uint32_t&	peer_port,	const string&	parameter,	const bool&	toggle,	const SetParameterCB&	cb){    Xrl x(dst_xrl_target_name, "bgp/0.2/set_parameter");    x.args().add("local_ip", local_ip);    x.args().add("local_port", local_port);    x.args().add("peer_ip", peer_ip);    x.args().add("peer_port", peer_port);    x.args().add("parameter", parameter);    x.args().add("toggle", toggle);    return _sender->send(x, callback(this, &XrlBgpV0p2Client::unmarshall_set_parameter, cb));}/* Unmarshall set_parameter */voidXrlBgpV0p2Client::unmarshall_set_parameter(	const XrlError&	e,	XrlArgs*	a,	SetParameterCB		cb){    if (e != XrlError::OKAY()) {	cb->dispatch(e);	return;    } else if (a && a->size() != 0) {	XLOG_ERROR("Wrong number of arguments (%u != %u)", XORP_UINT_CAST(a->size()), XORP_UINT_CAST(0));	cb->dispatch(XrlError::BAD_ARGS());	return;    }    cb->dispatch(e);}boolXrlBgpV0p2Client::send_next_hop_rewrite_filter(	const char*	dst_xrl_target_name,	const string&	local_ip,	const uint32_t&	local_port,	const string&	peer_ip,	const uint32_t&	peer_port,	const IPv4&	next_hop,	const NextHopRewriteFilterCB&	cb){    Xrl x(dst_xrl_target_name, "bgp/0.2/next_hop_rewrite_filter");    x.args().add("local_ip", local_ip);    x.args().add("local_port", local_port);    x.args().add("peer_ip", peer_ip);    x.args().add("peer_port", peer_port);    x.args().add("next_hop", next_hop);    return _sender->send(x, callback(this, &XrlBgpV0p2Client::unmarshall_next_hop_rewrite_filter, cb));}/* Unmarshall next_hop_rewrite_filter */voidXrlBgpV0p2Client::unmarshall_next_hop_rewrite_filter(	const XrlError&	e,	XrlArgs*	a,	NextHopRewriteFilterCB		cb){    if (e != XrlError::OKAY()) {	cb->dispatch(e);	return;    } else if (a && a->size() != 0) {	XLOG_ERROR("Wrong number of arguments (%u != %u)", XORP_UINT_CAST(a->size()), XORP_UINT_CAST(0));	cb->dispatch(XrlError::BAD_ARGS());	return;    }    cb->dispatch(e);}boolXrlBgpV0p2Client::send_originate_route4(	const char*	dst_xrl_target_name,	const IPv4Net&	nlri,	const IPv4&	next_hop,	const bool&	unicast,	const bool&	multicast,	const OriginateRoute4CB&	cb){    Xrl x(dst_xrl_target_name, "bgp/0.2/originate_route4");    x.args().add("nlri", nlri);    x.args().add("next_hop", next_hop);    x.args().add("unicast", unicast);    x.args().add("multicast", multicast);    return _sender->send(x, callback(this, &XrlBgpV0p2Client::unmarshall_originate_route4, cb));}/* Unmarshall originate_route4 */voidXrlBgpV0p2Client::unmarshall_originate_route4(	const XrlError&	e,	XrlArgs*	a,	OriginateRoute4CB		cb){    if (e != XrlError::OKAY()) {	cb->dispatch(e);	return;    } else if (a && a->size() != 0) {	XLOG_ERROR("Wrong number of arguments (%u != %u)", XORP_UINT_CAST(a->size()), XORP_UINT_CAST(0));	cb->dispatch(XrlError::BAD_ARGS());	return;    }    cb->dispatch(e);}boolXrlBgpV0p2Client::send_originate_route6(	const char*	dst_xrl_target_name,	const IPv6Net&	nlri,	const IPv6&	next_hop,	const bool&	unicast,	const bool&	multicast,	const OriginateRoute6CB&	cb){    Xrl x(dst_xrl_target_name, "bgp/0.2/originate_route6");    x.args().add("nlri", nlri);    x.args().add("next_hop", next_hop);    x.args().add("unicast", unicast);    x.args().add("multicast", multicast);    return _sender->send(x, callback(this, &XrlBgpV0p2Client::unmarshall_originate_route6, cb));}/* Unmarshall originate_route6 */voidXrlBgpV0p2Client::unmarshall_originate_route6(	const XrlError&	e,	XrlArgs*	a,	OriginateRoute6CB		cb){    if (e != XrlError::OKAY()) {	cb->dispatch(e);	return;    } else if (a && a->size() != 0) {	XLOG_ERROR("Wrong number of arguments (%u != %u)", XORP_UINT_CAST(a->size()), XORP_UINT_CAST(0));	cb->dispatch(XrlError::BAD_ARGS());	return;    }    cb->dispatch(e);}boolXrlBgpV0p2Client::send_withdraw_route4(	const char*	dst_xrl_target_name,	const IPv4Net&	nlri,	const bool&	unicast,	const bool&	multicast,	const WithdrawRoute4CB&	cb){    Xrl x(dst_xrl_target_name, "bgp/0.2/withdraw_route4");    x.args().add("nlri", nlri);    x.args().add("unicast", unicast);    x.args().add("multicast", multicast);    return _sender->send(x, callback(this, &XrlBgpV0p2Client::unmarshall_withdraw_route4, cb));}/* Unmarshall withdraw_route4 */voidXrlBgpV0p2Client::unmarshall_withdraw_route4(	const XrlError&	e,	XrlArgs*	a,	WithdrawRoute4CB		cb){    if (e != XrlError::OKAY()) {	cb->dispatch(e);	return;    } else if (a && a->size() != 0) {	XLOG_ERROR("Wrong number of arguments (%u != %u)", XORP_UINT_CAST(a->size()), XORP_UINT_CAST(0));	cb->dispatch(XrlError::BAD_ARGS());	return;    }    cb->dispatch(e);}boolXrlBgpV0p2Client::send_withdraw_route6(	const char*	dst_xrl_target_name,	const IPv6Net&	nlri,	const bool&	unicast,	const bool&	multicast,	const WithdrawRoute6CB&	cb){    Xrl x(dst_xrl_target_name, "bgp/0.2/withdraw_route6");    x.args().add("nlri", nlri);    x.args().add("unicast", unicast);    x.args().add("multicast", multicast);    return _sender->send(x, callback(this, &XrlBgpV0p2Client::unmarshall_withdraw_route6, cb));}/* Unmarshall withdraw_route6 */voidXrlBgpV0p2Client::unmarshall_withdraw_route6(	const XrlError&	e,	XrlArgs*	a,	WithdrawRoute6CB		cb){    if (e != XrlError::OKAY()) {	cb->dispatch(e);	return;    } else if (a && a->size() != 0) {	XLOG_ERROR("Wrong number of arguments (%u != %u)", XORP_UINT_CAST(a->size()), XORP_UINT_CAST(0));	cb->dispatch(XrlError::BAD_ARGS());	return;    }    cb->dispatch(e);}boolXrlBgpV0p2Client::send_trace(	const char*	dst_xrl_target_name,	const string&	tvar,	const bool&	enable,	const TraceCB&	cb){    Xrl x(dst_xrl_target_name, "bgp/0.2/trace");    x.args().add("tvar", tvar);    x.args().add("enable", enable);    return _sender->send(x, callback(this, &XrlBgpV0p2Client::unmarshall_trace, cb));}/* Unmarshall trace */voidXrlBgpV0p2Client::unmarshall_trace(	const XrlError&	e,	XrlArgs*	a,	TraceCB		cb){    if (e != XrlError::OKAY()) {	cb->dispatch(e);	return;    } else if (a && a->size() != 0) {	XLOG_ERROR("Wrong number of arguments (%u != %u)", XORP_UINT_CAST(a->size()), XORP_UINT_CAST(0));	cb->dispatch(XrlError::BAD_ARGS());	return;    }    cb->dispatch(e);}boolXrlBgpV0p2Client::send_get_peer_list_start(	const char*	dst_xrl_target_name,	const GetPeerListStartCB&	cb){    Xrl x(dst_xrl_target_name, "bgp/0.2/get_peer_list_start");    return _sender->send(x, callback(this, &XrlBgpV0p2Client::unmarshall_get_peer_list_start, cb));}/* Unmarshall get_peer_list_start */voidXrlBgpV0p2Client::unmarshall_get_peer_list_start(	const XrlError&	e,	XrlArgs*	a,	GetPeerListStartCB		cb){    if (e != XrlError::OKAY()) {	cb->dispatch(e, 0, 0);	return;    } else if (a && a->size() != 2) {	XLOG_ERROR("Wrong number of arguments (%u != %u)", XORP_UINT_CAST(a->size()), XORP_UINT_CAST(2));	cb->dispatch(XrlError::BAD_ARGS(), 0, 0);	return;    }    uint32_t token;    bool more;    try {	a->get("token", token);	a->get("more", more);    } catch (const XrlArgs::XrlAtomNotFound&) {	XLOG_ERROR("Atom not found");	cb->dispatch(XrlError::BAD_ARGS(), 0, 0);	return;    }    cb->dispatch(e, &token, &more);}boolXrlBgpV0p2Client::send_get_peer_list_next(	const char*	dst_xrl_target_name,	const uint32_t&	token,	const GetPeerListNextCB&	cb){    Xrl x(dst_xrl_target_name, "bgp/0.2/get_peer_list_next");    x.args().add("token", token);    return _sender->send(x, callback(this, &XrlBgpV0p2Client::unmarshall_get_peer_list_next, cb));}/* Unmarshall get_peer_list_next */voidXrlBgpV0p2Client::unmarshall_get_peer_list_next(	const XrlError&	e,	XrlArgs*	a,	GetPeerListNextCB		cb){    if (e != XrlError::OKAY()) {	cb->dispatch(e, 0, 0, 0, 0, 0);	return;    } else if (a && a->size() != 5) {	XLOG_ERROR("Wrong number of arguments (%u != %u)", XORP_UINT_CAST(a->size()), XORP_UINT_CAST(5));	cb->dispatch(XrlError::BAD_ARGS(), 0, 0, 0, 0, 0);	return;    }    string local_ip;    uint32_t local_port;    string peer_ip;    uint32_t peer_port;    bool more;    try {	a->get("local_ip", local_ip);	a->get("local_port", local_port);	a->get("peer_ip", peer_ip);	a->get("peer_port", peer_port);	a->get("more", more);    } catch (const XrlArgs::XrlAtomNotFound&) {	XLOG_ERROR("Atom not found");	cb->dispatch(XrlError::BAD_ARGS(), 0, 0, 0, 0, 0);	return;    }    cb->dispatch(e, &local_ip, &local_port, &peer_ip, &peer_port, &more);}boolXrlBgpV0p2Client::send_get_peer_id(	const char*	dst_xrl_target_name,	const string&	local_ip,	const uint32_t&	local_port,	const string&	peer_ip,	const uint32_t&	peer_port,	const GetPeerIdCB&	cb){    Xrl x(dst_xrl_target_name, "bgp/0.2/get_peer_id");    x.args().add("local_ip", local_ip);    x.args().add("local_port", local_port);    x.args().add("peer_ip", peer_ip);    x.args().add("peer_port", peer_port);    return _sender->send(x, callback(this, &XrlBgpV0p2Client::unmarshall_get_peer_id, cb));}/* Unmarshall get_peer_id */voidXrlBgpV0p2Client::unmarshall_get_peer_id(	const XrlError&	e,	XrlArgs*	a,	GetPeerIdCB		cb){    if (e != XrlError::OKAY()) {	cb->dispatch(e, 0);	return;    } else if (a && a->size() != 1) {	XLOG_ERROR("Wrong number of arguments (%u != %u)", XORP_UINT_CAST(a->size()), XORP_UINT_CAST(1));	cb->dispatch(XrlError::BAD_ARGS(), 0);	return;    }    IPv4 peer_id;    try {	a->get("peer_id", peer_id);    } catch (const XrlArgs::XrlAtomNotFound&) {	XLOG_ERROR("Atom not found");	cb->dispatch(XrlError::BAD_ARGS(), 0);	return;    }    cb->dispatch(e, &peer_id);}boolXrlBgpV0p2Client::send_get_peer_status(	const char*	dst_xrl_target_name,	const string&	local_ip,	const uint32_t&	local_port,	const string&	peer_ip,	const uint32_t&	peer_port,	const GetPeerStatusCB&	cb){    Xrl x(dst_xrl_target_name, "bgp/0.2/get_peer_status");    x.args().add("local_ip", local_ip);    x.args().add("local_port", local_port);    x.args().add("peer_ip", peer_ip);    x.args().add("peer_port", peer_port);    return _sender->send(x, callback(this, &XrlBgpV0p2Client::unmarshall_get_peer_status, cb));}/* Unmarshall get_peer_status */voidXrlBgpV0p2Client::unmarshall_get_peer_status(	const XrlError&	e,	XrlArgs*	a,	GetPeerStatusCB		cb){    if (e != XrlError::OKAY()) {	cb->dispatch(e, 0, 0);	return;    } else if (a && a->size() != 2) {	XLOG_ERROR("Wrong number of arguments (%u != %u)", XORP_UINT_CAST(a->size()), XORP_UINT_CAST(2));	cb->dispatch(XrlError::BAD_ARGS(), 0, 0);	return;    }    uint32_t peer_state;    uint32_t admin_status;    try {	a->get("peer_state", peer_state);	a->get("admin_status", admin_status);    } catch (const XrlArgs::XrlAtomNotFound&) {	XLOG_ERROR("Atom not found");	cb->dispatch(XrlError::BAD_ARGS(), 0, 0);	return;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -