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