core_mask backward compatability (for GUI)
authorimarom <[email protected]>
Thu, 18 Aug 2016 12:47:58 +0000 (15:47 +0300)
committerimarom <[email protected]>
Thu, 18 Aug 2016 12:47:58 +0000 (15:47 +0300)
src/rpc-server/commands/trex_rpc_cmd_stream.cpp
src/rpc-server/commands/trex_rpc_cmds.h
src/rpc-server/trex_rpc_cmd.cpp
src/rpc-server/trex_rpc_cmd_api.h
src/stateless/cp/trex_streams_compiler.h

index 7e973e6..680de2a 100644 (file)
@@ -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");
index 9dde61d..24b9522 100644 (file)
@@ -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);
index 902e63c..28145f1 100644 (file)
@@ -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());
     }
 }
index 25920c6..de0f5b5 100644 (file)
@@ -102,6 +102,7 @@ public:
     virtual ~TrexRpcCommand() {}
 
 protected:
+    static const int PARAM_COUNT_IGNORE = -1;
 
     /**
      * different types of fields
index 1a2e548..c944df4 100644 (file)
@@ -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;