Greg Kroah-Hartman | b244131 | 2017-11-01 15:07:57 +0100 | [diff] [blame] | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
Pavel Emelyanov | 2f72c9b | 2010-09-27 14:01:27 +0400 | [diff] [blame] | 2 | #ifndef __SUNRPC_NETNS_H__ |
| 3 | #define __SUNRPC_NETNS_H__ |
| 4 | |
| 5 | #include <net/net_namespace.h> |
| 6 | #include <net/netns/generic.h> |
| 7 | |
Pavel Emelyanov | 90d51b0 | 2010-09-27 14:02:29 +0400 | [diff] [blame] | 8 | struct cache_detail; |
| 9 | |
Pavel Emelyanov | 2f72c9b | 2010-09-27 14:01:27 +0400 | [diff] [blame] | 10 | struct sunrpc_net { |
Pavel Emelyanov | 4f42d0d | 2010-09-27 14:01:58 +0400 | [diff] [blame] | 11 | struct proc_dir_entry *proc_net_rpc; |
Pavel Emelyanov | 90d51b0 | 2010-09-27 14:02:29 +0400 | [diff] [blame] | 12 | struct cache_detail *ip_map_cache; |
Stanislav Kinsbursky | 7339323 | 2012-01-19 21:42:29 +0400 | [diff] [blame] | 13 | struct cache_detail *unix_gid_cache; |
Stanislav Kinsbursky | a1db410 | 2012-01-19 21:42:37 +0400 | [diff] [blame] | 14 | struct cache_detail *rsc_cache; |
| 15 | struct cache_detail *rsi_cache; |
Stanislav Kinsbursky | 90c4e82 | 2011-12-26 15:39:30 +0300 | [diff] [blame] | 16 | |
| 17 | struct super_block *pipefs_sb; |
Jeff Layton | 4b9a445 | 2013-11-14 07:25:17 -0500 | [diff] [blame] | 18 | struct rpc_pipe *gssd_dummy; |
Stanislav Kinsbursky | c21a588 | 2011-12-26 15:39:39 +0300 | [diff] [blame] | 19 | struct mutex pipefs_sb_lock; |
Stanislav Kinsbursky | 70abc49 | 2012-01-12 22:07:51 +0400 | [diff] [blame] | 20 | |
| 21 | struct list_head all_clients; |
| 22 | spinlock_t rpc_client_lock; |
Stanislav Kinsbursky | dff02d4 | 2012-01-13 12:52:10 +0400 | [diff] [blame] | 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; |
Trond Myklebust | 786615b | 2013-08-05 16:04:47 -0400 | [diff] [blame] | 28 | unsigned int rpcb_is_af_local : 1; |
Simo Sorce | 1d65833 | 2012-05-25 18:09:55 -0400 | [diff] [blame] | 29 | |
| 30 | struct mutex gssp_lock; |
| 31 | struct rpc_clnt *gssp_clnt; |
Simo Sorce | 030d794 | 2012-05-25 18:09:56 -0400 | [diff] [blame] | 32 | int use_gss_proxy; |
Trond Myklebust | 2aed8b4 | 2013-05-15 10:27:32 -0700 | [diff] [blame] | 33 | int pipe_version; |
| 34 | atomic_t pipe_users; |
Simo Sorce | 030d794 | 2012-05-25 18:09:56 -0400 | [diff] [blame] | 35 | struct proc_dir_entry *use_gssp_proc; |
Pavel Emelyanov | 2f72c9b | 2010-09-27 14:01:27 +0400 | [diff] [blame] | 36 | }; |
| 37 | |
Alexey Dobriyan | c7d03a0 | 2016-11-17 04:58:21 +0300 | [diff] [blame] | 38 | extern unsigned int sunrpc_net_id; |
Pavel Emelyanov | 2f72c9b | 2010-09-27 14:01:27 +0400 | [diff] [blame] | 39 | |
Pavel Emelyanov | 90d51b0 | 2010-09-27 14:02:29 +0400 | [diff] [blame] | 40 | int ip_map_cache_create(struct net *); |
| 41 | void ip_map_cache_destroy(struct net *); |
| 42 | |
Pavel Emelyanov | 2f72c9b | 2010-09-27 14:01:27 +0400 | [diff] [blame] | 43 | #endif |