1 /* SPDX-License-Identifier: GPL-2.0 */
3 * MCTP per-net structures
6 #ifndef __NETNS_MCTP_H__
7 #define __NETNS_MCTP_H__
9 #include <linux/mutex.h>
10 #include <linux/types.h>
13 /* Only updated under RTNL, entries freed via RCU */
14 struct list_head routes
;
16 /* Bound sockets: list of sockets bound by type.
17 * This list is updated from non-atomic contexts (under bind_lock),
18 * and read (under rcu) in packet rx
20 struct mutex bind_lock
;
21 struct hlist_head binds
;
23 /* tag allocations. This list is read and updated from atomic contexts,
24 * but elements are free()ed after a RCU grace-period
27 struct hlist_head keys
;
30 unsigned int default_net
;
33 struct mutex neigh_lock
;
34 struct list_head neighbours
;
37 #endif /* __NETNS_MCTP_H__ */