summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/stateless/cp/trex_dp_port_events.cpp5
-rw-r--r--src/stateless/cp/trex_dp_port_events.h6
-rw-r--r--src/stateless/cp/trex_stateless_port.cpp3
3 files changed, 14 insertions, 0 deletions
diff --git a/src/stateless/cp/trex_dp_port_events.cpp b/src/stateless/cp/trex_dp_port_events.cpp
index 533ab605..f74068a3 100644
--- a/src/stateless/cp/trex_dp_port_events.cpp
+++ b/src/stateless/cp/trex_dp_port_events.cpp
@@ -64,6 +64,11 @@ TrexDpPortEvents::wait_for_event(TrexDpPortEvent::event_e ev, int event_id, int
m_events[ev].wait_for_event(event_id, timeout_ms);
}
+void
+TrexDpPortEvents::disable(TrexDpPortEvent::event_e ev) {
+ m_events[ev].disable();
+}
+
/**
* handle an event
*
diff --git a/src/stateless/cp/trex_dp_port_events.h b/src/stateless/cp/trex_dp_port_events.h
index 309288df..557e590b 100644
--- a/src/stateless/cp/trex_dp_port_events.h
+++ b/src/stateless/cp/trex_dp_port_events.h
@@ -147,6 +147,12 @@ public:
void wait_for_event(TrexDpPortEvent::event_e ev, int event_id, int timeout_ms = -1);
/**
+ * disable an event (don't care)
+ *
+ */
+ void disable(TrexDpPortEvent::event_e ev);
+
+ /**
* event has occured
*
*/
diff --git a/src/stateless/cp/trex_stateless_port.cpp b/src/stateless/cp/trex_stateless_port.cpp
index 489e2172..43960d5e 100644
--- a/src/stateless/cp/trex_stateless_port.cpp
+++ b/src/stateless/cp/trex_stateless_port.cpp
@@ -153,6 +153,9 @@ TrexStatelessPort::stop_traffic(void) {
send_message_to_dp(stop_msg);
change_state(PORT_STATE_STREAMS);
+
+ /* mask out the DP stop event */
+ m_dp_events.disable(TrexDpPortEvent::EVENT_STOP);
}
void