ospf_base.cc

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

CC
2,179
字号
    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlOspfTargetBase::handle_ospf_0_1_vlink_set_transmit_delay(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){    if (xa_inputs.size() != 3) {	XLOG_ERROR("Wrong number of arguments (%u != 3) handling ospf/0.1/vlink_set_transmit_delay",            (uint32_t)xa_inputs.size());	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = ospf_0_1_vlink_set_transmit_delay(	    xa_inputs.get_uint32("transit_area"),	    xa_inputs.get_uint32("neighbor_id"),	    xa_inputs.get_uint32("delay_secs"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for ospf/0.1/vlink_set_transmit_delay 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 XrlCmdErrorXrlOspfTargetBase::handle_ospf_0_1_vlink_get_transmit_delay(const XrlArgs& xa_inputs, XrlArgs* pxa_outputs){    if (xa_inputs.size() != 2) {	XLOG_ERROR("Wrong number of arguments (%u != 2) handling ospf/0.1/vlink_get_transmit_delay",            (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 */    uint32_t delay_secs;    try {	XrlCmdError e = ospf_0_1_vlink_get_transmit_delay(	    xa_inputs.get_uint32("transit_area"),	    xa_inputs.get_uint32("neighbor_id"),	    delay_secs);	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for ospf/0.1/vlink_get_transmit_delay 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("delay_secs", delay_secs);    } catch (const XrlArgs::XrlAtomFound& ) {	XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlOspfTargetBase::handle_ospf_0_1_vlink_set_retransmit_interval(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){    if (xa_inputs.size() != 3) {	XLOG_ERROR("Wrong number of arguments (%u != 3) handling ospf/0.1/vlink_set_retransmit_interval",            (uint32_t)xa_inputs.size());	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = ospf_0_1_vlink_set_retransmit_interval(	    xa_inputs.get_uint32("transit_area"),	    xa_inputs.get_uint32("neighbor_id"),	    xa_inputs.get_uint32("interval_secs"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for ospf/0.1/vlink_set_retransmit_interval 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 XrlCmdErrorXrlOspfTargetBase::handle_ospf_0_1_vlink_get_retransmit_interval(const XrlArgs& xa_inputs, XrlArgs* pxa_outputs){    if (xa_inputs.size() != 2) {	XLOG_ERROR("Wrong number of arguments (%u != 2) handling ospf/0.1/vlink_get_retransmit_interval",            (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 */    uint32_t interval_secs;    try {	XrlCmdError e = ospf_0_1_vlink_get_retransmit_interval(	    xa_inputs.get_uint32("transit_area"),	    xa_inputs.get_uint32("neighbor_id"),	    interval_secs);	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for ospf/0.1/vlink_get_retransmit_interval 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("interval_secs", interval_secs);    } catch (const XrlArgs::XrlAtomFound& ) {	XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlOspfTargetBase::handle_ospf_0_1_vlink_set_hello_interval(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){    if (xa_inputs.size() != 3) {	XLOG_ERROR("Wrong number of arguments (%u != 3) handling ospf/0.1/vlink_set_hello_interval",            (uint32_t)xa_inputs.size());	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = ospf_0_1_vlink_set_hello_interval(	    xa_inputs.get_uint32("transit_area"),	    xa_inputs.get_uint32("neighbor_id"),	    xa_inputs.get_uint32("interval_secs"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for ospf/0.1/vlink_set_hello_interval 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 XrlCmdErrorXrlOspfTargetBase::handle_ospf_0_1_vlink_get_hello_interval(const XrlArgs& xa_inputs, XrlArgs* pxa_outputs){    if (xa_inputs.size() != 2) {	XLOG_ERROR("Wrong number of arguments (%u != 2) handling ospf/0.1/vlink_get_hello_interval",            (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 */    uint32_t interval_secs;    try {	XrlCmdError e = ospf_0_1_vlink_get_hello_interval(	    xa_inputs.get_uint32("transit_area"),	    xa_inputs.get_uint32("neighbor_id"),	    interval_secs);	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for ospf/0.1/vlink_get_hello_interval 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("interval_secs", interval_secs);    } catch (const XrlArgs::XrlAtomFound& ) {	XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlOspfTargetBase::handle_ospf_0_1_vlink_set_router_dead_interval(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){    if (xa_inputs.size() != 3) {	XLOG_ERROR("Wrong number of arguments (%u != 3) handling ospf/0.1/vlink_set_router_dead_interval",            (uint32_t)xa_inputs.size());	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = ospf_0_1_vlink_set_router_dead_interval(	    xa_inputs.get_uint32("transit_area"),	    xa_inputs.get_uint32("neighbor_id"),	    xa_inputs.get_uint32("interval_secs"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for ospf/0.1/vlink_set_router_dead_interval 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 XrlCmdErrorXrlOspfTargetBase::handle_ospf_0_1_vlink_get_router_dead_interval(const XrlArgs& xa_inputs, XrlArgs* pxa_outputs){    if (xa_inputs.size() != 2) {	XLOG_ERROR("Wrong number of arguments (%u != 2) handling ospf/0.1/vlink_get_router_dead_interval",            (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 */    uint32_t interval_secs;    try {	XrlCmdError e = ospf_0_1_vlink_get_router_dead_interval(	    xa_inputs.get_uint32("transit_area"),	    xa_inputs.get_uint32("neighbor_id"),	    interval_secs);	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for ospf/0.1/vlink_get_router_dead_interval 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("interval_secs", interval_secs);    } catch (const XrlArgs::XrlAtomFound& ) {	XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlOspfTargetBase::handle_ospf_0_1_vlink_set_authentication(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){    if (xa_inputs.size() != 4) {	XLOG_ERROR("Wrong number of arguments (%u != 4) handling ospf/0.1/vlink_set_authentication",            (uint32_t)xa_inputs.size());	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = ospf_0_1_vlink_set_authentication(	    xa_inputs.get_uint32("transit_area"),	    xa_inputs.get_uint32("neighbor_id"),	    xa_inputs.get_string("type"),	    xa_inputs.get_string("key"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for ospf/0.1/vlink_set_authentication 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 XrlCmdErrorXrlOspfTargetBase::handle_ospf_0_1_vlink_get_authentication(const XrlArgs& xa_inputs, XrlArgs* pxa_outputs){    if (xa_inputs.size() != 2) {	XLOG_ERROR("Wrong number of arguments (%u != 2) handling ospf/0.1/vlink_get_authentication",            (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 */    string type;    string key;    try {	XrlCmdError e = ospf_0_1_vlink_get_authentication(	    xa_inputs.get_uint32("transit_area"),	    xa_inputs.get_uint32("neighbor_id"),	    type,	    key);	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for ospf/0.1/vlink_get_authentication 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("type", type);	pxa_outputs->add("key", key);    } catch (const XrlArgs::XrlAtomFound& ) {	XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlOspfTargetBase::handle_ospf_0_1_list_vlinks(const XrlArgs& xa_inputs, XrlArgs* pxa_outputs){    if (xa_inputs.size() != 1) {	XLOG_ERROR("Wrong number of arguments (%u != 1) handling ospf/0.1/list_vlinks",            (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 */    XrlAtomList neighbor_ids;    try {	XrlCmdError e = ospf_0_1_list_vlinks(	    xa_inputs.get_uint32("transit_id"),	    neighbor_ids);	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for ospf/0.1/list_vlinks 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("neighbor_ids", neighbor_ids);    } catch (const XrlArgs::XrlAtomFound& ) {	XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlOspfTargetBase::handle_ospf_0_1_add_or_configure_external_route(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){    if (xa_inputs.size() != 6) {	XLOG_ERROR("Wrong number of arguments (%u != 6) handling ospf/0.1/add_or_configure_external_route",            (uint32_t)xa_inputs.size());	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = ospf_0_1_add_or_configure_external_route(	    xa_inputs.get_ipv4net("network"),	    xa_inputs.get_ipv4("gateway"),	    xa_inputs.get_uint32("type"),	    xa_inputs.get_uint32("cost"),	    xa_inputs.get_bool("multicast"),	    xa_inputs.get_uint32("external_route_tag"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for ospf/0.1/add_or_configure_external_route 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 XrlCmdErrorXrlOspfTargetBase::handle_ospf_0_1_delete_external_route(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){    if (xa_inputs.size() != 2) {	XLOG_ERROR("Wrong number of arguments (%u != 2) handling ospf/0.1/delete_external_route",            (uint32_t)xa_inputs.size());	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = ospf_0_1_delete_external_route(	    xa_inputs.get_ipv4net("network"),	    xa_inputs.get_ipv4("gateway"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for ospf/0.1/delete_external_route 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();

⌨️ 快捷键说明

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