Commit | Line | Data |
---|---|---|
a3fd7cee JS |
1 | /* SPDX-License-Identifier: GPL-2.0 */ |
2 | /* | |
3 | * BPF programs attached to network namespace | |
4 | */ | |
5 | ||
6 | #ifndef __NETNS_BPF_H__ | |
7 | #define __NETNS_BPF_H__ | |
8 | ||
aebb51ec | 9 | #include <linux/list.h> |
a3fd7cee JS |
10 | |
11 | struct bpf_prog; | |
695c1214 | 12 | struct bpf_prog_array; |
a3fd7cee | 13 | |
aebb51ec JK |
14 | enum netns_bpf_attach_type { |
15 | NETNS_BPF_INVALID = -1, | |
16 | NETNS_BPF_FLOW_DISSECTOR = 0, | |
17 | NETNS_BPF_SK_LOOKUP, | |
18 | MAX_NETNS_BPF_ATTACH_TYPE | |
19 | }; | |
20 | ||
a3fd7cee | 21 | struct netns_bpf { |
695c1214 JS |
22 | /* Array of programs to run compiled from progs or links */ |
23 | struct bpf_prog_array __rcu *run_array[MAX_NETNS_BPF_ATTACH_TYPE]; | |
24 | struct bpf_prog *progs[MAX_NETNS_BPF_ATTACH_TYPE]; | |
ab53cad9 | 25 | struct list_head links[MAX_NETNS_BPF_ATTACH_TYPE]; |
a3fd7cee JS |
26 | }; |
27 | ||
28 | #endif /* __NETNS_BPF_H__ */ |