diff options
author | Chuck Lever <chuck.lever@oracle.com> | 2007-03-29 16:48:04 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2007-05-01 01:17:12 -0400 |
commit | a509050bd3b8e0aa269c2241aa10d74ca7701e2f (patch) | |
tree | 47860feb054c6c286fd10c7d19a5ed3c3efb5c32 /include/linux/sunrpc | |
parent | c5a4dd8b7c15927a8fbff83171b57cad675a79b9 (diff) |
SUNRPC: introduce rpcbind: replacement for in-kernel portmapper
Introduce a replacement for the in-kernel portmapper client that supports
all 3 versions of the rpcbind protocol. This code is not used yet.
Original code by Groupe Bull updated for the latest kernel, with multiple
bug fixes.
Note that rpcb_clnt.c does not yet support registering via versions 3 and
4 of the rpcbind protocol. That is planned for a later patch.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'include/linux/sunrpc')
-rw-r--r-- | include/linux/sunrpc/clnt.h | 3 | ||||
-rw-r--r-- | include/linux/sunrpc/debug.h | 1 | ||||
-rw-r--r-- | include/linux/sunrpc/xprt.h | 1 |
3 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/sunrpc/clnt.h b/include/linux/sunrpc/clnt.h index 32c48a0b0d71..ca7553785932 100644 --- a/include/linux/sunrpc/clnt.h +++ b/include/linux/sunrpc/clnt.h | |||
@@ -124,6 +124,8 @@ int rpc_destroy_client(struct rpc_clnt *); | |||
124 | void rpc_release_client(struct rpc_clnt *); | 124 | void rpc_release_client(struct rpc_clnt *); |
125 | void rpc_getport(struct rpc_task *); | 125 | void rpc_getport(struct rpc_task *); |
126 | int rpc_register(u32, u32, int, unsigned short, int *); | 126 | int rpc_register(u32, u32, int, unsigned short, int *); |
127 | int rpcb_register(u32, u32, int, unsigned short, int *); | ||
128 | void rpcb_getport(struct rpc_task *); | ||
127 | 129 | ||
128 | void rpc_call_setup(struct rpc_task *, struct rpc_message *, int); | 130 | void rpc_call_setup(struct rpc_task *, struct rpc_message *, int); |
129 | 131 | ||
@@ -146,6 +148,7 @@ char * rpc_peeraddr2str(struct rpc_clnt *, enum rpc_display_format_t); | |||
146 | * Helper function for NFSroot support | 148 | * Helper function for NFSroot support |
147 | */ | 149 | */ |
148 | int rpc_getport_external(struct sockaddr_in *, __u32, __u32, int); | 150 | int rpc_getport_external(struct sockaddr_in *, __u32, __u32, int); |
151 | int rpcb_getport_external(struct sockaddr_in *, __u32, __u32, int); | ||
149 | 152 | ||
150 | #endif /* __KERNEL__ */ | 153 | #endif /* __KERNEL__ */ |
151 | #endif /* _LINUX_SUNRPC_CLNT_H */ | 154 | #endif /* _LINUX_SUNRPC_CLNT_H */ |
diff --git a/include/linux/sunrpc/debug.h b/include/linux/sunrpc/debug.h index b7c7307ceec6..707f96fe47d3 100644 --- a/include/linux/sunrpc/debug.h +++ b/include/linux/sunrpc/debug.h | |||
@@ -18,6 +18,7 @@ | |||
18 | #define RPCDBG_NFS 0x0008 | 18 | #define RPCDBG_NFS 0x0008 |
19 | #define RPCDBG_AUTH 0x0010 | 19 | #define RPCDBG_AUTH 0x0010 |
20 | #define RPCDBG_PMAP 0x0020 | 20 | #define RPCDBG_PMAP 0x0020 |
21 | #define RPCDBG_BIND 0x0020 | ||
21 | #define RPCDBG_SCHED 0x0040 | 22 | #define RPCDBG_SCHED 0x0040 |
22 | #define RPCDBG_TRANS 0x0080 | 23 | #define RPCDBG_TRANS 0x0080 |
23 | #define RPCDBG_SVCSOCK 0x0100 | 24 | #define RPCDBG_SVCSOCK 0x0100 |
diff --git a/include/linux/sunrpc/xprt.h b/include/linux/sunrpc/xprt.h index 745afc1d3068..fa89ce6ce076 100644 --- a/include/linux/sunrpc/xprt.h +++ b/include/linux/sunrpc/xprt.h | |||
@@ -152,6 +152,7 @@ struct rpc_xprt { | |||
152 | unsigned long state; /* transport state */ | 152 | unsigned long state; /* transport state */ |
153 | unsigned char shutdown : 1, /* being shut down */ | 153 | unsigned char shutdown : 1, /* being shut down */ |
154 | resvport : 1; /* use a reserved port */ | 154 | resvport : 1; /* use a reserved port */ |
155 | unsigned int bind_index; /* bind function index */ | ||
155 | 156 | ||
156 | /* | 157 | /* |
157 | * Connection of transports | 158 | * Connection of transports |