bpf.h (631B)
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 9#include <linux/list.h> 10 11struct bpf_prog; 12struct bpf_prog_array; 13 14enum 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 21struct netns_bpf { 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]; 25 struct list_head links[MAX_NETNS_BPF_ATTACH_TYPE]; 26}; 27 28#endif /* __NETNS_BPF_H__ */