[PATCH 24/24] SUNRPC: Add kernel build option to disable server-side use of rpcbind v3/v4

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux