/* 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 "testpmd.h" #include "macfwd.h" /* * Forwarding of packets in MAC mode. * Change the source and the destination Ethernet addressed of packets * before forwarding them. */ static bool pkt_burst_mac_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; do_macfwd(pkts_burst, nb_rx, fs); common_fwd_stream_transmit(fs, pkts_burst, nb_rx); return true; } struct fwd_engine mac_fwd_engine = { .fwd_mode_name = "mac", .stream_init = common_fwd_stream_init, .packet_fwd = pkt_burst_mac_forward, };