2008-06-30 22:48:08

by Chuck Lever III

[permalink] [raw]
Subject: [PATCH 6/8] SUNRPC: Add kernel build option to disable server-side use of rpcbind v3/v4

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 <[email protected]>

fs/Kconfig | 22 ++++++++++++++++++++++
1 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/fs/Kconfig b/fs/Kconfig
index 8cf8ee2..6148f4c 100644
--- a/fs/Kconfig
+++ b/fs/Kconfig
@@ -1799,6 +1799,28 @@ config SUNRPC_XPRT_RDMA

If unsure, say N.

+ bool "Register local RPC services via rpcbind v4 (EXPERIMENTAL)"
+ default n
+ help
+ 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 kernel RPC services via version 4 of the rpcbind
+ protocol. If you enable this option, you must run a portmapper
+ daemon that supports rpcbind protocol version 4.
+ Serving NFS over IPv6 from knfsd (the kernel's NFS server)
+ requires that you enable this option and use a portmapper that
+ supports rpcbind version 4.
+ If unsure, say N to get traditional behavior (register kernel
+ RPC services using only rpcbind version 2). Distributions
+ using the legacy Linux portmapper daemon must say N here.
tristate "Secure RPC: Kerberos V mechanism (EXPERIMENTAL)"