pim_base.cc

来自「BCAST Implementation for NS2」· CC 代码 · 共 2,099 行 · 第 1/5 页

CC
2,099
字号
	return XrlCmdError::BAD_ARGS();    }    /* Marshall return values */    try {	pxa_outputs->add("tid", tid);    } catch (const XrlArgs::XrlAtomFound& ) {	XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlPimTargetBase::handle_fti_0_2_commit_transaction(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){    if (xa_inputs.size() != 1) {	XLOG_ERROR("Wrong number of arguments (%u != 1) handling fti/0.2/commit_transaction",            (uint32_t)xa_inputs.size());	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = fti_0_2_commit_transaction(	    xa_inputs.get_uint32("tid"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for fti/0.2/commit_transaction 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_abort_transaction(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){    if (xa_inputs.size() != 1) {	XLOG_ERROR("Wrong number of arguments (%u != 1) handling fti/0.2/abort_transaction",            (uint32_t)xa_inputs.size());	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = fti_0_2_abort_transaction(	    xa_inputs.get_uint32("tid"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for fti/0.2/abort_transaction 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_add_entry4(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){    if (xa_inputs.size() != 8) {	XLOG_ERROR("Wrong number of arguments (%u != 8) handling fti/0.2/add_entry4",            (uint32_t)xa_inputs.size());	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = fti_0_2_add_entry4(	    xa_inputs.get_uint32("tid"),	    xa_inputs.get_ipv4net("dst"),	    xa_inputs.get_ipv4("gateway"),	    xa_inputs.get_string("ifname"),	    xa_inputs.get_string("vifname"),	    xa_inputs.get_uint32("metric"),	    xa_inputs.get_uint32("admin_distance"),	    xa_inputs.get_string("protocol_origin"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for fti/0.2/add_entry4 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_add_entry6(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){    if (xa_inputs.size() != 8) {	XLOG_ERROR("Wrong number of arguments (%u != 8) handling fti/0.2/add_entry6",            (uint32_t)xa_inputs.size());	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = fti_0_2_add_entry6(	    xa_inputs.get_uint32("tid"),	    xa_inputs.get_ipv6net("dst"),	    xa_inputs.get_ipv6("gateway"),	    xa_inputs.get_string("ifname"),	    xa_inputs.get_string("vifname"),	    xa_inputs.get_uint32("metric"),	    xa_inputs.get_uint32("admin_distance"),	    xa_inputs.get_string("protocol_origin"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for fti/0.2/add_entry6 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_delete_entry4(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){    if (xa_inputs.size() != 2) {	XLOG_ERROR("Wrong number of arguments (%u != 2) handling fti/0.2/delete_entry4",            (uint32_t)xa_inputs.size());	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = fti_0_2_delete_entry4(	    xa_inputs.get_uint32("tid"),	    xa_inputs.get_ipv4net("dst"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for fti/0.2/delete_entry4 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_delete_entry6(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){    if (xa_inputs.size() != 2) {	XLOG_ERROR("Wrong number of arguments (%u != 2) handling fti/0.2/delete_entry6",            (uint32_t)xa_inputs.size());	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = fti_0_2_delete_entry6(	    xa_inputs.get_uint32("tid"),	    xa_inputs.get_ipv6net("dst"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for fti/0.2/delete_entry6 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_delete_all_entries(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){    if (xa_inputs.size() != 1) {	XLOG_ERROR("Wrong number of arguments (%u != 1) handling fti/0.2/delete_all_entries",            (uint32_t)xa_inputs.size());	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = fti_0_2_delete_all_entries(	    xa_inputs.get_uint32("tid"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for fti/0.2/delete_all_entries 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_delete_all_entries4(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){    if (xa_inputs.size() != 1) {	XLOG_ERROR("Wrong number of arguments (%u != 1) handling fti/0.2/delete_all_entries4",            (uint32_t)xa_inputs.size());	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = fti_0_2_delete_all_entries4(	    xa_inputs.get_uint32("tid"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for fti/0.2/delete_all_entries4 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_delete_all_entries6(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){    if (xa_inputs.size() != 1) {	XLOG_ERROR("Wrong number of arguments (%u != 1) handling fti/0.2/delete_all_entries6",            (uint32_t)xa_inputs.size());	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = fti_0_2_delete_all_entries6(	    xa_inputs.get_uint32("tid"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for fti/0.2/delete_all_entries6 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_lookup_route4(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_route4",            (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 */    IPv4Net netmask;    IPv4 gateway;    string ifname;    string vifname;    uint32_t metric;    uint32_t admin_distance;    string protocol_origin;    try {	XrlCmdError e = fti_0_2_lookup_route4(	    xa_inputs.get_ipv4("dst"),	    netmask,	    gateway,	    ifname,	    vifname,	    metric,	    admin_distance,	    protocol_origin);	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for fti/0.2/lookup_route4 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("netmask", netmask);	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_lookup_route6(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_route6",            (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 */    IPv6Net netmask;    IPv6 gateway;    string ifname;    string vifname;    uint32_t metric;    uint32_t admin_distance;    string protocol_origin;    try {	XrlCmdError e = fti_0_2_lookup_route6(	    xa_inputs.get_ipv6("dst"),	    netmask,	    gateway,	    ifname,	    vifname,	    metric,	    admin_distance,	    protocol_origin);	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for fti/0.2/lookup_route6 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("netmask", netmask);	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_lookup_entry4(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_entry4",            (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 */    IPv4 gateway;    string ifname;    string vifname;    uint32_t metric;    uint32_t admin_distance;    string protocol_origin;    try {	XrlCmdError e = fti_0_2_lookup_entry4(	    xa_inputs.get_ipv4net("dst"),	    gateway,	    ifname,	    vifname,	    metric,	    admin_distance,	    protocol_origin);	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for fti/0.2/lookup_entry4 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();}

⌨️ 快捷键说明

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