本文整理汇总了C++中TrexStatelessPort::set_l3_mode方法的典型用法代码示例。如果您正苦于以下问题:C++ TrexStatelessPort::set_l3_mode方法的具体用法?C++ TrexStatelessPort::set_l3_mode怎么用?C++ TrexStatelessPort::set_l3_mode使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TrexStatelessPort
的用法示例。
在下文中一共展示了TrexStatelessPort::set_l3_mode方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: return
/**
* configures a port in L3 mode
*
*/
trex_rpc_cmd_rc_e
TrexRpcCmdSetL3::_run(const Json::Value ¶ms, Json::Value &result) {
uint8_t port_id = parse_port(params, result);
TrexStatelessPort *port = get_stateless_obj()->get_port_by_id(port_id);
const std::string src_ipv4_str = parse_string(params, "src_addr", result);
const std::string dst_ipv4_str = parse_string(params, "dst_addr", result);
uint32_t src_ipv4;
if (!utl_ipv4_to_uint32(src_ipv4_str.c_str(), src_ipv4)) {
std::stringstream ss;
ss << "invalid source IPv4 address: '" << src_ipv4_str << "'";
generate_parse_err(result, ss.str());
}
uint32_t dst_ipv4;
if (!utl_ipv4_to_uint32(dst_ipv4_str.c_str(), dst_ipv4)) {
std::stringstream ss;
ss << "invalid destination IPv4 address: '" << dst_ipv4_str << "'";
generate_parse_err(result, ss.str());
}
/* did we get a resolved MAC as well ? */
if (params["resolved_mac"] != Json::Value::null) {
const std::string resolved_mac = parse_string(params, "resolved_mac", result);
uint8_t mac[6];
if (!utl_str_to_macaddr(resolved_mac, mac)) {
std::stringstream ss;
ss << "'invalid MAC address: '" << resolved_mac << "'";
generate_parse_err(result, ss.str());
}
port->set_l3_mode(src_ipv4, dst_ipv4, mac);
} else {
port->set_l3_mode(src_ipv4, dst_ipv4);
}
return (TREX_RPC_CMD_OK);
}