]> git.droids-corp.org - dpdk.git/blobdiff - app/test-pmd/macswap.c
net/vhost: move to vhost library statistics API
[dpdk.git] / app / test-pmd / macswap.c
index 310bca06af58db5a350fdac6bc90986faf4cd3c0..acb0fd7fb4f35abae40326ec83993ececdce32f5 100644 (file)
@@ -24,7 +24,6 @@
 #include <rte_eal.h>
 #include <rte_per_lcore.h>
 #include <rte_lcore.h>
-#include <rte_atomic.h>
 #include <rte_branch_prediction.h>
 #include <rte_mempool.h>
 #include <rte_mbuf.h>
@@ -98,9 +97,22 @@ pkt_burst_mac_swap(struct fwd_stream *fs)
        get_end_cycles(fs, start_tsc);
 }
 
+static void
+stream_init_mac_swap(struct fwd_stream *fs)
+{
+       bool rx_stopped, tx_stopped;
+
+       rx_stopped = ports[fs->rx_port].rxq[fs->rx_queue].state ==
+                                               RTE_ETH_QUEUE_STATE_STOPPED;
+       tx_stopped = ports[fs->tx_port].txq[fs->tx_queue].state ==
+                                               RTE_ETH_QUEUE_STATE_STOPPED;
+       fs->disabled = rx_stopped || tx_stopped;
+}
+
 struct fwd_engine mac_swap_engine = {
        .fwd_mode_name  = "macswap",
        .port_fwd_begin = NULL,
        .port_fwd_end   = NULL,
+       .stream_init    = stream_init_mac_swap,
        .packet_fwd     = pkt_burst_mac_swap,
 };