linux/include/linux/gen_stats.h
<<
>>
Prefs
   1#ifndef __LINUX_GEN_STATS_H
   2#define __LINUX_GEN_STATS_H
   3
   4#include <linux/types.h>
   5
   6enum {
   7        TCA_STATS_UNSPEC,
   8        TCA_STATS_BASIC,
   9        TCA_STATS_RATE_EST,
  10        TCA_STATS_QUEUE,
  11        TCA_STATS_APP,
  12        __TCA_STATS_MAX,
  13};
  14#define TCA_STATS_MAX (__TCA_STATS_MAX - 1)
  15
  16/**
  17 * struct gnet_stats_basic - byte/packet throughput statistics
  18 * @bytes: number of seen bytes
  19 * @packets: number of seen packets
  20 */
  21struct gnet_stats_basic {
  22        __u64   bytes;
  23        __u32   packets;
  24};
  25struct gnet_stats_basic_packed {
  26        __u64   bytes;
  27        __u32   packets;
  28} __attribute__ ((packed));
  29
  30/**
  31 * struct gnet_stats_rate_est - rate estimator
  32 * @bps: current byte rate
  33 * @pps: current packet rate
  34 */
  35struct gnet_stats_rate_est {
  36        __u32   bps;
  37        __u32   pps;
  38};
  39
  40/**
  41 * struct gnet_stats_queue - queuing statistics
  42 * @qlen: queue length
  43 * @backlog: backlog size of queue
  44 * @drops: number of dropped packets
  45 * @requeues: number of requeues
  46 * @overlimits: number of enqueues over the limit
  47 */
  48struct gnet_stats_queue {
  49        __u32   qlen;
  50        __u32   backlog;
  51        __u32   drops;
  52        __u32   requeues;
  53        __u32   overlimits;
  54};
  55
  56/**
  57 * struct gnet_estimator - rate estimator configuration
  58 * @interval: sampling period
  59 * @ewma_log: the log of measurement window weight
  60 */
  61struct gnet_estimator {
  62        signed char     interval;
  63        unsigned char   ewma_log;
  64};
  65
  66
  67#endif /* __LINUX_GEN_STATS_H */
  68