diff options
author | 2016-09-05 10:32:08 +0300 | |
---|---|---|
committer | 2016-09-07 14:02:57 +0300 | |
commit | 0d4c9932591a46d5e2398dd1049001e107130f44 (patch) | |
tree | 71bbf0b7f287d721459132cefc91c104b989e4ef /src | |
parent | d508420652d613fdc87f6af746fd1372cd2ae7d2 (diff) |
dual mode : code review fixes
Diffstat (limited to 'src')
-rwxr-xr-x | src/common/erf.cpp | 2 | ||||
-rwxr-xr-x | src/common/pcap.h | 4 | ||||
-rw-r--r-- | src/rpc-server/commands/trex_rpc_cmd_general.cpp | 11 | ||||
-rw-r--r-- | src/stateless/cp/trex_stateless_port.cpp | 4 | ||||
-rw-r--r-- | src/stateless/dp/trex_stream_node.h | 1 |
5 files changed, 9 insertions, 13 deletions
diff --git a/src/common/erf.cpp b/src/common/erf.cpp index c4c14998..ae256a6b 100755 --- a/src/common/erf.cpp +++ b/src/common/erf.cpp @@ -450,7 +450,7 @@ bool CErfFileReader::ReadPacket(CCapPktRaw * lpPacket){ &interface); if ( length >0 ) { lpPacket->pkt_len =(uint16_t)length; - lpPacket->pkt_cnt++; + lpPacket->pkt_cnt++; lpPacket->setInterface(interface); return (true); } diff --git a/src/common/pcap.h b/src/common/pcap.h index 01c981d7..3f8dfd21 100755 --- a/src/common/pcap.h +++ b/src/common/pcap.h @@ -69,7 +69,7 @@ public: * * @return bool */ - bool isValid() { return m_is_valid; } + bool isValid() { return m_is_valid; } /** * Fill the structure with the new packet. @@ -78,7 +78,7 @@ public: * @return bool - return true if packet were read and false * otherwise (reached eof) */ - virtual bool ReadPacket(CCapPktRaw *lpPacket); + virtual bool ReadPacket(CCapPktRaw *lpPacket); virtual void Rewind(); diff --git a/src/rpc-server/commands/trex_rpc_cmd_general.cpp b/src/rpc-server/commands/trex_rpc_cmd_general.cpp index 85f77a7f..342ec594 100644 --- a/src/rpc-server/commands/trex_rpc_cmd_general.cpp +++ b/src/rpc-server/commands/trex_rpc_cmd_general.cpp @@ -519,21 +519,12 @@ TrexRpcCmdPushRemote::_run(const Json::Value ¶ms, Json::Value &result) { TrexStatelessPort *port = get_stateless_obj()->get_port_by_id(port_id); + /* for dual mode - make sure slave_handler matches */ if (is_dual) { TrexStatelessPort *slave = get_stateless_obj()->get_port_by_id(port_id ^ 0x1); - if (!slave->get_owner().verify(slave_handler)) { generate_execute_err(result, "incorrect or missing slave port handler"); } - - std::stringstream ss; - CCapReaderBase *reader = CCapReaderFactory::CreateReader((char *)pcap_filename.c_str(), 0, ss); - if (!reader) { - generate_execute_err(result, ss.str()); - } - if (reader->get_type() != ERF) { - generate_execute_err(result, "dual mode is only supported on ERF format"); - } } diff --git a/src/stateless/cp/trex_stateless_port.cpp b/src/stateless/cp/trex_stateless_port.cpp index 5162c477..58410fea 100644 --- a/src/stateless/cp/trex_stateless_port.cpp +++ b/src/stateless/cp/trex_stateless_port.cpp @@ -509,6 +509,10 @@ TrexStatelessPort::push_remote(const std::string &pcap_filename, if (!reader) { throw TrexException(ss.str()); } + + if ( (is_dual) && (reader->get_type() != ERF) ) { + throw TrexException("dual mode is only supported on ERF format"); + } delete reader; /* only one core gets to play */ diff --git a/src/stateless/dp/trex_stream_node.h b/src/stateless/dp/trex_stream_node.h index b4910fce..5da10d4b 100644 --- a/src/stateless/dp/trex_stream_node.h +++ b/src/stateless/dp/trex_stream_node.h @@ -510,6 +510,7 @@ public: } } + /* for dual mode - choose the right interface (even or odd) */ if (is_dual()) { uint8_t dir = m_raw_packet->getInterface() & 0x1; set_mbuf_dir(dir); |