/* SPDX-License-Identifier: GPL-2.0 */ /* * BPF programs attached to network namespace */ #ifndef __NETNS_BPF_H__ #define __NETNS_BPF_H__ #include <linux/list.h> struct bpf_prog; struct bpf_prog_array; enum netns_bpf_attach_type { NETNS_BPF_INVALID = -1, NETNS_BPF_FLOW_DISSECTOR = 0, NETNS_BPF_SK_LOOKUP, MAX_NETNS_BPF_ATTACH_TYPE }; struct netns_bpf { /* Array of programs to run compiled from progs or links */ struct bpf_prog_array __rcu *run_array[MAX_NETNS_BPF_ATTACH_TYPE]; struct bpf_prog *progs[MAX_NETNS_BPF_ATTACH_TYPE]; struct list_head links[MAX_NETNS_BPF_ATTACH_TYPE]; }; #endif /* __NETNS_BPF_H__ */