diff options
author | 2016-11-06 18:50:16 +0200 | |
---|---|---|
committer | 2016-11-06 18:50:16 +0200 | |
commit | e85ea75669ea39e4f99519138a3a84e4df6eed2d (patch) | |
tree | 27e1563def12afc2ef03c369324aa2b03807cc76 /src/stateless | |
parent | a1ade6fd8e044b9866a8644db3519305539cfc61 (diff) |
RX features
Signed-off-by: imarom <imarom@cisco.com>
Diffstat (limited to 'src/stateless')
-rw-r--r-- | src/stateless/cp/trex_stateless_port.cpp | 5 | ||||
-rw-r--r-- | src/stateless/rx/trex_stateless_rx_defs.h | 16 |
2 files changed, 17 insertions, 4 deletions
diff --git a/src/stateless/cp/trex_stateless_port.cpp b/src/stateless/cp/trex_stateless_port.cpp index f93d7abd..2318061d 100644 --- a/src/stateless/cp/trex_stateless_port.cpp +++ b/src/stateless/cp/trex_stateless_port.cpp @@ -947,9 +947,7 @@ TrexStatelessPort::remove_and_delete_all_streams() { void TrexStatelessPort::start_rx_capture(const std::string &pcap_filename, uint64_t limit) { - m_rx_capture_info.m_is_active = true; - m_rx_capture_info.m_limit = limit; - m_rx_capture_info.m_pcap_filename = pcap_filename; + m_rx_capture_info.enable(pcap_filename, limit); TrexStatelessCpToRxMsgBase *msg = new TrexStatelessRxStartCapture(m_port_id, pcap_filename, @@ -962,6 +960,7 @@ void TrexStatelessPort::stop_rx_capture() { TrexStatelessCpToRxMsgBase *msg = new TrexStatelessRxStopCapture(m_port_id); send_message_to_rx(msg); + m_rx_capture_info.disable(); } const RXCaptureInfo & diff --git a/src/stateless/rx/trex_stateless_rx_defs.h b/src/stateless/rx/trex_stateless_rx_defs.h index 0b7d1aa3..ee124270 100644 --- a/src/stateless/rx/trex_stateless_rx_defs.h +++ b/src/stateless/rx/trex_stateless_rx_defs.h @@ -59,13 +59,26 @@ typedef enum rx_filter_mode_ { * holds RX capture info * */ -struct RXCaptureInfo { +class RXCaptureInfo { +public: RXCaptureInfo() { m_is_active = false; m_limit = 0; m_shared_counter = 0; } + void enable(const std::string &pcap_filename, uint64_t limit) { + m_pcap_filename = pcap_filename; + m_limit = limit; + m_is_active = true; + } + + void disable() { + m_is_active = false; + m_pcap_filename = ""; + m_limit = 0; + } + void to_json(Json::Value &output) const { output["is_active"] = m_is_active; if (m_is_active) { @@ -75,6 +88,7 @@ struct RXCaptureInfo { } } +public: bool m_is_active; std::string m_pcap_filename; uint64_t m_limit; |