Commit | Line | Data |
---|---|---|
6ae0a628 YG |
1 | #ifndef __NET_PSAMPLE_H |
2 | #define __NET_PSAMPLE_H | |
3 | ||
4 | #include <uapi/linux/psample.h> | |
5 | #include <linux/module.h> | |
6 | #include <linux/list.h> | |
7 | ||
8 | struct psample_group { | |
9 | struct list_head list; | |
10 | struct net *net; | |
11 | u32 group_num; | |
12 | u32 refcount; | |
13 | u32 seq; | |
14 | }; | |
15 | ||
16 | struct psample_group *psample_group_get(struct net *net, u32 group_num); | |
17 | void psample_group_put(struct psample_group *group); | |
18 | ||
19 | #if IS_ENABLED(CONFIG_PSAMPLE) | |
20 | ||
21 | void psample_sample_packet(struct psample_group *group, struct sk_buff *skb, | |
22 | u32 trunc_size, int in_ifindex, int out_ifindex, | |
23 | u32 sample_rate); | |
24 | ||
25 | #else | |
26 | ||
27 | static inline void psample_sample_packet(struct psample_group *group, | |
28 | struct sk_buff *skb, u32 trunc_size, | |
29 | int in_ifindex, int out_ifindex, | |
30 | u32 sample_rate) | |
31 | { | |
32 | } | |
33 | ||
34 | #endif | |
35 | ||
36 | #endif /* __NET_PSAMPLE_H */ |