blob: 06ccddf9566c7f9ce1efa79c0a767ba07d4c3fe2 [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. Biederman2ce95502012-08-06 08:43:06 +00007
Eric W. Biederman4db67e82012-08-06 08:42:04 +00008struct netns_sctp {
Eric W. Biedermanb01a2402012-08-06 08:47:55 +00009 DEFINE_SNMP_STAT(struct sctp_mib, sctp_statistics);
10
Eric W. Biederman13d782f2012-08-06 08:45:15 +000011#ifdef CONFIG_PROC_FS
12 struct proc_dir_entry *proc_net_sctp;
13#endif
14
Eric W. Biederman2ce95502012-08-06 08:43:06 +000015 /* This is the global socket data structure used for responding to
16 * the Out-of-the-blue (OOTB) packets. A control sock will be created
17 * for this socket at the initialization time.
18 */
19 struct sock *ctl_sock;
20
Eric W. Biederman4db67e82012-08-06 08:42:04 +000021 /* This is the global local address list.
22 * We actively maintain this complete list of addresses on
23 * the system by catching address add/delete events.
24 *
25 * It is a list of sctp_sockaddr_entry.
26 */
27 struct list_head local_addr_list;
28 struct list_head addr_waitq;
29 struct timer_list addr_wq_timer;
30 struct list_head auto_asconf_splist;
31 spinlock_t addr_wq_lock;
32
33 /* Lock that protects the local_addr_list writers */
34 spinlock_t local_addr_lock;
35};
36
37#endif /* __NETNS_SCTP_H__ */