libnl/include/linux-private/linux/gen_stats.h

68 lines
1.3 KiB
C
Raw Permalink Normal View History

2007-09-15 01:28:01 +02:00
#ifndef __LINUX_GEN_STATS_H
#define __LINUX_GEN_STATS_H
#include <linux/types.h>
2007-09-15 01:28:01 +02:00
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
2007-09-15 01:28:01 +02:00
* @bytes: number of seen bytes
* @packets: number of seen packets
*/
struct gnet_stats_basic {
2007-09-15 01:28:01 +02:00
__u64 bytes;
__u32 packets;
};
struct gnet_stats_basic_packed {
__u64 bytes;
__u32 packets;
} __attribute__ ((packed));
2007-09-15 01:28:01 +02:00
/**
* struct gnet_stats_rate_est - rate estimator
2007-09-15 01:28:01 +02:00
* @bps: current byte rate
* @pps: current packet rate
*/
struct gnet_stats_rate_est {
2007-09-15 01:28:01 +02:00
__u32 bps;
__u32 pps;
};
/**
* struct gnet_stats_queue - queuing statistics
2007-09-15 01:28:01 +02:00
* @qlen: queue length
* @backlog: backlog size of queue
* @drops: number of dropped packets
* @requeues: number of requeues
* @overlimits: number of enqueues over the limit
2007-09-15 01:28:01 +02:00
*/
struct gnet_stats_queue {
2007-09-15 01:28:01 +02:00
__u32 qlen;
__u32 backlog;
__u32 drops;
__u32 requeues;
__u32 overlimits;
};
/**
* struct gnet_estimator - rate estimator configuration
2007-09-15 01:28:01 +02:00
* @interval: sampling period
* @ewma_log: the log of measurement window weight
*/
struct gnet_estimator {
2007-09-15 01:28:01 +02:00
signed char interval;
unsigned char ewma_log;
};
#endif /* __LINUX_GEN_STATS_H */