From 0337db2b07c2c054ee5c5ea49cab6cfce5d5a897 Mon Sep 17 00:00:00 2001 From: imarom Date: Mon, 31 Oct 2016 11:58:27 +0200 Subject: draft: RX software feature Signed-off-by: imarom --- src/stateless/cp/trex_stateless_port.cpp | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'src/stateless/cp/trex_stateless_port.cpp') diff --git a/src/stateless/cp/trex_stateless_port.cpp b/src/stateless/cp/trex_stateless_port.cpp index 9bb20990..5d31abbf 100644 --- a/src/stateless/cp/trex_stateless_port.cpp +++ b/src/stateless/cp/trex_stateless_port.cpp @@ -25,6 +25,7 @@ limitations under the License. #include #include #include +#include "trex_stateless_rx_defs.h" #include @@ -944,6 +945,32 @@ TrexStatelessPort::remove_and_delete_all_streams() { } } +/** + * set the filter type for a port + * + * @author imarom (10/31/2016) + * + * @param rx_sw_cfg + */ +void +TrexStatelessPort::set_rx_filter_mode(rx_filter_mode_e filter_mode) { + TrexStatelessCpToRxMsgBase *msg = new TrexStatelessRxSetFilterMode(m_port_id, filter_mode); + send_message_to_rx(msg); +} + +RxPacketBuffer * +TrexStatelessPort::get_rx_sw_pkts() { + + /* ask RX core for the pkt queue */ + TrexStatelessMsgReply msg_reply; + + TrexStatelessCpToRxMsgBase *msg = new TrexStatelessRxSwGetPkts(m_port_id, msg_reply); + send_message_to_rx(msg); + + RxPacketBuffer *pkt_buffer = msg_reply.wait_for_reply(); + return pkt_buffer; +} + /************* Trex Port Owner **************/ TrexPortOwner::TrexPortOwner() { -- cgit 1.2.3-korg