diff options
author | imarom <imarom@cisco.com> | 2016-02-24 08:58:54 -0500 |
---|---|---|
committer | imarom <imarom@cisco.com> | 2016-02-24 08:58:54 -0500 |
commit | 235a14fce2503d2592f9fe58bd8611e97f99f7df (patch) | |
tree | 907e898c9ad12821c3e50add673e178726eb5c40 /src/rpc-server/commands/trex_rpc_cmd_stream.cpp | |
parent | ecb526069c67cc7ee96ee6e7e263f3e556355011 (diff) |
RX - for not supported interfaces gives an error in JSON
Diffstat (limited to 'src/rpc-server/commands/trex_rpc_cmd_stream.cpp')
-rw-r--r-- | src/rpc-server/commands/trex_rpc_cmd_stream.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/rpc-server/commands/trex_rpc_cmd_stream.cpp b/src/rpc-server/commands/trex_rpc_cmd_stream.cpp index 984c3f8e..86759f99 100644 --- a/src/rpc-server/commands/trex_rpc_cmd_stream.cpp +++ b/src/rpc-server/commands/trex_rpc_cmd_stream.cpp @@ -105,18 +105,23 @@ TrexRpcCmdAddStream::_run(const Json::Value ¶ms, Json::Value &result) { stream->m_rx_check.m_enabled = parse_bool(rx, "enabled", result); + TrexStatelessPort *port = get_stateless_obj()->get_port_by_id(stream->m_port_id); + /* if it is enabled - we need more fields */ if (stream->m_rx_check.m_enabled) { - stream->m_rx_check.m_user_id = parse_int(rx, "stream_id", result); - stream->m_rx_check.m_seq_enabled = parse_bool(rx, "seq_enabled", result); - stream->m_rx_check.m_latency = parse_bool(rx, "latency_enabled", result); + + if (port->get_rx_caps() == 0) { + generate_parse_err(result, "RX stats is not supported on this interface"); + } + + stream->m_rx_check.m_user_id = parse_int(rx, "stream_id", result); + stream->m_rx_check.m_seq_enabled = parse_bool(rx, "seq_enabled", result); + stream->m_rx_check.m_latency = parse_bool(rx, "latency_enabled", result); } /* make sure this is a valid stream to add */ validate_stream(stream, result); - TrexStatelessPort *port = get_stateless_obj()->get_port_by_id(stream->m_port_id); - try { port->add_stream(stream.get()); stream.release(); |