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