xref: /linux/net/sunrpc/netns.h (revision bb9707077b4ee5f77bc9939b057ff8a0d410296f)
1 #ifndef __SUNRPC_NETNS_H__
2 #define __SUNRPC_NETNS_H__
3 
4 #include <net/net_namespace.h>
5 #include <net/netns/generic.h>
6 
7 struct cache_detail;
8 
9 struct sunrpc_net {
10 	struct proc_dir_entry *proc_net_rpc;
11 	struct cache_detail *ip_map_cache;
12 	struct cache_detail *unix_gid_cache;
13 	struct cache_detail *rsc_cache;
14 	struct cache_detail *rsi_cache;
15 
16 	struct super_block *pipefs_sb;
17 	struct rpc_pipe *gssd_dummy;
18 	struct mutex pipefs_sb_lock;
19 
20 	struct list_head all_clients;
21 	spinlock_t rpc_client_lock;
22 
23 	struct rpc_clnt *rpcb_local_clnt;
24 	struct rpc_clnt *rpcb_local_clnt4;
25 	spinlock_t rpcb_clnt_lock;
26 	unsigned int rpcb_users;
27 	unsigned int rpcb_is_af_local : 1;
28 
29 	struct mutex gssp_lock;
30 	struct rpc_clnt *gssp_clnt;
31 	int use_gss_proxy;
32 	int pipe_version;
33 	atomic_t pipe_users;
34 	struct proc_dir_entry *use_gssp_proc;
35 };
36 
37 extern int sunrpc_net_id;
38 
39 int ip_map_cache_create(struct net *);
40 void ip_map_cache_destroy(struct net *);
41 
42 #endif
43