xref: /openbmc/linux/include/net/netns/sctp.h (revision 13d782f6b4fbbaf9d0380a9947deb45a9de46ae7)
14db67e80SEric W. Biederman #ifndef __NETNS_SCTP_H__
24db67e80SEric W. Biederman #define __NETNS_SCTP_H__
34db67e80SEric W. Biederman 
42ce95503SEric W. Biederman struct sock;
5*13d782f6SEric W. Biederman struct proc_dir_entry;
62ce95503SEric W. Biederman 
74db67e80SEric W. Biederman struct netns_sctp {
8*13d782f6SEric W. Biederman #ifdef CONFIG_PROC_FS
9*13d782f6SEric W. Biederman 	struct proc_dir_entry *proc_net_sctp;
10*13d782f6SEric W. Biederman #endif
11*13d782f6SEric W. Biederman 
122ce95503SEric W. Biederman 	/* This is the global socket data structure used for responding to
132ce95503SEric W. Biederman 	 * the Out-of-the-blue (OOTB) packets.  A control sock will be created
142ce95503SEric W. Biederman 	 * for this socket at the initialization time.
152ce95503SEric W. Biederman 	 */
162ce95503SEric W. Biederman 	struct sock *ctl_sock;
172ce95503SEric W. Biederman 
184db67e80SEric W. Biederman 	/* This is the global local address list.
194db67e80SEric W. Biederman 	 * We actively maintain this complete list of addresses on
204db67e80SEric W. Biederman 	 * the system by catching address add/delete events.
214db67e80SEric W. Biederman 	 *
224db67e80SEric W. Biederman 	 * It is a list of sctp_sockaddr_entry.
234db67e80SEric W. Biederman 	 */
244db67e80SEric W. Biederman 	struct list_head local_addr_list;
254db67e80SEric W. Biederman 	struct list_head addr_waitq;
264db67e80SEric W. Biederman 	struct timer_list addr_wq_timer;
274db67e80SEric W. Biederman 	struct list_head auto_asconf_splist;
284db67e80SEric W. Biederman 	spinlock_t addr_wq_lock;
294db67e80SEric W. Biederman 
304db67e80SEric W. Biederman 	/* Lock that protects the local_addr_list writers */
314db67e80SEric W. Biederman 	spinlock_t local_addr_lock;
324db67e80SEric W. Biederman };
334db67e80SEric W. Biederman 
344db67e80SEric W. Biederman #endif /* __NETNS_SCTP_H__ */
35