summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorimarom <imarom@cisco.com>2016-08-18 15:47:58 +0300
committerimarom <imarom@cisco.com>2016-08-18 15:47:58 +0300
commita08d3b9ba1c5010827029bab030ef61d73368fa3 (patch)
treeb971e6abc3bd2b0ee1d7ba19f30b11f5096ddedc
parentd455190c32093cab25c0de5d078cb96defab48a2 (diff)
core_mask backward compatability (for GUI)
-rw-r--r--src/rpc-server/commands/trex_rpc_cmd_stream.cpp2
-rw-r--r--src/rpc-server/commands/trex_rpc_cmds.h2
-rw-r--r--src/rpc-server/trex_rpc_cmd.cpp8
-rw-r--r--src/rpc-server/trex_rpc_cmd_api.h1
-rw-r--r--src/stateless/cp/trex_streams_compiler.h2
5 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 7e973e60..680de2af 100644
--- a/src/rpc-server/commands/trex_rpc_cmd_stream.cpp
+++ b/src/rpc-server/commands/trex_rpc_cmd_stream.cpp
@@ -544,7 +544,7 @@ TrexRpcCmdStartTraffic::_run(const Json::Value &params, Json::Value &result) {
double duration = parse_double(params, "duration", result);
bool force = parse_bool(params, "force", result);
- uint64_t core_mask = parse_uint64(params, "core_mask", result);
+ uint64_t core_mask = parse_uint64(params, "core_mask", result, TrexDPCoreMask::MASK_ALL);
if (!TrexDPCoreMask::is_valid_mask(port->get_dp_core_count(), core_mask)) {
generate_parse_err(result, "invalid core mask provided");
diff --git a/src/rpc-server/commands/trex_rpc_cmds.h b/src/rpc-server/commands/trex_rpc_cmds.h
index 9dde61d4..24b95227 100644
--- a/src/rpc-server/commands/trex_rpc_cmds.h
+++ b/src/rpc-server/commands/trex_rpc_cmds.h
@@ -121,7 +121,7 @@ TREX_RPC_CMD_DEFINE(TrexRpcCmdGetStream, "get_stream", 3, false, APIClass::API_C
-TREX_RPC_CMD_DEFINE(TrexRpcCmdStartTraffic, "start_traffic", 5, true, APIClass::API_CLASS_TYPE_CORE);
+TREX_RPC_CMD_DEFINE(TrexRpcCmdStartTraffic, "start_traffic", 4, true, APIClass::API_CLASS_TYPE_CORE);
TREX_RPC_CMD_DEFINE(TrexRpcCmdStopTraffic, "stop_traffic", 1, true, APIClass::API_CLASS_TYPE_CORE);
TREX_RPC_CMD_DEFINE(TrexRpcCmdRemoveRXFilters, "remove_rx_filters", 1, true, APIClass::API_CLASS_TYPE_CORE);
TREX_RPC_CMD_DEFINE(TrexRpcCmdPauseTraffic, "pause_traffic", 1, true, APIClass::API_CLASS_TYPE_CORE);
diff --git a/src/rpc-server/trex_rpc_cmd.cpp b/src/rpc-server/trex_rpc_cmd.cpp
index 902e63c7..28145f13 100644
--- a/src/rpc-server/trex_rpc_cmd.cpp
+++ b/src/rpc-server/trex_rpc_cmd.cpp
@@ -81,9 +81,13 @@ TrexRpcCommand::run(const Json::Value &params, Json::Value &result) {
void
TrexRpcCommand::check_param_count(const Json::Value &params, int expected, Json::Value &result) {
- if (params.size() != expected) {
+ if (expected == TrexRpcCommand::PARAM_COUNT_IGNORE) {
+ return;
+ }
+
+ if (params.size() < expected) {
std::stringstream ss;
- ss << "method expects '" << expected << "' parameter(s), '" << params.size() << "' provided";
+ ss << "method expects at least '" << expected << "' parameter(s), '" << params.size() << "' provided";
generate_parse_err(result, ss.str());
}
}
diff --git a/src/rpc-server/trex_rpc_cmd_api.h b/src/rpc-server/trex_rpc_cmd_api.h
index 25920c6c..de0f5b58 100644
--- a/src/rpc-server/trex_rpc_cmd_api.h
+++ b/src/rpc-server/trex_rpc_cmd_api.h
@@ -102,6 +102,7 @@ public:
virtual ~TrexRpcCommand() {}
protected:
+ static const int PARAM_COUNT_IGNORE = -1;
/**
* different types of fields
diff --git a/src/stateless/cp/trex_streams_compiler.h b/src/stateless/cp/trex_streams_compiler.h
index 1a2e5484..c944df4a 100644
--- a/src/stateless/cp/trex_streams_compiler.h
+++ b/src/stateless/cp/trex_streams_compiler.h
@@ -40,7 +40,7 @@ class TrexDPCoreMask {
public:
- TrexDPCoreMask(uint8_t dp_core_count, uint64_t dp_core_mask = UINT64_MAX) {
+ TrexDPCoreMask(uint8_t dp_core_count, uint64_t dp_core_mask = MASK_ALL) {
assert(is_valid_mask(dp_core_count, dp_core_mask));
m_dp_core_count = dp_core_count;