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