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
8struct cache_detail;
9
10struct 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
39extern unsigned int sunrpc_net_id;
40
41int ip_map_cache_create(struct net *);
42void ip_map_cache_destroy(struct net *);
43
44#endif
45

source code of linux/net/sunrpc/netns.h