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