From 34191e258a032cf78a171752eece903bb06f6751 Mon Sep 17 00:00:00 2001 From: imarom Date: Thu, 19 Nov 2015 17:47:42 +0200 Subject: disable stop event when you got it as a sync request --- src/stateless/cp/trex_dp_port_events.cpp | 5 +++++ src/stateless/cp/trex_dp_port_events.h | 6 ++++++ src/stateless/cp/trex_stateless_port.cpp | 3 +++ 3 files changed, 14 insertions(+) (limited to 'src/stateless') 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 @@ -146,6 +146,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 -- cgit