diff options
Diffstat (limited to 'include/uapi/linux/gen_stats.h')
| -rw-r--r-- | include/uapi/linux/gen_stats.h | 67 | 
1 files changed, 67 insertions, 0 deletions
diff --git a/include/uapi/linux/gen_stats.h b/include/uapi/linux/gen_stats.h new file mode 100644 index 00000000000..552c8a0a12d --- /dev/null +++ b/include/uapi/linux/gen_stats.h @@ -0,0 +1,67 @@ +#ifndef __LINUX_GEN_STATS_H +#define __LINUX_GEN_STATS_H + +#include <linux/types.h> + +enum { +	TCA_STATS_UNSPEC, +	TCA_STATS_BASIC, +	TCA_STATS_RATE_EST, +	TCA_STATS_QUEUE, +	TCA_STATS_APP, +	__TCA_STATS_MAX, +}; +#define TCA_STATS_MAX (__TCA_STATS_MAX - 1) + +/** + * struct gnet_stats_basic - byte/packet throughput statistics + * @bytes: number of seen bytes + * @packets: number of seen packets + */ +struct gnet_stats_basic { +	__u64	bytes; +	__u32	packets; +}; +struct gnet_stats_basic_packed { +	__u64	bytes; +	__u32	packets; +} __attribute__ ((packed)); + +/** + * struct gnet_stats_rate_est - rate estimator + * @bps: current byte rate + * @pps: current packet rate + */ +struct gnet_stats_rate_est { +	__u32	bps; +	__u32	pps; +}; + +/** + * struct gnet_stats_queue - queuing statistics + * @qlen: queue length + * @backlog: backlog size of queue + * @drops: number of dropped packets + * @requeues: number of requeues + * @overlimits: number of enqueues over the limit + */ +struct gnet_stats_queue { +	__u32	qlen; +	__u32	backlog; +	__u32	drops; +	__u32	requeues; +	__u32	overlimits; +}; + +/** + * struct gnet_estimator - rate estimator configuration + * @interval: sampling period + * @ewma_log: the log of measurement window weight + */ +struct gnet_estimator { +	signed char	interval; +	unsigned char	ewma_log; +}; + + +#endif /* __LINUX_GEN_STATS_H */  |