xref: /dpdk/examples/l2fwd-event/l2fwd_poll.h (revision 7e06c0de1952d3109a5b0c4779d7e7d8059c9d78)
14ff45798SPavan Nikhilesh /* SPDX-License-Identifier: BSD-3-Clause
24ff45798SPavan Nikhilesh  * Copyright(C) 2019 Marvell International Ltd.
34ff45798SPavan Nikhilesh  */
44ff45798SPavan Nikhilesh 
54ff45798SPavan Nikhilesh #ifndef __L2FWD_POLL_H__
64ff45798SPavan Nikhilesh #define __L2FWD_POLL_H__
74ff45798SPavan Nikhilesh 
84ff45798SPavan Nikhilesh #include "l2fwd_common.h"
94ff45798SPavan Nikhilesh 
104ff45798SPavan Nikhilesh typedef void (*poll_main_loop_cb)(struct l2fwd_resources *rsrc);
114ff45798SPavan Nikhilesh 
12*7e06c0deSTyler Retzlaff struct __rte_cache_aligned lcore_queue_conf {
134ff45798SPavan Nikhilesh 	uint32_t rx_port_list[MAX_RX_QUEUE_PER_LCORE];
144ff45798SPavan Nikhilesh 	uint32_t n_rx_port;
15*7e06c0deSTyler Retzlaff };
164ff45798SPavan Nikhilesh 
174ff45798SPavan Nikhilesh struct l2fwd_poll_resources {
184ff45798SPavan Nikhilesh 	poll_main_loop_cb poll_main_loop;
194ff45798SPavan Nikhilesh 	struct rte_eth_dev_tx_buffer *tx_buffer[RTE_MAX_ETHPORTS];
204ff45798SPavan Nikhilesh 	struct lcore_queue_conf lcore_queue_conf[RTE_MAX_LCORE];
214ff45798SPavan Nikhilesh };
224ff45798SPavan Nikhilesh 
234ff45798SPavan Nikhilesh void l2fwd_poll_resource_setup(struct l2fwd_resources *rsrc);
244ff45798SPavan Nikhilesh 
254ff45798SPavan Nikhilesh #endif
26