Allow distributions to use the legacy behavior until they integrate an appropriate user-space rpcbind daemon that can support IPv6 RPC services. I tried adding some logic to fall back if (un)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@xxxxxxxxxx> --- fs/Kconfig | 30 ++++++++++++++++++++++++++++-- 1 files changed, 28 insertions(+), 2 deletions(-) diff --git a/fs/Kconfig b/fs/Kconfig index f1bc33f..56e6fa5 100644 --- a/fs/Kconfig +++ b/fs/Kconfig @@ -1772,7 +1772,7 @@ config SUNRPC_XPRT_RDMA If unsure, say N. config SUNRPC_BIND34 - bool "Support for rpcbind versions 3 & 4 (EXPERIMENTAL)" + bool "Support for rpcbind v3 & v4 queries (EXPERIMENTAL)" depends on SUNRPC && EXPERIMENTAL default n help @@ -1785,13 +1785,39 @@ config SUNRPC_BIND34 querying rpcbind servers via versions 3 and 4 of the rpcbind protocol. The kernel automatically falls back to version 2 if a remote rpcbind service does not support versions 3 or 4. + By themselves, these new versions do not provide support for RPC over IPv6, but the new protocol versions are necessary to - support it. + support it. Enabling this option is required to support + mounting NFS servers over IPv6 networks. If unsure, say N to get traditional behavior (version 2 rpcbind requests only). +config SUNRPC_REGISTER_V4 + bool "Register local RPC services via rpcbind v4 (EXPERIMENTAL)" + depends on SUNRPC && EXPERIMENTAL + default n + help + RPC requests over IPv6 networks require support for larger + addresses when performing an RPC bind. Sun added support for + registering RPC services at an IPv6 address by creating two + new versions of the rpcbind protocol (RFC 1833). + + This option enables support in the kernel RPC server for + registering local RPC services via version 4 of the rpcbind + protocol. If you enable this option, you must run a user + space portmapper daemon capable of understanding rpcbind + protocol version 4. + + If unsure, say N to get traditional behavior (register local + services using only rpcbind version 2). + + Enabling this option and using a portmapper capable of + responding to rpcbind version 4 requests is required to support + serving NFS requests over IPv6 networks. Distributions using + the legacy Linux portmapper daemon must say N here. + config RPCSEC_GSS_KRB5 tristate "Secure RPC: Kerberos V mechanism (EXPERIMENTAL)" depends on SUNRPC && EXPERIMENTAL -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html