| 1 |
|
| 2 | |
| 3 | * BPF programs attached to network namespace
|
| 4 |
|
| 5 |
|
| 6 | #ifndef __NETNS_BPF_H__
|
| 7 | #define __NETNS_BPF_H__
|
| 8 |
|
| 9 | #include <linux/list.h>
|
| 10 |
|
| 11 | struct bpf_prog;
|
| 12 | struct bpf_prog_array;
|
| 13 |
|
| 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 |
|
| 21 | struct netns_bpf {
|
| 22 |
|
| 23 | struct bpf_prog_array __rcu *run_array[MAX_NETNS_BPF_ATTACH_TYPE];
|
| 24 | struct bpf_prog *progs[MAX_NETNS_BPF_ATTACH_TYPE];
|
| 25 | struct list_head links[MAX_NETNS_BPF_ATTACH_TYPE];
|
| 26 | };
|
| 27 |
|
| 28 | #endif
|