/* SPDX-License-Identifier: BSD-3-Clause * Copyright(c) 2010-2014 Intel Corporation */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "testpmd.h" /* * Received a burst of packets. */ static bool pkt_burst_receive(struct fwd_stream *fs) { struct rte_mbuf *pkts_burst[MAX_PKT_BURST]; uint16_t nb_rx; /* * Receive a burst of packets. */ nb_rx = common_fwd_stream_receive(fs, pkts_burst, nb_pkt_per_burst); if (unlikely(nb_rx == 0)) return false; rte_pktmbuf_free_bulk(pkts_burst, nb_rx); return true; } 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", .stream_init = stream_init_receive, .packet_fwd = pkt_burst_receive, };