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