summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--scripts/automation/trex_control_plane/stl/trex_stl_lib/trex_stl_streams.py5
-rw-r--r--src/rpc-server/commands/trex_rpc_cmd_stream.cpp2
2 files changed, 5 insertions, 2 deletions
diff --git a/scripts/automation/trex_control_plane/stl/trex_stl_lib/trex_stl_streams.py b/scripts/automation/trex_control_plane/stl/trex_stl_lib/trex_stl_streams.py
index e890bac6..f79d25c3 100644
--- a/scripts/automation/trex_control_plane/stl/trex_stl_lib/trex_stl_streams.py
+++ b/scripts/automation/trex_control_plane/stl/trex_stl_lib/trex_stl_streams.py
@@ -13,6 +13,8 @@ import base64
import string
import traceback
from types import NoneType
+import copy
+
# base class for TX mode
class STLTXMode(object):
@@ -282,11 +284,12 @@ class STLStream(object):
if self.next:
y['next'] = self.next
- y['stream'] = self.fields
+ y['stream'] = copy.deepcopy(self.fields)
# some shortcuts for YAML
rate_type = self.fields['mode']['rate']['type']
rate_value = self.fields['mode']['rate']['value']
+
y['stream']['mode'][rate_type] = rate_value
del y['stream']['mode']['rate']
diff --git a/src/rpc-server/commands/trex_rpc_cmd_stream.cpp b/src/rpc-server/commands/trex_rpc_cmd_stream.cpp
index 0918ff0e..50295c7c 100644
--- a/src/rpc-server/commands/trex_rpc_cmd_stream.cpp
+++ b/src/rpc-server/commands/trex_rpc_cmd_stream.cpp
@@ -313,7 +313,7 @@ TrexRpcCmdAddStream::parse_vm_instr_flow_var(const Json::Value &inst, std::uniqu
void
-TrexRpcCmdAddStream::parse_vm_instr_write_mask_flow_var(const Json::Value &inst, TrexStream *stream, Json::Value &result) {
+TrexRpcCmdAddStream::parse_vm_instr_write_mask_flow_var(const Json::Value &inst, std::unique_ptr<TrexStream> &stream, Json::Value &result) {
std::string flow_var_name = parse_string(inst, "name", result);
uint16_t pkt_offset = parse_uint16(inst, "pkt_offset", result);
uint16_t pkt_cast_size = parse_uint16(inst, "pkt_cast_size", result);