1b77f6600SCristian Dumitrescu /* SPDX-License-Identifier: BSD-3-Clause 2b77f6600SCristian Dumitrescu * Copyright(c) 2020 Intel Corporation 3b77f6600SCristian Dumitrescu */ 4b77f6600SCristian Dumitrescu 5b77f6600SCristian Dumitrescu #ifndef _INCLUDE_OBJ_H_ 6b77f6600SCristian Dumitrescu #define _INCLUDE_OBJ_H_ 7b77f6600SCristian Dumitrescu 8b77f6600SCristian Dumitrescu #include <stdint.h> 9b77f6600SCristian Dumitrescu 10b77f6600SCristian Dumitrescu /* 11*78dffe31SCristian Dumitrescu * ethdev 12b77f6600SCristian Dumitrescu */ 13*78dffe31SCristian Dumitrescu #ifndef ETHDEV_RXQ_RSS_MAX 14*78dffe31SCristian Dumitrescu #define ETHDEV_RXQ_RSS_MAX 16 15b77f6600SCristian Dumitrescu #endif 16b77f6600SCristian Dumitrescu 17*78dffe31SCristian Dumitrescu struct ethdev_params_rss { 18*78dffe31SCristian Dumitrescu uint32_t queue_id[ETHDEV_RXQ_RSS_MAX]; 19b77f6600SCristian Dumitrescu uint32_t n_queues; 20b77f6600SCristian Dumitrescu }; 21b77f6600SCristian Dumitrescu 22*78dffe31SCristian Dumitrescu struct ethdev_params { 23b77f6600SCristian Dumitrescu struct { 24b77f6600SCristian Dumitrescu uint32_t n_queues; 25b77f6600SCristian Dumitrescu uint32_t queue_size; 26b77f6600SCristian Dumitrescu const char *mempool_name; 27*78dffe31SCristian Dumitrescu struct ethdev_params_rss *rss; 28b77f6600SCristian Dumitrescu } rx; 29b77f6600SCristian Dumitrescu 30b77f6600SCristian Dumitrescu struct { 31b77f6600SCristian Dumitrescu uint32_t n_queues; 32b77f6600SCristian Dumitrescu uint32_t queue_size; 33b77f6600SCristian Dumitrescu } tx; 34b77f6600SCristian Dumitrescu 35b77f6600SCristian Dumitrescu int promiscuous; 36b77f6600SCristian Dumitrescu }; 37b77f6600SCristian Dumitrescu 38b77f6600SCristian Dumitrescu int 39*78dffe31SCristian Dumitrescu ethdev_config(const char *name, struct ethdev_params *params); 40b77f6600SCristian Dumitrescu 41b77f6600SCristian Dumitrescu #endif /* _INCLUDE_OBJ_H_ */ 42