SUNRPC: Introduce transport switch callout for pluggable rpcbind
authorChuck Lever <chuck.lever@oracle.com>
Wed, 23 Aug 2006 00:06:16 +0000 (20:06 -0400)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Sat, 23 Sep 2006 03:24:44 +0000 (23:24 -0400)
commitbbf7c1dd2ae2b4040b41b1065ee9b1b6905b1605
treeb1867e722c1cc679b1834feeeeb21195f57dc873
parent5b1eacbcd78930d976eb50a93f1779d311b553d1
SUNRPC: Introduce transport switch callout for pluggable rpcbind

Introduce a clean transport switch API for plugging in different types of
rpcbind mechanisms.  For instance, rpcbind can cleanly replace the
existing portmapper client, or a transport can choose to implement RPC
binding any way it likes.

Test plan:
Destructive testing (unplugging the network temporarily).  Connectathon
with UDP and TCP.  NFSv2/3 and NFSv4 mounting should be carefully checked.
Probably need to rig a server where certain services aren't running, or
that returns an error for some typical operation.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
include/linux/sunrpc/clnt.h
include/linux/sunrpc/xprt.h
net/sunrpc/clnt.c
net/sunrpc/pmap_clnt.c
net/sunrpc/xprtsock.c