1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2010-2018 Intel Corporation
5 #ifndef _INCLUDE_TMGR_H_
6 #define _INCLUDE_TMGR_H_
11 #include <rte_sched.h>
15 #ifndef TMGR_SUBPORT_PROFILE_MAX
16 #define TMGR_SUBPORT_PROFILE_MAX 256
19 #ifndef TMGR_PIPE_PROFILE_MAX
20 #define TMGR_PIPE_PROFILE_MAX 256
24 TAILQ_ENTRY(tmgr_port) node;
26 struct rte_sched_port *s;
27 uint32_t n_subports_per_port;
28 uint32_t n_pipes_per_subport;
31 TAILQ_HEAD(tmgr_port_list, tmgr_port);
37 tmgr_port_find(const char *name);
39 struct tmgr_port_params {
41 uint32_t n_subports_per_port;
42 uint32_t n_pipes_per_subport;
43 uint16_t qsize[RTE_SCHED_TRAFFIC_CLASSES_PER_PIPE];
44 uint32_t frame_overhead;
50 tmgr_subport_profile_add(struct rte_sched_subport_params *p);
53 tmgr_pipe_profile_add(struct rte_sched_pipe_params *p);
56 tmgr_port_create(const char *name, struct tmgr_port_params *params);
59 tmgr_subport_config(const char *port_name,
61 uint32_t subport_profile_id);
64 tmgr_pipe_config(const char *port_name,
66 uint32_t pipe_id_first,
67 uint32_t pipe_id_last,
68 uint32_t pipe_profile_id);
70 #endif /* _INCLUDE_TMGR_H_ */