Blame view

include/net/gen_stats.h 2.31 KB
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1
2
3
4
5
6
7
  #ifndef __NET_GEN_STATS_H
  #define __NET_GEN_STATS_H
  
  #include <linux/gen_stats.h>
  #include <linux/socket.h>
  #include <linux/rtnetlink.h>
  #include <linux/pkt_sched.h>
22e0f8b93   John Fastabend   net: sched: make ...
8
9
10
11
  struct gnet_stats_basic_cpu {
  	struct gnet_stats_basic_packed bstats;
  	struct u64_stats_sync syncp;
  };
fd2c3ef76   Eric Dumazet   net: cleanup incl...
12
  struct gnet_dump {
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
13
14
  	spinlock_t *      lock;
  	struct sk_buff *  skb;
1e90474c3   Patrick McHardy   [NET_SCHED]: Conv...
15
  	struct nlattr *   tail;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
16

25985edce   Lucas De Marchi   Fix common misspe...
17
  	/* Backward compatibility */
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
18
19
  	int               compat_tc_stats;
  	int               compat_xstats;
9854518ea   Nicolas Dichtel   sched: align nlat...
20
  	int               padattr;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
21
22
23
24
  	void *            xstats;
  	int               xstats_len;
  	struct tc_stats   tc_stats;
  };
8aae218f5   Joe Perches   gen_stats.h: Remo...
25
  int gnet_stats_start_copy(struct sk_buff *skb, int type, spinlock_t *lock,
9854518ea   Nicolas Dichtel   sched: align nlat...
26
  			  struct gnet_dump *d, int padattr);
8aae218f5   Joe Perches   gen_stats.h: Remo...
27
28
29
  
  int gnet_stats_start_copy_compat(struct sk_buff *skb, int type,
  				 int tc_stats_type, int xstats_type,
9854518ea   Nicolas Dichtel   sched: align nlat...
30
31
  				 spinlock_t *lock, struct gnet_dump *d,
  				 int padattr);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
32

edb09eb17   Eric Dumazet   net: sched: do no...
33
34
  int gnet_stats_copy_basic(const seqcount_t *running,
  			  struct gnet_dump *d,
22e0f8b93   John Fastabend   net: sched: make ...
35
  			  struct gnet_stats_basic_cpu __percpu *cpu,
8aae218f5   Joe Perches   gen_stats.h: Remo...
36
  			  struct gnet_stats_basic_packed *b);
edb09eb17   Eric Dumazet   net: sched: do no...
37
38
  void __gnet_stats_copy_basic(const seqcount_t *running,
  			     struct gnet_stats_basic_packed *bstats,
22e0f8b93   John Fastabend   net: sched: make ...
39
40
  			     struct gnet_stats_basic_cpu __percpu *cpu,
  			     struct gnet_stats_basic_packed *b);
8aae218f5   Joe Perches   gen_stats.h: Remo...
41
42
43
  int gnet_stats_copy_rate_est(struct gnet_dump *d,
  			     const struct gnet_stats_basic_packed *b,
  			     struct gnet_stats_rate_est64 *r);
640158536   John Fastabend   net: sched: restr...
44
  int gnet_stats_copy_queue(struct gnet_dump *d,
b0ab6f927   John Fastabend   net: sched: enabl...
45
46
  			  struct gnet_stats_queue __percpu *cpu_q,
  			  struct gnet_stats_queue *q, __u32 qlen);
8aae218f5   Joe Perches   gen_stats.h: Remo...
47
48
49
50
51
  int gnet_stats_copy_app(struct gnet_dump *d, void *st, int len);
  
  int gnet_stats_finish_copy(struct gnet_dump *d);
  
  int gen_new_estimator(struct gnet_stats_basic_packed *bstats,
22e0f8b93   John Fastabend   net: sched: make ...
52
  		      struct gnet_stats_basic_cpu __percpu *cpu_bstats,
8aae218f5   Joe Perches   gen_stats.h: Remo...
53
  		      struct gnet_stats_rate_est64 *rate_est,
edb09eb17   Eric Dumazet   net: sched: do no...
54
55
  		      spinlock_t *stats_lock,
  		      seqcount_t *running, struct nlattr *opt);
8aae218f5   Joe Perches   gen_stats.h: Remo...
56
57
58
  void gen_kill_estimator(struct gnet_stats_basic_packed *bstats,
  			struct gnet_stats_rate_est64 *rate_est);
  int gen_replace_estimator(struct gnet_stats_basic_packed *bstats,
22e0f8b93   John Fastabend   net: sched: make ...
59
  			  struct gnet_stats_basic_cpu __percpu *cpu_bstats,
8aae218f5   Joe Perches   gen_stats.h: Remo...
60
  			  struct gnet_stats_rate_est64 *rate_est,
edb09eb17   Eric Dumazet   net: sched: do no...
61
62
  			  spinlock_t *stats_lock,
  			  seqcount_t *running, struct nlattr *opt);
8aae218f5   Joe Perches   gen_stats.h: Remo...
63
64
  bool gen_estimator_active(const struct gnet_stats_basic_packed *bstats,
  			  const struct gnet_stats_rate_est64 *rate_est);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
65
  #endif