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 #include <stdint.h> 21 22 #include <rte_sched.h> 23 24 #include "rte_port.h" 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