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_RATE_EST64,
     13 	__TCA_STATS_MAX,
     14 };
     15 #define TCA_STATS_MAX (__TCA_STATS_MAX - 1)
     16 
     17 /**
     18  * struct gnet_stats_basic - byte/packet throughput statistics
     19  * @bytes: number of seen bytes
     20  * @packets: number of seen packets
     21  */
     22 struct gnet_stats_basic {
     23 	__u64	bytes;
     24 	__u32	packets;
     25 };
     26 struct gnet_stats_basic_packed {
     27 	__u64	bytes;
     28 	__u32	packets;
     29 } __attribute__ ((packed));
     30 
     31 /**
     32  * struct gnet_stats_rate_est - rate estimator
     33  * @bps: current byte rate
     34  * @pps: current packet rate
     35  */
     36 struct gnet_stats_rate_est {
     37 	__u32	bps;
     38 	__u32	pps;
     39 };
     40 
     41 /**
     42  * struct gnet_stats_rate_est64 - rate estimator
     43  * @bps: current byte rate
     44  * @pps: current packet rate
     45  */
     46 struct gnet_stats_rate_est64 {
     47 	__u64	bps;
     48 	__u64	pps;
     49 };
     50 
     51 /**
     52  * struct gnet_stats_queue - queuing statistics
     53  * @qlen: queue length
     54  * @backlog: backlog size of queue
     55  * @drops: number of dropped packets
     56  * @requeues: number of requeues
     57  * @overlimits: number of enqueues over the limit
     58  */
     59 struct gnet_stats_queue {
     60 	__u32	qlen;
     61 	__u32	backlog;
     62 	__u32	drops;
     63 	__u32	requeues;
     64 	__u32	overlimits;
     65 };
     66 
     67 /**
     68  * struct gnet_estimator - rate estimator configuration
     69  * @interval: sampling period
     70  * @ewma_log: the log of measurement window weight
     71  */
     72 struct gnet_estimator {
     73 	signed char	interval;
     74 	unsigned char	ewma_log;
     75 };
     76 
     77 
     78 #endif /* __LINUX_GEN_STATS_H */
     79