.. | .. |
---|
7 | 7 | #include <linux/rtnetlink.h> |
---|
8 | 8 | #include <linux/pkt_sched.h> |
---|
9 | 9 | |
---|
| 10 | +/* Note: this used to be in include/uapi/linux/gen_stats.h */ |
---|
| 11 | +struct gnet_stats_basic_packed { |
---|
| 12 | + __u64 bytes; |
---|
| 13 | + __u64 packets; |
---|
| 14 | +}; |
---|
| 15 | + |
---|
10 | 16 | struct gnet_stats_basic_cpu { |
---|
11 | 17 | struct gnet_stats_basic_packed bstats; |
---|
12 | 18 | struct u64_stats_sync syncp; |
---|
13 | | -}; |
---|
| 19 | +} __aligned(2 * sizeof(u64)); |
---|
14 | 20 | |
---|
15 | 21 | struct net_rate_estimator; |
---|
16 | 22 | |
---|
.. | .. |
---|
44 | 50 | struct gnet_stats_basic_packed *bstats, |
---|
45 | 51 | struct gnet_stats_basic_cpu __percpu *cpu, |
---|
46 | 52 | struct gnet_stats_basic_packed *b); |
---|
| 53 | +int gnet_stats_copy_basic_hw(const seqcount_t *running, |
---|
| 54 | + struct gnet_dump *d, |
---|
| 55 | + struct gnet_stats_basic_cpu __percpu *cpu, |
---|
| 56 | + struct gnet_stats_basic_packed *b); |
---|
47 | 57 | int gnet_stats_copy_rate_est(struct gnet_dump *d, |
---|
48 | 58 | struct net_rate_estimator __rcu **ptr); |
---|
49 | 59 | int gnet_stats_copy_queue(struct gnet_dump *d, |
---|