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