79 lines · c
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */2#ifndef __LINUX_GEN_STATS_H3#define __LINUX_GEN_STATS_H4 5#include <linux/types.h>6 7enum {8 TCA_STATS_UNSPEC,9 TCA_STATS_BASIC,10 TCA_STATS_RATE_EST,11 TCA_STATS_QUEUE,12 TCA_STATS_APP,13 TCA_STATS_RATE_EST64,14 TCA_STATS_PAD,15 TCA_STATS_BASIC_HW,16 TCA_STATS_PKT64,17 __TCA_STATS_MAX,18};19#define TCA_STATS_MAX (__TCA_STATS_MAX - 1)20 21/**22 * struct gnet_stats_basic - byte/packet throughput statistics23 * @bytes: number of seen bytes24 * @packets: number of seen packets25 */26struct gnet_stats_basic {27 __u64 bytes;28 __u32 packets;29};30 31/**32 * struct gnet_stats_rate_est - rate estimator33 * @bps: current byte rate34 * @pps: current packet rate35 */36struct gnet_stats_rate_est {37 __u32 bps;38 __u32 pps;39};40 41/**42 * struct gnet_stats_rate_est64 - rate estimator43 * @bps: current byte rate44 * @pps: current packet rate45 */46struct gnet_stats_rate_est64 {47 __u64 bps;48 __u64 pps;49};50 51/**52 * struct gnet_stats_queue - queuing statistics53 * @qlen: queue length54 * @backlog: backlog size of queue55 * @drops: number of dropped packets56 * @requeues: number of requeues57 * @overlimits: number of enqueues over the limit58 */59struct 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 configuration69 * @interval: sampling period70 * @ewma_log: the log of measurement window weight71 */72struct gnet_estimator {73 signed char interval;74 unsigned char ewma_log;75};76 77 78#endif /* __LINUX_GEN_STATS_H */79