/* 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 "testpmd.h" /* * Forwarding of packets in I/O mode. * Forward packets "as-is". * This is the fastest possible forwarding operation, as it does not access * to packets data. */ static bool pkt_burst_io_forward(struct fwd_stream *fs) { struct rte_mbuf *pkts_burst[MAX_PKT_BURST]; uint16_t nb_rx; /* * Receive a burst of packets and forward them. */ nb_rx = common_fwd_stream_receive(fs, pkts_burst, nb_pkt_per_burst); if (unlikely(nb_rx == 0)) return false; common_fwd_stream_transmit(fs, pkts_burst, nb_rx); return true; } struct fwd_engine io_fwd_engine = { .fwd_mode_name = "io", .stream_init = common_fwd_stream_init, .packet_fwd = pkt_burst_io_forward, };