SUNRPC: Support IPv6 when registering kernel RPC services
authorChuck Lever <chuck.lever@oracle.com>
Mon, 18 Aug 2008 23:34:16 +0000 (19:34 -0400)
committerJ. Bruce Fields <bfields@citi.umich.edu>
Mon, 29 Sep 2008 22:13:38 +0000 (18:13 -0400)
commita26cfad6e0a308a2c68df1f1ef50aabd48b17e6d
tree9d200a635720bde73b66fd96e4db9e7ff9be3af7
parent7252d575ab0e8771269a3d245c36a05ace5152bd
SUNRPC: Support IPv6 when registering kernel RPC services

In order to advertise NFS-related services on IPv6 interfaces via
rpcbind, the kernel RPC server implementation must use
rpcb_v4_register() instead of rpcb_register().

A new kernel build option allows distributions to use the legacy
v2 call until they integrate an appropriate user-space rpcbind
daemon that can support IPv6 RPC services.

I tried adding some automatic logic to fall back if registering
with a v4 protocol request failed, but there are too many corner
cases.  So I just made it a compile-time switch that distributions
can throw when they've replaced portmapper with rpcbind.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
fs/Kconfig
include/linux/sunrpc/svc.h
net/sunrpc/svc.c