blob: 9576b60cbd252a1e64e2f894e91019140b71b037 [file] [log] [blame]
Eric W. Biederman4db67e82012-08-06 08:42:04 +00001#ifndef __NETNS_SCTP_H__
2#define __NETNS_SCTP_H__
3
Eric W. Biederman2ce95502012-08-06 08:43:06 +00004struct sock;
Eric W. Biederman13d782f2012-08-06 08:45:15 +00005struct proc_dir_entry;
Eric W. Biedermanb01a2402012-08-06 08:47:55 +00006struct sctp_mib;
Eric W. Biedermanebb7e952012-08-07 07:23:59 +00007struct ctl_table_header;
Eric W. Biederman2ce95502012-08-06 08:43:06 +00008
Eric W. Biederman4db67e82012-08-06 08:42:04 +00009struct netns_sctp {
Eric W. Biedermanb01a2402012-08-06 08:47:55 +000010 DEFINE_SNMP_STAT(struct sctp_mib, sctp_statistics);
11
Eric W. Biederman13d782f2012-08-06 08:45:15 +000012#ifdef CONFIG_PROC_FS
13 struct proc_dir_entry *proc_net_sctp;
14#endif
Eric W. Biedermanebb7e952012-08-07 07:23:59 +000015#ifdef CONFIG_SYSCTL
16 struct ctl_table_header *sysctl_header;
17#endif
Eric W. Biederman2ce95502012-08-06 08:43:06 +000018 /* This is the global socket data structure used for responding to
19 * the Out-of-the-blue (OOTB) packets. A control sock will be created
20 * for this socket at the initialization time.
21 */
22 struct sock *ctl_sock;
23
Eric W. Biederman4db67e82012-08-06 08:42:04 +000024 /* This is the global local address list.
25 * We actively maintain this complete list of addresses on
26 * the system by catching address add/delete events.
27 *
28 * It is a list of sctp_sockaddr_entry.
29 */
30 struct list_head local_addr_list;
31 struct list_head addr_waitq;
32 struct timer_list addr_wq_timer;
33 struct list_head auto_asconf_splist;
34 spinlock_t addr_wq_lock;
35
36 /* Lock that protects the local_addr_list writers */
37 spinlock_t local_addr_lock;
Eric W. Biedermanebb7e952012-08-07 07:23:59 +000038
Eric W. Biederman4db67e82012-08-06 08:42:04 +000039};
40
41#endif /* __NETNS_SCTP_H__ */