xref: /dpdk/lib/port/rte_port_sched.h (revision 719834a6849e1daf4a70ff7742bbcc3ae7e25607)
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2010-2014 Intel Corporation
3  */
4 
5 #ifndef __INCLUDE_RTE_PORT_SCHED_H__
6 #define __INCLUDE_RTE_PORT_SCHED_H__
7 
8 /**
9  * @file
10  * RTE Port Hierarchical Scheduler
11  *
12  * sched_reader: input port built on top of pre-initialized rte_sched_port
13  * sched_writer: output port built on top of pre-initialized rte_sched_port
14  */
15 
16 #include <stdint.h>
17 
18 #include <rte_sched.h>
19 
20 #include "rte_port.h"
21 
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25 
26 /** sched_reader port parameters */
27 struct rte_port_sched_reader_params {
28 	/** Underlying pre-initialized rte_sched_port */
29 	struct rte_sched_port *sched;
30 };
31 
32 /** sched_reader port operations */
33 extern struct rte_port_in_ops rte_port_sched_reader_ops;
34 
35 /** sched_writer port parameters */
36 struct rte_port_sched_writer_params {
37 	/** Underlying pre-initialized rte_sched_port */
38 	struct rte_sched_port *sched;
39 
40 	/** Recommended burst size. The actual burst size can be bigger or
41 	smaller than this value. */
42 	uint32_t tx_burst_sz;
43 };
44 
45 /** sched_writer port operations */
46 extern struct rte_port_out_ops rte_port_sched_writer_ops;
47 
48 #ifdef __cplusplus
49 }
50 #endif
51 
52 #endif
53