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

📄 xrl_mld6igmp_node.cc

📁 MLDv2 support igmpv3 lite
💻 CC
📖 第 1 页 / 共 5 页
字号:
    enabled = v;    return XrlCmdError::OKAY();}XrlCmdErrorXrlMld6igmpNode::mld6igmp_0_1_set_vif_ip_router_alert_option_check(    // Input values,    const string&	vif_name,    const bool&		enable){    string error_msg;        if (Mld6igmpNode::set_vif_ip_router_alert_option_check(vif_name, enable,							   error_msg)	!= XORP_OK) {	return XrlCmdError::COMMAND_FAILED(error_msg);    }        return XrlCmdError::OKAY();}XrlCmdErrorXrlMld6igmpNode::mld6igmp_0_1_reset_vif_ip_router_alert_option_check(    // Input values,    const string&	vif_name){    string error_msg;        if (Mld6igmpNode::reset_vif_ip_router_alert_option_check(vif_name,							     error_msg)	!= XORP_OK) {	return XrlCmdError::COMMAND_FAILED(error_msg);    }        return XrlCmdError::OKAY();}XrlCmdErrorXrlMld6igmpNode::mld6igmp_0_1_get_vif_query_interval(    // Input values,    const string&	vif_name,    // Output values,    uint32_t&		interval_sec,    uint32_t&		interval_usec){    string error_msg;        TimeVal v;    if (Mld6igmpNode::get_vif_query_interval(vif_name, v, error_msg)	!= XORP_OK) {	return XrlCmdError::COMMAND_FAILED(error_msg);    }        interval_sec = v.sec();    interval_usec = v.usec();    return XrlCmdError::OKAY();}XrlCmdErrorXrlMld6igmpNode::mld6igmp_0_1_set_vif_query_interval(    // Input values,    const string&	vif_name,    const uint32_t&	interval_sec,    const uint32_t&	interval_usec){    string error_msg;    TimeVal interval(interval_sec, interval_usec);    if (Mld6igmpNode::set_vif_query_interval(vif_name, interval, error_msg)	!= XORP_OK) {	return XrlCmdError::COMMAND_FAILED(error_msg);    }        return XrlCmdError::OKAY();}XrlCmdErrorXrlMld6igmpNode::mld6igmp_0_1_reset_vif_query_interval(    // Input values,    const string&	vif_name){    string error_msg;        if (Mld6igmpNode::reset_vif_query_interval(vif_name, error_msg)	!= XORP_OK) {	return XrlCmdError::COMMAND_FAILED(error_msg);    }        return XrlCmdError::OKAY();}XrlCmdErrorXrlMld6igmpNode::mld6igmp_0_1_get_vif_query_last_member_interval(    // Input values,    const string&	vif_name,    // Output values,    uint32_t&		interval_sec,    uint32_t&		interval_usec){    string error_msg;        TimeVal v;    if (Mld6igmpNode::get_vif_query_last_member_interval(vif_name, v,							 error_msg)	!= XORP_OK) {	return XrlCmdError::COMMAND_FAILED(error_msg);    }        interval_sec = v.sec();    interval_usec = v.usec();    return XrlCmdError::OKAY();}XrlCmdErrorXrlMld6igmpNode::mld6igmp_0_1_set_vif_query_last_member_interval(    // Input values,    const string&	vif_name,    const uint32_t&	interval_sec,    const uint32_t&	interval_usec){    string error_msg;    TimeVal interval(interval_sec, interval_usec);    if (Mld6igmpNode::set_vif_query_last_member_interval(vif_name, interval,							 error_msg)	!= XORP_OK) {	return XrlCmdError::COMMAND_FAILED(error_msg);    }        return XrlCmdError::OKAY();}XrlCmdErrorXrlMld6igmpNode::mld6igmp_0_1_reset_vif_query_last_member_interval(    // Input values,    const string&	vif_name){    string error_msg;        if (Mld6igmpNode::reset_vif_query_last_member_interval(vif_name, error_msg)	!= XORP_OK) {	return XrlCmdError::COMMAND_FAILED(error_msg);    }        return XrlCmdError::OKAY();}XrlCmdErrorXrlMld6igmpNode::mld6igmp_0_1_get_vif_query_response_interval(    // Input values,    const string&	vif_name,    // Output values,    uint32_t&		interval_sec,    uint32_t&		interval_usec){    string error_msg;        TimeVal v;    if (Mld6igmpNode::get_vif_query_response_interval(vif_name, v, error_msg)	!= XORP_OK) {	return XrlCmdError::COMMAND_FAILED(error_msg);    }        interval_sec = v.sec();    interval_usec = v.usec();    return XrlCmdError::OKAY();}XrlCmdErrorXrlMld6igmpNode::mld6igmp_0_1_set_vif_query_response_interval(    // Input values,    const string&	vif_name,    const uint32_t&	interval_sec,    const uint32_t&	interval_usec){    string error_msg;    TimeVal interval(interval_sec, interval_usec);    if (Mld6igmpNode::set_vif_query_response_interval(vif_name, interval,						      error_msg)	!= XORP_OK) {	return XrlCmdError::COMMAND_FAILED(error_msg);    }        return XrlCmdError::OKAY();}XrlCmdErrorXrlMld6igmpNode::mld6igmp_0_1_reset_vif_query_response_interval(    // Input values,    const string&	vif_name){    string error_msg;        if (Mld6igmpNode::reset_vif_query_response_interval(vif_name, error_msg)	!= XORP_OK) {	return XrlCmdError::COMMAND_FAILED(error_msg);    }        return XrlCmdError::OKAY();}XrlCmdErrorXrlMld6igmpNode::mld6igmp_0_1_get_vif_robust_count(    // Input values,    const string&	vif_name,    // Output values,    uint32_t&	robust_count){    string error_msg;        uint32_t v;    if (Mld6igmpNode::get_vif_robust_count(vif_name, v, error_msg)	!= XORP_OK) {	return XrlCmdError::COMMAND_FAILED(error_msg);    }        robust_count = v;    return XrlCmdError::OKAY();}XrlCmdErrorXrlMld6igmpNode::mld6igmp_0_1_set_vif_robust_count(    // Input values,    const string&	vif_name,    const uint32_t&	robust_count){    string error_msg;    if (Mld6igmpNode::set_vif_robust_count(vif_name, robust_count, error_msg)	!= XORP_OK) {	return XrlCmdError::COMMAND_FAILED(error_msg);    }        return XrlCmdError::OKAY();}XrlCmdErrorXrlMld6igmpNode::mld6igmp_0_1_reset_vif_robust_count(    // Input values,    const string&	vif_name){    string error_msg;        if (Mld6igmpNode::reset_vif_robust_count(vif_name, error_msg)	!= XORP_OK) {	return XrlCmdError::COMMAND_FAILED(error_msg);    }        return XrlCmdError::OKAY();}XrlCmdErrorXrlMld6igmpNode::mld6igmp_0_1_log_trace_all(    // Input values,    const bool&	enable){    Mld6igmpNode::set_log_trace(enable);    return XrlCmdError::OKAY();}XrlCmdErrorXrlMld6igmpNode::mld6igmp_0_1_add_protocol4(    // Input values,     const string&	xrl_sender_name,     const string&	, // protocol_name,     const uint32_t&	protocol_id,     const string&	vif_name,     const uint32_t&	vif_index){    string error_msg;    //    // Verify the address family    //    if (! Mld6igmpNode::is_ipv4()) {	error_msg = c_format("Received protocol message with "			     "invalid address family: IPv4");	return XrlCmdError::COMMAND_FAILED(error_msg);    }    //    // Verify the module ID    //    xorp_module_id src_module_id = static_cast<xorp_module_id>(protocol_id);    if (! is_valid_module_id(src_module_id)) {	error_msg = c_format("Invalid module ID = %d",			     XORP_INT_CAST(protocol_id));	return XrlCmdError::COMMAND_FAILED(error_msg);    }        if (Mld6igmpNode::add_protocol(xrl_sender_name, src_module_id, vif_index)	!= XORP_OK) {	// TODO: must find-out and return the reason for failure	error_msg = c_format("Cannot add protocol instance '%s' "			     "on vif %s with vif_index %d",			     xrl_sender_name.c_str(),			     vif_name.c_str(),			     XORP_INT_CAST(vif_index));	return XrlCmdError::COMMAND_FAILED(error_msg);    }        //    // Send info about all existing membership on the particular vif.    //    Mld6igmpVif *mld6igmp_vif = Mld6igmpNode::vif_find_by_vif_index(vif_index);    if (mld6igmp_vif == NULL) {	Mld6igmpNode::delete_protocol(xrl_sender_name, src_module_id, vif_index);	error_msg = c_format("Cannot add protocol instance '%s' "			     "on vif %s with vif_index %d: "			     "no such vif",			     xrl_sender_name.c_str(),			     vif_name.c_str(),			     XORP_INT_CAST(vif_index));	return XrlCmdError::COMMAND_FAILED(error_msg);    }        Mld6igmpGroupSet::const_iterator iter;    for (iter = mld6igmp_vif->group_records().begin();	 iter != mld6igmp_vif->group_records().end();	 ++iter) {	const Mld6igmpGroupRecord *group_record = iter->second;	send_add_membership(xrl_sender_name.c_str(),			    src_module_id,			    mld6igmp_vif->vif_index(),			    IPvX::ZERO(family()),			    group_record->group());    }        //    // Success    //    return XrlCmdError::OKAY();}XrlCmdErrorXrlMld6igmpNode::mld6igmp_0_1_add_protocol6(    // Input values,     const string&	xrl_sender_name,     const string&	, // protocol_name,     const uint32_t&	protocol_id,     const string&	vif_name,     const uint32_t&	vif_index){    string error_msg;    //    // Verify the address family    //    if (! Mld6igmpNode::is_ipv6()) {	error_msg = c_format("Received protocol message with "			     "invalid address family: IPv6");	return XrlCmdError::COMMAND_FAILED(error_msg);    }    //    // Verify the module ID    //    xorp_module_id src_module_id = static_cast<xorp_module_id>(protocol_id);    if (! is_valid_module_id(src_module_id)) {	error_msg = c_format("Invalid module ID = %d",			     XORP_INT_CAST(protocol_id));	return XrlCmdError::COMMAND_FAILED(error_msg);    }        if (Mld6igmpNode::add_protocol(xrl_sender_name, src_module_id, vif_index)	!= XORP_OK) {	// TODO: must find-out and return the reason for failure	error_msg = c_format("Cannot add protocol instance '%s' "			     "on vif %s with vif_index %d",			     xrl_sender_name.c_str(),			     vif_name.c_str(),			     XORP_INT_CAST(vif_index));	return XrlCmdError::COMMAND_FAILED(error_msg);    }        //    // Send info about all existing membership on the particular vif.    //    Mld6igmpVif *mld6igmp_vif = Mld6igmpNode::vif_find_by_vif_index(vif_index);    if (mld6igmp_vif == NULL) {	Mld6igmpNode::delete_protocol(xrl_sender_name, src_module_id, vif_index);	error_msg = c_format("Cannot add protocol instance '%s' "			     "on vif %s with vif_index %d: "			     "no such vif",			     xrl_sender_name.c_str(),			     vif_name.c_str(),			     XORP_INT_CAST(vif_index));	return XrlCmdError::COMMAND_FAILED(error_msg);    }        Mld6igmpGroupSet::const_iterator iter;    for (iter = mld6igmp_vif->group_records().begin();	 iter != mld6igmp_vif->group_records().end();	 ++iter) {	const Mld6igmpGroupRecord *group_record = iter->second;	send_add_membership(xrl_sender_name.c_str(),			    src_module_id,			    mld6igmp_vif->vif_index(),			    IPvX::ZERO(family()),			    group_record->group());    }        //    // Success    //    return XrlCmdError::OKAY();}XrlCmdErrorXrlMld6igmpNode::mld6igmp_0_1_delete_protocol4(    // Input values,     const string&	xrl_sender_name,     const string&	, // protocol_name,     const uint32_t&	protocol_id,     const string&	vif_name,     const uint32_t&	vif_index){    string error_msg;    //    // Verify the address family    //    if (! Mld6igmpNode::is_ipv4()) {	error_msg = c_format("Received protocol message with "			     "invalid address family: IPv4");	return XrlCmdError::COMMAND_FAILED(error_msg);    }    //    // Verify the module ID    //    xorp_module_id src_module_id = static_cast<xorp_module_id>(protocol_id);    if (! is_valid_module_id(src_module_id)) {	error_msg = c_format("Invalid module ID = %d",			     XORP_INT_CAST(protocol_id));	return XrlCmdError::COMMAND_FAILED(error_msg);    }        if (Mld6igmpNode::delete_protocol(xrl_sender_name, src_module_id, vif_index)	!= XORP_OK) {	// TODO: must find-out and return the reason for failure	error_msg = c_format("Cannot delete protocol instance '%s' "			     "on vif %s with vif_index %d",			     xrl_sender_name.c_str(),			     vif_name.c_str(),			     XORP_INT_CAST(vif_index));	return XrlCmdError::COMMAND_FAILED(error_msg);    }        //    // Success    //    return XrlCmdError::OKAY();}XrlCmdErrorXrlMld6igmpNode::mld6igmp_0_1_delete_protocol6(    // Input values,     const string&	xrl_sender_name,     const string&	, // protocol_name,     const uint32_t&	protocol_id,     const string&	vif_name,     const uint32_t&	vif_index){    string error_msg;    //    // Verify the address family    //    if (! Mld6igmpNode::is_ipv6()) {	error_msg = c_format("Received protocol message with "			     "invalid address family: IPv6");	return XrlCmdError::COMMAND_FAILED(error_msg);    }    //    // Verify the module ID    //    xorp_module_id src_module_id = static_cast<xorp_module_id>(protocol_id);    if (! is_valid_module_id(src_module_id)) {	error_msg = c_format("Invalid module ID = %d",			     XORP_INT_CAST(protocol_id));	return XrlCmdError::COMMAND_FAILED(error_msg);    }        if (Mld6igmpNode::delete_protocol(xrl_sender_name, src_module_id, vif_index)	!= XORP_OK) {	// TODO: must find-out and return the reason for failure	error_msg = c_format("Cannot delete protocol instance '%s' "			     "on vif %s with vif_index %d",			     xrl_sender_name.c_str(),			     vif_name.c_str(),			     XORP_INT_CAST(vif_index));	return XrlCmdError::COMMAND_FAILED(error_msg);    }        //    // Success    //    return XrlCmdError::OKAY();}

⌨️ 快捷键说明

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