Blame view

include/net/netns/xfrm.h 1.53 KB
d62ddc21b   Alexey Dobriyan   netns xfrm: add n...
1
2
  #ifndef __NETNS_XFRM_H
  #define __NETNS_XFRM_H
9d4139c76   Alexey Dobriyan   netns xfrm: per-n...
3
  #include <linux/list.h>
50a30657f   Alexey Dobriyan   netns xfrm: per-n...
4
  #include <linux/wait.h>
630827338   Alexey Dobriyan   netns xfrm: per-n...
5
  #include <linux/workqueue.h>
8b18f8eaf   Alexey Dobriyan   netns xfrm: per-n...
6
  #include <linux/xfrm.h>
d7c7544c3   Alexey Dobriyan   netns xfrm: deal ...
7
  #include <net/dst_ops.h>
9d4139c76   Alexey Dobriyan   netns xfrm: per-n...
8

b27aeadb5   Alexey Dobriyan   netns xfrm: per-n...
9
  struct ctl_table_header;
a35f6c5de   Alexey Dobriyan   netns xfrm: per-n...
10
11
12
13
  struct xfrm_policy_hash {
  	struct hlist_head	*table;
  	unsigned int		hmask;
  };
d62ddc21b   Alexey Dobriyan   netns xfrm: add n...
14
  struct netns_xfrm {
9d4139c76   Alexey Dobriyan   netns xfrm: per-n...
15
  	struct list_head	state_all;
73d189dce   Alexey Dobriyan   netns xfrm: per-n...
16
17
18
19
20
21
22
23
24
  	/*
  	 * Hash table to find appropriate SA towards given target (endpoint of
  	 * tunnel or destination of transport mode) allowed by selector.
  	 *
  	 * Main use is finding SA after policy selected tunnel or transport
  	 * mode. Also, it can be used by ah/esp icmp error handler to find
  	 * offending SA.
  	 */
  	struct hlist_head	*state_bydst;
d320bbb30   Alexey Dobriyan   netns xfrm: per-n...
25
  	struct hlist_head	*state_bysrc;
b754a4fd8   Alexey Dobriyan   netns xfrm: per-n...
26
  	struct hlist_head	*state_byspi;
529983eca   Alexey Dobriyan   netns xfrm: per-n...
27
  	unsigned int		state_hmask;
0bf7c5b01   Alexey Dobriyan   netns xfrm: per-n...
28
  	unsigned int		state_num;
630827338   Alexey Dobriyan   netns xfrm: per-n...
29
  	struct work_struct	state_hash_work;
b8a0ae20b   Alexey Dobriyan   netns xfrm: per-n...
30
  	struct hlist_head	state_gc_list;
c78371441   Alexey Dobriyan   netns xfrm: per-n...
31
  	struct work_struct	state_gc_work;
50a30657f   Alexey Dobriyan   netns xfrm: per-n...
32
33
  
  	wait_queue_head_t	km_waitq;
adfcf0b27   Alexey Dobriyan   netns xfrm: per-n...
34
35
  
  	struct list_head	policy_all;
93b851c1c   Alexey Dobriyan   netns xfrm: per-n...
36
  	struct hlist_head	*policy_byidx;
8100bea7d   Alexey Dobriyan   netns xfrm: per-n...
37
  	unsigned int		policy_idx_hmask;
8b18f8eaf   Alexey Dobriyan   netns xfrm: per-n...
38
  	struct hlist_head	policy_inexact[XFRM_POLICY_MAX * 2];
a35f6c5de   Alexey Dobriyan   netns xfrm: per-n...
39
  	struct xfrm_policy_hash	policy_bydst[XFRM_POLICY_MAX * 2];
dc2caba7b   Alexey Dobriyan   netns xfrm: per-n...
40
  	unsigned int		policy_count[XFRM_POLICY_MAX * 2];
66caf628c   Alexey Dobriyan   netns xfrm: per-n...
41
  	struct work_struct	policy_hash_work;
a6483b790   Alexey Dobriyan   netns xfrm: per-n...
42

d7c7544c3   Alexey Dobriyan   netns xfrm: deal ...
43

a6483b790   Alexey Dobriyan   netns xfrm: per-n...
44
  	struct sock		*nlsk;
d79d792ef   Eric W. Biederman   net: Allow xfrm_u...
45
  	struct sock		*nlsk_stash;
b27aeadb5   Alexey Dobriyan   netns xfrm: per-n...
46
47
48
49
50
51
52
53
  
  	u32			sysctl_aevent_etime;
  	u32			sysctl_aevent_rseqth;
  	int			sysctl_larval_drop;
  	u32			sysctl_acq_expires;
  #ifdef CONFIG_SYSCTL
  	struct ctl_table_header	*sysctl_hdr;
  #endif
8e602ce29   Eric Dumazet   netns: reorder fi...
54
55
  
  	struct dst_ops		xfrm4_dst_ops;
dfd56b8b3   Eric Dumazet   net: use IS_ENABL...
56
  #if IS_ENABLED(CONFIG_IPV6)
8e602ce29   Eric Dumazet   netns: reorder fi...
57
58
  	struct dst_ops		xfrm6_dst_ops;
  #endif
d62ddc21b   Alexey Dobriyan   netns xfrm: add n...
59
60
61
  };
  
  #endif