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_PRIV_H 63850cb06SSunil Kumar Kori #define APP_GRAPH_ETHDEV_PRIV_H 73850cb06SSunil Kumar Kori 83850cb06SSunil Kumar Kori #include "ethdev.h" 93850cb06SSunil Kumar Kori 103850cb06SSunil Kumar Kori #define NS_PER_SEC 1E9 113850cb06SSunil Kumar Kori 123850cb06SSunil Kumar Kori #define ETHDEV_RXQ_RSS_MAX 16 133850cb06SSunil Kumar Kori #define ETHDEV_RX_DESC_DEFAULT 1024 143850cb06SSunil Kumar Kori #define ETHDEV_TX_DESC_DEFAULT 1024 153850cb06SSunil Kumar Kori 163850cb06SSunil Kumar Kori struct ethdev_rss_config { 173850cb06SSunil Kumar Kori uint32_t queue_id[ETHDEV_RXQ_RSS_MAX]; 183850cb06SSunil Kumar Kori uint32_t n_queues; 193850cb06SSunil Kumar Kori }; 203850cb06SSunil Kumar Kori 213850cb06SSunil Kumar Kori struct ethdev_config { 223850cb06SSunil Kumar Kori char dev_name[RTE_ETH_NAME_MAX_LEN]; 233850cb06SSunil Kumar Kori uint16_t port_id; 243850cb06SSunil Kumar Kori 253850cb06SSunil Kumar Kori struct { 263850cb06SSunil Kumar Kori uint32_t n_queues; 273850cb06SSunil Kumar Kori uint32_t queue_size; 283850cb06SSunil Kumar Kori char mempool_name[RTE_MEMPOOL_NAMESIZE]; 293850cb06SSunil Kumar Kori struct rte_mempool *mp; 303850cb06SSunil Kumar Kori struct ethdev_rss_config *rss; 313850cb06SSunil Kumar Kori } rx; 323850cb06SSunil Kumar Kori 333850cb06SSunil Kumar Kori struct { 343850cb06SSunil Kumar Kori uint32_t n_queues; 353850cb06SSunil Kumar Kori uint32_t queue_size; 363850cb06SSunil Kumar Kori } tx; 373850cb06SSunil Kumar Kori 383850cb06SSunil Kumar Kori int promiscuous; 393850cb06SSunil Kumar Kori uint32_t mtu; 403850cb06SSunil Kumar Kori }; 413850cb06SSunil Kumar Kori 423850cb06SSunil Kumar Kori struct ethdev { 433850cb06SSunil Kumar Kori TAILQ_ENTRY(ethdev) next; 44*0eb39f1dSRakesh Kudurumalla uint16_t tx_port_id; 453850cb06SSunil Kumar Kori struct ethdev_config config; 463850cb06SSunil Kumar Kori struct ipv4_addr_config ip4_addr; 473850cb06SSunil Kumar Kori struct ipv6_addr_config ip6_addr; 483850cb06SSunil Kumar Kori }; 493850cb06SSunil Kumar Kori TAILQ_HEAD(ethdev_head, ethdev); 503850cb06SSunil Kumar Kori #endif 51