mirror of
				https://git.proxmox.com/git/mirror_iproute2
				synced 2025-11-04 06:22:48 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			80 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			80 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
#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_RATE_EST64,
 | 
						|
	TCA_STATS_PAD,
 | 
						|
	__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_rate_est64 - rate estimator
 | 
						|
 * @bps: current byte rate
 | 
						|
 * @pps: current packet rate
 | 
						|
 */
 | 
						|
struct gnet_stats_rate_est64 {
 | 
						|
	__u64	bps;
 | 
						|
	__u64	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 */
 |