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