* byte.
*/
struct rte_sched_subport_params {
- /** Token bucket rate (measured in bytes per second) */
- uint64_t tb_rate;
-
- /** Token bucket size (measured in credits) */
- uint64_t tb_size;
-
- /** Traffic class rates (measured in bytes per second) */
- uint64_t tc_rate[RTE_SCHED_TRAFFIC_CLASSES_PER_PIPE];
-
- /** Enforcement period for rates (measured in milliseconds) */
- uint64_t tc_period;
-
/** Number of subport pipes.
* The subport can enable/allocate fewer pipes than the maximum
* number set through struct port_params::n_max_pipes_per_subport,
/**
* Hierarchical scheduler subport configuration
- *
+ * Note that this function is safe to use at runtime
+ * to configure subport bandwidth profile.
* @param port
* Handle to port scheduler instance
* @param subport_id
* Subport ID
* @param params
- * Subport configuration parameters
+ * Subport configuration parameters. Must be non-NULL
+ * for first invocation (i.e initialization) for a given
+ * subport. Ignored (recommended value is NULL) for all
+ * subsequent invocation on the same subport.
+ * @param subport_profile_id
+ * ID of subport bandwidth profile
* @return
* 0 upon success, error code otherwise
*/
int
rte_sched_subport_config(struct rte_sched_port *port,
uint32_t subport_id,
- struct rte_sched_subport_params *params);
+ struct rte_sched_subport_params *params,
+ uint32_t subport_profile_id);
/**
* Hierarchical scheduler pipe configuration