diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/gtest/trex_stateless_gtest.cpp | 8 | ||||
-rw-r--r-- | src/stateless/cp/trex_streams_compiler.cpp | 4 | ||||
-rw-r--r-- | src/stateless/cp/trex_streams_compiler.h | 8 | ||||
-rw-r--r-- | src/stateless/dp/trex_stateless_dp_core.cpp | 13 | ||||
-rw-r--r-- | src/stateless/dp/trex_stateless_dp_core.h | 4 |
5 files changed, 24 insertions, 13 deletions
diff --git a/src/gtest/trex_stateless_gtest.cpp b/src/gtest/trex_stateless_gtest.cpp index 9634d01f..7850e8da 100644 --- a/src/gtest/trex_stateless_gtest.cpp +++ b/src/gtest/trex_stateless_gtest.cpp @@ -53,6 +53,7 @@ public: CBasicStl(){ m_time_diff=0.001; m_threads=1; + m_dump_json=false; } bool init(void){ @@ -90,7 +91,6 @@ public: lpt->start_stateless_daemon_simulation(); - #if 0 lpt->m_node_gen.DumpHist(stdout); @@ -99,14 +99,12 @@ public: res=false; } - if ( m_dump_json ){ printf(" dump json ...........\n"); std::string s; fl.m_threads_info[0]->m_node_gen.dump_json(s); printf(" %s \n",s.c_str()); } - #endif fl.Delete(); return (res); @@ -156,7 +154,7 @@ TEST_F(basic_stl, limit_single_pkt) { CBasicStl t1; CParserOption * po =&CGlobalInfo::m_options; - po->preview.setVMode(0); + po->preview.setVMode(7); po->preview.setFileWrite(true); po->out_file ="exp/stl_single_sctp_pkt"; @@ -182,10 +180,12 @@ TEST_F(basic_stl, limit_single_pkt) { TrexStreamsCompiledObj comp_obj(0,1.0); + comp_obj.set_simulation_duration( 10.0); assert(compile.compile(streams, comp_obj) ); TrexStatelessDpStart * lpstart = new TrexStatelessDpStart( comp_obj.clone() ); + t1.m_msg = lpstart; bool res=t1.init(); diff --git a/src/stateless/cp/trex_streams_compiler.cpp b/src/stateless/cp/trex_streams_compiler.cpp index 8238bac7..7891077b 100644 --- a/src/stateless/cp/trex_streams_compiler.cpp +++ b/src/stateless/cp/trex_streams_compiler.cpp @@ -34,6 +34,7 @@ TrexStreamsCompiledObj::~TrexStreamsCompiledObj() { delete [] obj.m_pkt; } m_objs.clear(); + m_duration_sim=-1.0; } void @@ -67,9 +68,10 @@ TrexStreamsCompiledObj::clone() { obj.m_pkt_len); } - /* fix the multiplier */ new_compiled_obj->m_mul = m_mul; + new_compiled_obj->m_duration_sim = m_duration_sim; + return new_compiled_obj; } diff --git a/src/stateless/cp/trex_streams_compiler.h b/src/stateless/cp/trex_streams_compiler.h index 404fdd21..d86d16c6 100644 --- a/src/stateless/cp/trex_streams_compiler.h +++ b/src/stateless/cp/trex_streams_compiler.h @@ -51,6 +51,13 @@ public: return m_objs; } + void set_simulation_duration(double duration){ + m_duration_sim=duration; + } + + double get_simulation_duration(){ + return (m_duration_sim); + } /** * clone the compiled object * @@ -63,6 +70,7 @@ private: uint8_t m_port_id; double m_mul; + double m_duration_sim; /* duration for all simulation */ }; class TrexStreamsCompiler { diff --git a/src/stateless/dp/trex_stateless_dp_core.cpp b/src/stateless/dp/trex_stateless_dp_core.cpp index 480606e8..e1664bd9 100644 --- a/src/stateless/dp/trex_stateless_dp_core.cpp +++ b/src/stateless/dp/trex_stateless_dp_core.cpp @@ -109,10 +109,8 @@ TrexStatelessDpCore::start() { } void -TrexStatelessDpCore::add_duration(uint8_t port_id, - double duration){ +TrexStatelessDpCore::add_duration(double duration){ if (duration > 0.0) { - CGenNode *node = m_core->create_node() ; node->m_type = CGenNode::EXIT_SCHED; @@ -121,7 +119,6 @@ TrexStatelessDpCore::add_duration(uint8_t port_id, node->m_time = m_core->m_cur_time_sec + duration ; m_core->m_node_gen.add_node(node); - } } @@ -193,8 +190,12 @@ TrexStatelessDpCore::start_traffic(TrexStreamsCompiledObj *obj) { single_stream.m_pkt_len); } - /* TBD need to fix this */ - //add_duration(0,10.0); + double duration=obj->get_simulation_duration(); + printf("duration %f \n",duration); + + if ( duration >0.0){ + add_duration( duration ); + } } void diff --git a/src/stateless/dp/trex_stateless_dp_core.h b/src/stateless/dp/trex_stateless_dp_core.h index a23e81c9..51f882b2 100644 --- a/src/stateless/dp/trex_stateless_dp_core.h +++ b/src/stateless/dp/trex_stateless_dp_core.h @@ -131,8 +131,8 @@ private: */ void handle_cp_msg(TrexStatelessCpToDpMsgBase *msg); - void add_duration(uint8_t port_id, - double duration); + /* add global exit */ + void add_duration(double duration); void add_cont_stream(uint8_t dir, double isg, |