root/include/uapi/linux/gen_stats.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   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 
   7 enum {
   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_MAX,
  17 };
  18 #define TCA_STATS_MAX (__TCA_STATS_MAX - 1)
  19 
  20 /**
  21  * struct gnet_stats_basic - byte/packet throughput statistics
  22  * @bytes: number of seen bytes
  23  * @packets: number of seen packets
  24  */
  25 struct gnet_stats_basic {
  26         __u64   bytes;
  27         __u32   packets;
  28 };
  29 struct gnet_stats_basic_packed {
  30         __u64   bytes;
  31         __u32   packets;
  32 } __attribute__ ((packed));
  33 
  34 /**
  35  * struct gnet_stats_rate_est - rate estimator
  36  * @bps: current byte rate
  37  * @pps: current packet rate
  38  */
  39 struct gnet_stats_rate_est {
  40         __u32   bps;
  41         __u32   pps;
  42 };
  43 
  44 /**
  45  * struct gnet_stats_rate_est64 - rate estimator
  46  * @bps: current byte rate
  47  * @pps: current packet rate
  48  */
  49 struct gnet_stats_rate_est64 {
  50         __u64   bps;
  51         __u64   pps;
  52 };
  53 
  54 /**
  55  * struct gnet_stats_queue - queuing statistics
  56  * @qlen: queue length
  57  * @backlog: backlog size of queue
  58  * @drops: number of dropped packets
  59  * @requeues: number of requeues
  60  * @overlimits: number of enqueues over the limit
  61  */
  62 struct gnet_stats_queue {
  63         __u32   qlen;
  64         __u32   backlog;
  65         __u32   drops;
  66         __u32   requeues;
  67         __u32   overlimits;
  68 };
  69 
  70 /**
  71  * struct gnet_estimator - rate estimator configuration
  72  * @interval: sampling period
  73  * @ewma_log: the log of measurement window weight
  74  */
  75 struct gnet_estimator {
  76         signed char     interval;
  77         unsigned char   ewma_log;
  78 };
  79 
  80 
  81 #endif /* __LINUX_GEN_STATS_H */

/* [<][>][^][v][top][bottom][index][help] */