xref: /dpdk/examples/pipeline/obj.h (revision 78dffe314cd7bff9cc70385d6e5aaa546b88a6a1)
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