summaryrefslogtreecommitdiffstats
path: root/src/stateless/dp/trex_stateless_dp_core.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/stateless/dp/trex_stateless_dp_core.cpp')
-rw-r--r--src/stateless/dp/trex_stateless_dp_core.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/stateless/dp/trex_stateless_dp_core.cpp b/src/stateless/dp/trex_stateless_dp_core.cpp
index c4fdd44b..cde34a4b 100644
--- a/src/stateless/dp/trex_stateless_dp_core.cpp
+++ b/src/stateless/dp/trex_stateless_dp_core.cpp
@@ -486,6 +486,7 @@ TrexStatelessDpCore::start_traffic(TrexStreamsCompiledObj *obj,
if ( duration > 0.0 ){
add_port_duration( duration ,obj->get_port_id() );
}
+
}
@@ -516,6 +517,17 @@ TrexStatelessDpCore::stop_traffic(uint8_t port_id) {
schedule_exit();
}
+
+ /* inform the control plane we stopped - this might be a async stop
+ (streams ended)
+ */
+ CNodeRing *ring = CMsgIns::Ins()->getCpDp()->getRingDpToCp(m_core->m_thread_id);
+ TrexStatelessDpToCpMsgBase *event_msg = new TrexDpPortEventMsg(m_core->m_thread_id,
+ port_id,
+ TrexDpPortEvent::EVENT_STOP,
+ get_event_id());
+ ring->Enqueue((CGenNode *)event_msg);
+
}
/**