diff options
-rw-r--r-- | src/stateless/cp/trex_dp_port_events.cpp | 5 | ||||
-rw-r--r-- | src/stateless/cp/trex_dp_port_events.h | 6 | ||||
-rw-r--r-- | src/stateless/cp/trex_stateless_port.cpp | 3 |
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 |