diff options
author | 2016-01-05 20:51:47 +0200 | |
---|---|---|
committer | 2016-01-05 20:51:47 +0200 | |
commit | 5f07d1062309eea31e47a6d9ab23bb1c94de5c83 (patch) | |
tree | 667326ce482b79d9626badb80d8562a9ecf7551b /src/rpc-server | |
parent | c905d6b0845e79dbc5d5d37eee560d1dbc58b6ff (diff) | |
parent | d6be4b0e8a2cd92b5e6c455532431897f76331fe (diff) |
Merge branch 'random_pkt'
Diffstat (limited to 'src/rpc-server')
-rw-r--r-- | src/rpc-server/commands/trex_rpc_cmd_stream.cpp | 17 | ||||
-rw-r--r-- | src/rpc-server/commands/trex_rpc_cmds.h | 2 |
2 files changed, 17 insertions, 2 deletions
diff --git a/src/rpc-server/commands/trex_rpc_cmd_stream.cpp b/src/rpc-server/commands/trex_rpc_cmd_stream.cpp index 51db0b20..95cd895b 100644 --- a/src/rpc-server/commands/trex_rpc_cmd_stream.cpp +++ b/src/rpc-server/commands/trex_rpc_cmd_stream.cpp @@ -175,6 +175,16 @@ TrexRpcCmdAddStream::parse_vm_instr_checksum(const Json::Value &inst, TrexStream stream->m_vm.add_instruction(new StreamVmInstructionFixChecksumIpv4(pkt_offset)); } + +void +TrexRpcCmdAddStream::parse_vm_instr_trim_pkt_size(const Json::Value &inst, TrexStream *stream, Json::Value &result){ + + std::string flow_var_name = parse_string(inst, "name", result); + + stream->m_vm.add_instruction(new StreamVmInstructionChangePktSize(flow_var_name)); +} + + void TrexRpcCmdAddStream::parse_vm_instr_tuple_flow_var(const Json::Value &inst, TrexStream *stream, Json::Value &result){ @@ -255,7 +265,7 @@ TrexRpcCmdAddStream::parse_vm(const Json::Value &vm, TrexStream *stream, Json::V for (int i = 0; i < instructions.size(); i++) { const Json::Value & inst = parse_object(instructions, i, result); - auto vm_types = {"fix_checksum_ipv4", "flow_var", "write_flow_var","tuple_flow_var"}; + auto vm_types = {"fix_checksum_ipv4", "flow_var", "write_flow_var","tuple_flow_var","trim_pkt_size"}; std::string vm_type = parse_choice(inst, "type", vm_types, result); // checksum instruction @@ -269,7 +279,10 @@ TrexRpcCmdAddStream::parse_vm(const Json::Value &vm, TrexStream *stream, Json::V parse_vm_instr_write_flow_var(inst, stream, result); } else if (vm_type == "tuple_flow_var") { - parse_vm_instr_tuple_flow_var(inst, stream, result); + parse_vm_instr_tuple_flow_var(inst, stream, result); + + } else if (vm_type == "trim_pkt_size") { + parse_vm_instr_trim_pkt_size(inst, stream, result); } else { /* internal error */ throw TrexRpcException("internal error"); diff --git a/src/rpc-server/commands/trex_rpc_cmds.h b/src/rpc-server/commands/trex_rpc_cmds.h index f4651d7b..b1750053 100644 --- a/src/rpc-server/commands/trex_rpc_cmds.h +++ b/src/rpc-server/commands/trex_rpc_cmds.h @@ -96,6 +96,8 @@ void parse_vm(const Json::Value &vm, TrexStream *stream, Json::Value &result); void parse_vm_instr_checksum(const Json::Value &inst, TrexStream *stream, Json::Value &result); void parse_vm_instr_flow_var(const Json::Value &inst, TrexStream *stream, Json::Value &result); void parse_vm_instr_tuple_flow_var(const Json::Value &inst, TrexStream *stream, Json::Value &result); +void parse_vm_instr_trim_pkt_size(const Json::Value &inst, TrexStream *stream, Json::Value &result); + void parse_vm_instr_write_flow_var(const Json::Value &inst, TrexStream *stream, Json::Value &result); ); |