]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blame - include/net/sock_reuseport.h
UBUNTU: [Config] CONFIG_MFD_TI_LMU=m
[mirror_ubuntu-artful-kernel.git] / include / net / sock_reuseport.h
CommitLineData
ef456144
CG
1#ifndef _SOCK_REUSEPORT_H
2#define _SOCK_REUSEPORT_H
3
538950a1
CG
4#include <linux/filter.h>
5#include <linux/skbuff.h>
ef456144
CG
6#include <linux/types.h>
7#include <net/sock.h>
8
9struct sock_reuseport {
10 struct rcu_head rcu;
11
12 u16 max_socks; /* length of socks */
13 u16 num_socks; /* elements in socks */
538950a1 14 struct bpf_prog __rcu *prog; /* optional BPF sock selector */
ef456144
CG
15 struct sock *socks[0]; /* array of sock pointers */
16};
17
18extern int reuseport_alloc(struct sock *sk);
b4ace4f1 19extern int reuseport_add_sock(struct sock *sk, struct sock *sk2);
ef456144 20extern void reuseport_detach_sock(struct sock *sk);
538950a1
CG
21extern struct sock *reuseport_select_sock(struct sock *sk,
22 u32 hash,
23 struct sk_buff *skb,
24 int hdr_len);
25extern struct bpf_prog *reuseport_attach_prog(struct sock *sk,
26 struct bpf_prog *prog);
ef456144
CG
27
28#endif /* _SOCK_REUSEPORT_H */