summaryrefslogtreecommitdiffstats
path: root/src/stateless/cp/trex_stateless_port.cpp
diff options
context:
space:
mode:
authorimarom <imarom@cisco.com>2016-10-31 11:58:27 +0200
committerimarom <imarom@cisco.com>2016-11-02 15:08:35 +0200
commit0337db2b07c2c054ee5c5ea49cab6cfce5d5a897 (patch)
treeea29f13937170a989697356ed9f777dc4db4670f /src/stateless/cp/trex_stateless_port.cpp
parent02ab06b1cf8886be0a6fde5360497b4fa968d3a3 (diff)
draft: RX software feature
Signed-off-by: imarom <imarom@cisco.com>
Diffstat (limited to 'src/stateless/cp/trex_stateless_port.cpp')
-rw-r--r--src/stateless/cp/trex_stateless_port.cpp27
1 files changed, 27 insertions, 0 deletions
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 <trex_streams_compiler.h>
#include <common/basic_utils.h>
#include <common/captureFile.h>
+#include "trex_stateless_rx_defs.h"
#include <string>
@@ -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<RxPacketBuffer *> 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() {