cxgbe(4): Create a reusable struct type for scheduling class parameters.

Sponsored by:	Chelsio Communications
This commit is contained in:
Navdeep Parhar 2016-06-06 20:42:46 +00:00
parent 9f70e94e68
commit db80d07377
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=301520

View File

@ -215,6 +215,20 @@ struct t4_filter {
struct t4_filter_specification fs;
};
/* Tx Scheduling Class parameters */
struct t4_sched_class_params {
int8_t level; /* scheduler hierarchy level */
int8_t mode; /* per-class or per-flow */
int8_t rateunit; /* bit or packet rate */
int8_t ratemode; /* %port relative or kbps absolute */
int8_t channel; /* scheduler channel [0..N] */
int8_t cl; /* scheduler class [0..N] */
int32_t minrate; /* minimum rate */
int32_t maxrate; /* maximum rate */
int16_t weight; /* percent weight */
int16_t pktsize; /* average packet size */
};
/*
* Support for "sched-class" command to allow a TX Scheduling Class to be
* programmed with various parameters.
@ -226,19 +240,7 @@ struct t4_sched_params {
struct { /* sub-command SCHED_CLASS_CONFIG */
int8_t minmax; /* minmax enable */
} config;
struct { /* sub-command SCHED_CLASS_PARAMS */
int8_t level; /* scheduler hierarchy level */
int8_t mode; /* per-class or per-flow */
int8_t rateunit; /* bit or packet rate */
int8_t ratemode; /* %port relative or kbps
absolute */
int8_t channel; /* scheduler channel [0..N] */
int8_t cl; /* scheduler class [0..N] */
int32_t minrate; /* minimum rate */
int32_t maxrate; /* maximum rate */
int16_t weight; /* percent weight */
int16_t pktsize; /* average packet size */
} params;
struct t4_sched_class_params params;
uint8_t reserved[6 + 8 * 8];
} u;
};