diff options
author | Chuck Lever <chuck.lever@oracle.com> | 2008-08-18 19:34:16 -0400 |
---|---|---|
committer | J. Bruce Fields <bfields@citi.umich.edu> | 2008-09-29 18:13:38 -0400 |
commit | a26cfad6e0a308a2c68df1f1ef50aabd48b17e6d (patch) | |
tree | 9d200a635720bde73b66fd96e4db9e7ff9be3af7 /fs | |
parent | 7252d575ab0e8771269a3d245c36a05ace5152bd (diff) |
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>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/Kconfig | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/fs/Kconfig b/fs/Kconfig index c6ae4d4842eb..ed57a5a37250 100644 --- a/fs/Kconfig +++ b/fs/Kconfig | |||
@@ -1773,6 +1773,28 @@ config SUNRPC_XPRT_RDMA | |||
1773 | 1773 | ||
1774 | If unsure, say N. | 1774 | If unsure, say N. |
1775 | 1775 | ||
1776 | config SUNRPC_REGISTER_V4 | ||
1777 | bool "Register local RPC services via rpcbind v4 (EXPERIMENTAL)" | ||
1778 | depends on SUNRPC && EXPERIMENTAL | ||
1779 | default n | ||
1780 | help | ||
1781 | Sun added support for registering RPC services at an IPv6 | ||
1782 | address by creating two new versions of the rpcbind protocol | ||
1783 | (RFC 1833). | ||
1784 | |||
1785 | This option enables support in the kernel RPC server for | ||
1786 | registering kernel RPC services via version 4 of the rpcbind | ||
1787 | protocol. If you enable this option, you must run a portmapper | ||
1788 | daemon that supports rpcbind protocol version 4. | ||
1789 | |||
1790 | Serving NFS over IPv6 from knfsd (the kernel's NFS server) | ||
1791 | requires that you enable this option and use a portmapper that | ||
1792 | supports rpcbind version 4. | ||
1793 | |||
1794 | If unsure, say N to get traditional behavior (register kernel | ||
1795 | RPC services using only rpcbind version 2). Distributions | ||
1796 | using the legacy Linux portmapper daemon must say N here. | ||
1797 | |||
1776 | config RPCSEC_GSS_KRB5 | 1798 | config RPCSEC_GSS_KRB5 |
1777 | tristate "Secure RPC: Kerberos V mechanism (EXPERIMENTAL)" | 1799 | tristate "Secure RPC: Kerberos V mechanism (EXPERIMENTAL)" |
1778 | depends on SUNRPC && EXPERIMENTAL | 1800 | depends on SUNRPC && EXPERIMENTAL |