aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/sock_reuseport.h
diff options
context:
space:
mode:
authorMartin KaFai Lau <kafai@fb.com>2019-06-13 15:00:01 -0700
committerDaniel Borkmann <daniel@iogearbox.net>2019-06-15 01:21:19 +0200
commit99f3a064bc2e4bd5fe50218646c5be342f2ad18c (patch)
treeb5eb23bfcbf922d9773265810bb4119e57a31a8a /include/net/sock_reuseport.h
parentlibbpf: fix check for presence of associated BTF for map creation (diff)
downloadlinux-dev-99f3a064bc2e4bd5fe50218646c5be342f2ad18c.tar.xz
linux-dev-99f3a064bc2e4bd5fe50218646c5be342f2ad18c.zip
bpf: net: Add SO_DETACH_REUSEPORT_BPF
There is SO_ATTACH_REUSEPORT_[CE]BPF but there is no DETACH. This patch adds SO_DETACH_REUSEPORT_BPF sockopt. The same sockopt can be used to undo both SO_ATTACH_REUSEPORT_[CE]BPF. reseport_detach_prog() is added and it is mostly a mirror of the existing reuseport_attach_prog(). The differences are, it does not call reuseport_alloc() and returns -ENOENT when there is no old prog. Cc: Craig Gallek <kraig@google.com> Signed-off-by: Martin KaFai Lau <kafai@fb.com> Reviewed-by: Stanislav Fomichev <sdf@google.com> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Diffstat (limited to 'include/net/sock_reuseport.h')
-rw-r--r--include/net/sock_reuseport.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/net/sock_reuseport.h b/include/net/sock_reuseport.h
index 8a5f70c7cdf2..d9112de85261 100644
--- a/include/net/sock_reuseport.h
+++ b/include/net/sock_reuseport.h
@@ -35,6 +35,8 @@ extern struct sock *reuseport_select_sock(struct sock *sk,
struct sk_buff *skb,
int hdr_len);
extern int reuseport_attach_prog(struct sock *sk, struct bpf_prog *prog);
+extern int reuseport_detach_prog(struct sock *sk);
+
int reuseport_get_id(struct sock_reuseport *reuse);
#endif /* _SOCK_REUSEPORT_H */