xref: /dpdk/app/graph/ethdev.h (revision 2cfebc3f1046e4166e13b4f906e3ddc1c26c7eeb)
13850cb06SSunil Kumar Kori /* SPDX-License-Identifier: BSD-3-Clause
23850cb06SSunil Kumar Kori  * Copyright(c) 2023 Marvell.
33850cb06SSunil Kumar Kori  */
43850cb06SSunil Kumar Kori 
53850cb06SSunil Kumar Kori #ifndef APP_GRAPH_ETHDEV_H
63850cb06SSunil Kumar Kori #define APP_GRAPH_ETHDEV_H
73850cb06SSunil Kumar Kori 
83850cb06SSunil Kumar Kori #include <cmdline_parse.h>
9*2cfebc3fSRobin Jarry #include <rte_ip6.h>
103850cb06SSunil Kumar Kori 
113850cb06SSunil Kumar Kori struct ipv4_addr_config {
123850cb06SSunil Kumar Kori 	uint32_t ip;
133850cb06SSunil Kumar Kori 	uint32_t mask;
143850cb06SSunil Kumar Kori };
153850cb06SSunil Kumar Kori 
163850cb06SSunil Kumar Kori struct ipv6_addr_config {
17*2cfebc3fSRobin Jarry 	struct rte_ipv6_addr ip;
18*2cfebc3fSRobin Jarry 	struct rte_ipv6_addr mask;
193850cb06SSunil Kumar Kori };
203850cb06SSunil Kumar Kori 
213850cb06SSunil Kumar Kori extern uint32_t enabled_port_mask;
223850cb06SSunil Kumar Kori 
233850cb06SSunil Kumar Kori void ethdev_start(void);
243850cb06SSunil Kumar Kori void ethdev_stop(void);
253850cb06SSunil Kumar Kori void *ethdev_mempool_list_by_portid(uint16_t portid);
263850cb06SSunil Kumar Kori int16_t ethdev_portid_by_ip4(uint32_t ip, uint32_t mask);
27*2cfebc3fSRobin Jarry int16_t ethdev_portid_by_ip6(struct rte_ipv6_addr *ip, struct rte_ipv6_addr *mask);
282c7debd9SRakesh Kudurumalla int16_t ethdev_txport_by_rxport_get(uint16_t portid_rx);
293850cb06SSunil Kumar Kori void ethdev_list_clean(void);
303850cb06SSunil Kumar Kori 
313850cb06SSunil Kumar Kori #endif
32