#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>
*/
nb_rx = rte_eth_rx_burst(fs->rx_port, fs->rx_queue, pkts_burst,
nb_pkt_per_burst);
-#ifdef RTE_TEST_PMD_RECORD_BURST_STATS
- fs->rx_burst_stats.pkt_burst_spread[nb_rx]++;
-#endif
+ inc_rx_burst_stats(fs, nb_rx);
if (unlikely(nb_rx == 0))
return;
get_end_cycles(fs, start_tsc);
}
+static void
+stream_init_receive(struct fwd_stream *fs)
+{
+ fs->disabled = ports[fs->rx_port].rxq[fs->rx_queue].state ==
+ RTE_ETH_QUEUE_STATE_STOPPED;
+}
+
struct fwd_engine rx_only_engine = {
.fwd_mode_name = "rxonly",
.port_fwd_begin = NULL,
.port_fwd_end = NULL,
+ .stream_init = stream_init_receive,
.packet_fwd = pkt_burst_receive,
};