xref: /linux/include/net/netkit.h (revision 0678df8271820bcf8fb4f877129f05d68a237de4)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /* Copyright (c) 2023 Isovalent */
3 #ifndef __NET_NETKIT_H
4 #define __NET_NETKIT_H
5 
6 #include <linux/bpf.h>
7 
8 #ifdef CONFIG_NETKIT
9 int netkit_prog_attach(const union bpf_attr *attr, struct bpf_prog *prog);
10 int netkit_link_attach(const union bpf_attr *attr, struct bpf_prog *prog);
11 int netkit_prog_detach(const union bpf_attr *attr, struct bpf_prog *prog);
12 int netkit_prog_query(const union bpf_attr *attr, union bpf_attr __user *uattr);
13 #else
14 static inline int netkit_prog_attach(const union bpf_attr *attr,
15 				     struct bpf_prog *prog)
16 {
17 	return -EINVAL;
18 }
19 
20 static inline int netkit_link_attach(const union bpf_attr *attr,
21 				     struct bpf_prog *prog)
22 {
23 	return -EINVAL;
24 }
25 
26 static inline int netkit_prog_detach(const union bpf_attr *attr,
27 				     struct bpf_prog *prog)
28 {
29 	return -EINVAL;
30 }
31 
32 static inline int netkit_prog_query(const union bpf_attr *attr,
33 				    union bpf_attr __user *uattr)
34 {
35 	return -EINVAL;
36 }
37 #endif /* CONFIG_NETKIT */
38 #endif /* __NET_NETKIT_H */
39