blob: df58268765351ebd1b4376f7504915cd1b9fff6b [file] [log] [blame]
Pavel Emelyanov2f72c9b2010-09-27 14:01:27 +04001#ifndef __SUNRPC_NETNS_H__
2#define __SUNRPC_NETNS_H__
3
4#include <net/net_namespace.h>
5#include <net/netns/generic.h>
6
Pavel Emelyanov90d51b02010-09-27 14:02:29 +04007struct cache_detail;
8
Pavel Emelyanov2f72c9b2010-09-27 14:01:27 +04009struct sunrpc_net {
Pavel Emelyanov4f42d0d2010-09-27 14:01:58 +040010 struct proc_dir_entry *proc_net_rpc;
Pavel Emelyanov90d51b02010-09-27 14:02:29 +040011 struct cache_detail *ip_map_cache;
Stanislav Kinsbursky73393232012-01-19 21:42:29 +040012 struct cache_detail *unix_gid_cache;
Stanislav Kinsburskya1db4102012-01-19 21:42:37 +040013 struct cache_detail *rsc_cache;
14 struct cache_detail *rsi_cache;
Stanislav Kinsbursky90c4e822011-12-26 15:39:30 +030015
16 struct super_block *pipefs_sb;
Jeff Layton4b9a4452013-11-14 07:25:17 -050017 struct rpc_pipe *gssd_dummy;
Stanislav Kinsburskyc21a5882011-12-26 15:39:39 +030018 struct mutex pipefs_sb_lock;
Stanislav Kinsbursky70abc492012-01-12 22:07:51 +040019
20 struct list_head all_clients;
21 spinlock_t rpc_client_lock;
Stanislav Kinsburskydff02d42012-01-13 12:52:10 +040022
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;
Trond Myklebust786615b2013-08-05 16:04:47 -040027 unsigned int rpcb_is_af_local : 1;
Simo Sorce1d658332012-05-25 18:09:55 -040028
29 struct mutex gssp_lock;
30 struct rpc_clnt *gssp_clnt;
Simo Sorce030d7942012-05-25 18:09:56 -040031 int use_gss_proxy;
Trond Myklebust2aed8b42013-05-15 10:27:32 -070032 int pipe_version;
33 atomic_t pipe_users;
Simo Sorce030d7942012-05-25 18:09:56 -040034 struct proc_dir_entry *use_gssp_proc;
Pavel Emelyanov2f72c9b2010-09-27 14:01:27 +040035};
36
37extern int sunrpc_net_id;
38
Pavel Emelyanov90d51b02010-09-27 14:02:29 +040039int ip_map_cache_create(struct net *);
40void ip_map_cache_destroy(struct net *);
41
Pavel Emelyanov2f72c9b2010-09-27 14:01:27 +040042#endif