1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * MCTP per-net structures
4 */
5
6#ifndef __NETNS_MCTP_H__
7#define __NETNS_MCTP_H__
8
9#include <linux/mutex.h>
10#include <linux/types.h>
11
12struct netns_mctp {
13 /* Only updated under RTNL, entries freed via RCU */
14 struct list_head routes;
15
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
19 */
20 struct mutex bind_lock;
21 struct hlist_head binds;
22
23 /* tag allocations. This list is read and updated from atomic contexts,
24 * but elements are free()ed after a RCU grace-period
25 */
26 spinlock_t keys_lock;
27 struct hlist_head keys;
28
29 /* MCTP network */
30 unsigned int default_net;
31
32 /* neighbour table */
33 struct mutex neigh_lock;
34 struct list_head neighbours;
35};
36
37#endif /* __NETNS_MCTP_H__ */
38

source code of linux/include/net/netns/mctp.h