xref: /utopia/UTPA2-700.0.x/projects/tools/lint/mips-linux-gnu_include/linux/gen_stats.h (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
1*53ee8cc1Swenshuai.xi #ifndef __LINUX_GEN_STATS_H
2*53ee8cc1Swenshuai.xi #define __LINUX_GEN_STATS_H
3*53ee8cc1Swenshuai.xi 
4*53ee8cc1Swenshuai.xi #include <linux/types.h>
5*53ee8cc1Swenshuai.xi 
6*53ee8cc1Swenshuai.xi enum {
7*53ee8cc1Swenshuai.xi 	TCA_STATS_UNSPEC,
8*53ee8cc1Swenshuai.xi 	TCA_STATS_BASIC,
9*53ee8cc1Swenshuai.xi 	TCA_STATS_RATE_EST,
10*53ee8cc1Swenshuai.xi 	TCA_STATS_QUEUE,
11*53ee8cc1Swenshuai.xi 	TCA_STATS_APP,
12*53ee8cc1Swenshuai.xi 	__TCA_STATS_MAX,
13*53ee8cc1Swenshuai.xi };
14*53ee8cc1Swenshuai.xi #define TCA_STATS_MAX (__TCA_STATS_MAX - 1)
15*53ee8cc1Swenshuai.xi 
16*53ee8cc1Swenshuai.xi /**
17*53ee8cc1Swenshuai.xi  * struct gnet_stats_basic - byte/packet throughput statistics
18*53ee8cc1Swenshuai.xi  * @bytes: number of seen bytes
19*53ee8cc1Swenshuai.xi  * @packets: number of seen packets
20*53ee8cc1Swenshuai.xi  */
21*53ee8cc1Swenshuai.xi struct gnet_stats_basic
22*53ee8cc1Swenshuai.xi {
23*53ee8cc1Swenshuai.xi 	__u64	bytes;
24*53ee8cc1Swenshuai.xi 	__u32	packets;
25*53ee8cc1Swenshuai.xi };
26*53ee8cc1Swenshuai.xi 
27*53ee8cc1Swenshuai.xi /**
28*53ee8cc1Swenshuai.xi  * struct gnet_stats_rate_est - rate estimator
29*53ee8cc1Swenshuai.xi  * @bps: current byte rate
30*53ee8cc1Swenshuai.xi  * @pps: current packet rate
31*53ee8cc1Swenshuai.xi  */
32*53ee8cc1Swenshuai.xi struct gnet_stats_rate_est
33*53ee8cc1Swenshuai.xi {
34*53ee8cc1Swenshuai.xi 	__u32	bps;
35*53ee8cc1Swenshuai.xi 	__u32	pps;
36*53ee8cc1Swenshuai.xi };
37*53ee8cc1Swenshuai.xi 
38*53ee8cc1Swenshuai.xi /**
39*53ee8cc1Swenshuai.xi  * struct gnet_stats_queue - queuing statistics
40*53ee8cc1Swenshuai.xi  * @qlen: queue length
41*53ee8cc1Swenshuai.xi  * @backlog: backlog size of queue
42*53ee8cc1Swenshuai.xi  * @drops: number of dropped packets
43*53ee8cc1Swenshuai.xi  * @requeues: number of requeues
44*53ee8cc1Swenshuai.xi  * @overlimits: number of enqueues over the limit
45*53ee8cc1Swenshuai.xi  */
46*53ee8cc1Swenshuai.xi struct gnet_stats_queue
47*53ee8cc1Swenshuai.xi {
48*53ee8cc1Swenshuai.xi 	__u32	qlen;
49*53ee8cc1Swenshuai.xi 	__u32	backlog;
50*53ee8cc1Swenshuai.xi 	__u32	drops;
51*53ee8cc1Swenshuai.xi 	__u32	requeues;
52*53ee8cc1Swenshuai.xi 	__u32	overlimits;
53*53ee8cc1Swenshuai.xi };
54*53ee8cc1Swenshuai.xi 
55*53ee8cc1Swenshuai.xi /**
56*53ee8cc1Swenshuai.xi  * struct gnet_estimator - rate estimator configuration
57*53ee8cc1Swenshuai.xi  * @interval: sampling period
58*53ee8cc1Swenshuai.xi  * @ewma_log: the log of measurement window weight
59*53ee8cc1Swenshuai.xi  */
60*53ee8cc1Swenshuai.xi struct gnet_estimator
61*53ee8cc1Swenshuai.xi {
62*53ee8cc1Swenshuai.xi 	signed char	interval;
63*53ee8cc1Swenshuai.xi 	unsigned char	ewma_log;
64*53ee8cc1Swenshuai.xi };
65*53ee8cc1Swenshuai.xi 
66*53ee8cc1Swenshuai.xi 
67*53ee8cc1Swenshuai.xi #endif /* __LINUX_GEN_STATS_H */
68