Merge tag 'v6.4-p2' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
[platform/kernel/linux-starfive.git] / net / sunrpc / netns.h
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         struct proc_dir_entry *gss_krb5_enctypes;
37 };
38
39 extern unsigned int sunrpc_net_id;
40
41 int ip_map_cache_create(struct net *);
42 void ip_map_cache_destroy(struct net *);
43
44 #endif