Blame include/uapi/linux/gen_stats.h

Packit d3f73b
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
Packit d3f73b
#ifndef __LINUX_GEN_STATS_H
Packit d3f73b
#define __LINUX_GEN_STATS_H
Packit d3f73b
Packit d3f73b
#include <linux/types.h>
Packit d3f73b
Packit d3f73b
enum {
Packit d3f73b
	TCA_STATS_UNSPEC,
Packit d3f73b
	TCA_STATS_BASIC,
Packit d3f73b
	TCA_STATS_RATE_EST,
Packit d3f73b
	TCA_STATS_QUEUE,
Packit d3f73b
	TCA_STATS_APP,
Packit d3f73b
	TCA_STATS_RATE_EST64,
Packit d3f73b
	TCA_STATS_PAD,
Packit d3f73b
	TCA_STATS_BASIC_HW,
Packit Service 3d32e2
	TCA_STATS_PKT64,
Packit d3f73b
	__TCA_STATS_MAX,
Packit d3f73b
};
Packit d3f73b
#define TCA_STATS_MAX (__TCA_STATS_MAX - 1)
Packit d3f73b
Packit d3f73b
/**
Packit d3f73b
 * struct gnet_stats_basic - byte/packet throughput statistics
Packit d3f73b
 * @bytes: number of seen bytes
Packit d3f73b
 * @packets: number of seen packets
Packit d3f73b
 */
Packit d3f73b
struct gnet_stats_basic {
Packit d3f73b
	__u64	bytes;
Packit d3f73b
	__u32	packets;
Packit d3f73b
};
Packit d3f73b
Packit d3f73b
/**
Packit d3f73b
 * struct gnet_stats_rate_est - rate estimator
Packit d3f73b
 * @bps: current byte rate
Packit d3f73b
 * @pps: current packet rate
Packit d3f73b
 */
Packit d3f73b
struct gnet_stats_rate_est {
Packit d3f73b
	__u32	bps;
Packit d3f73b
	__u32	pps;
Packit d3f73b
};
Packit d3f73b
Packit d3f73b
/**
Packit d3f73b
 * struct gnet_stats_rate_est64 - rate estimator
Packit d3f73b
 * @bps: current byte rate
Packit d3f73b
 * @pps: current packet rate
Packit d3f73b
 */
Packit d3f73b
struct gnet_stats_rate_est64 {
Packit d3f73b
	__u64	bps;
Packit d3f73b
	__u64	pps;
Packit d3f73b
};
Packit d3f73b
Packit d3f73b
/**
Packit d3f73b
 * struct gnet_stats_queue - queuing statistics
Packit d3f73b
 * @qlen: queue length
Packit d3f73b
 * @backlog: backlog size of queue
Packit d3f73b
 * @drops: number of dropped packets
Packit d3f73b
 * @requeues: number of requeues
Packit d3f73b
 * @overlimits: number of enqueues over the limit
Packit d3f73b
 */
Packit d3f73b
struct gnet_stats_queue {
Packit d3f73b
	__u32	qlen;
Packit d3f73b
	__u32	backlog;
Packit d3f73b
	__u32	drops;
Packit d3f73b
	__u32	requeues;
Packit d3f73b
	__u32	overlimits;
Packit d3f73b
};
Packit d3f73b
Packit d3f73b
/**
Packit d3f73b
 * struct gnet_estimator - rate estimator configuration
Packit d3f73b
 * @interval: sampling period
Packit d3f73b
 * @ewma_log: the log of measurement window weight
Packit d3f73b
 */
Packit d3f73b
struct gnet_estimator {
Packit d3f73b
	signed char	interval;
Packit d3f73b
	unsigned char	ewma_log;
Packit d3f73b
};
Packit d3f73b
Packit d3f73b
Packit d3f73b
#endif /* __LINUX_GEN_STATS_H */