gen_stats.h (1526B)
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2#ifndef __LINUX_GEN_STATS_H 3#define __LINUX_GEN_STATS_H 4 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 statistics 23 * @bytes: number of seen bytes 24 * @packets: number of seen packets 25 */ 26struct gnet_stats_basic { 27 __u64 bytes; 28 __u32 packets; 29}; 30 31/** 32 * struct gnet_stats_rate_est - rate estimator 33 * @bps: current byte rate 34 * @pps: current packet rate 35 */ 36struct 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 */ 46struct 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 */ 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 configuration 69 * @interval: sampling period 70 * @ewma_log: the log of measurement window weight 71 */ 72struct gnet_estimator { 73 signed char interval; 74 unsigned char ewma_log; 75}; 76 77 78#endif /* __LINUX_GEN_STATS_H */