summaryrefslogtreecommitdiffstats
path: root/src/stateless
diff options
context:
space:
mode:
authorHanoh Haim <hhaim@cisco.com>2015-11-11 16:14:28 +0200
committerHanoh Haim <hhaim@cisco.com>2015-11-11 16:14:28 +0200
commit6294136db42a3327049c67c12eab4684c4abbe47 (patch)
tree192b2a609bdd19aaa7e1818160013c6deafe219f /src/stateless
parentd5361e483d135e60b1b40a05b283cf704697504a (diff)
fix duration for stl tests
Diffstat (limited to 'src/stateless')
-rw-r--r--src/stateless/cp/trex_streams_compiler.cpp4
-rw-r--r--src/stateless/cp/trex_streams_compiler.h8
-rw-r--r--src/stateless/dp/trex_stateless_dp_core.cpp13
-rw-r--r--src/stateless/dp/trex_stateless_dp_core.h4
4 files changed, 20 insertions, 9 deletions
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,