diff options
author | Chuck Lever <chuck.lever@oracle.com> | 2008-06-25 17:24:54 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2008-07-09 12:09:37 -0400 |
commit | 40fef8a649e5344bfb6a67a7cc3def3e0dad6448 (patch) | |
tree | bfcbea1a0cf81ca14d59debb6fb77e83a430b2ab /fs | |
parent | 8842413aa4c3220ce9313791f99808fc149ca16d (diff) |
SUNRPC: Use only rpcbind v2 for AF_INET requests
Some server vendors support the higher versions of rpcbind only for
AF_INET6. The kernel doesn't need to use v3 or v4 for AF_INET anyway,
so change the kernel's rpcbind client to query AF_INET servers over
rpcbind v2 only.
This has a few interesting benefits:
1. If the rpcbind request is going over TCP, and the server doesn't
support rpcbind versions 3 or 4, the client reduces by two the number
of ephemeral ports left in TIME_WAIT for each rpcbind request. This
will help during NFS mount storms.
2. The rpcbind interaction with servers that don't support rpcbind
versions 3 or 4 will use less network traffic. Also helpful
during mount storms.
3. We can eliminate the kernel build option that controls whether the
kernel's rpcbind client uses rpcbind version 3 and 4 for AF_INET
servers. Less complicated kernel configuration...
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/Kconfig | 21 |
1 files changed, 0 insertions, 21 deletions
diff --git a/fs/Kconfig b/fs/Kconfig index 1c16de9611e9..0ce72dcd6b96 100644 --- a/fs/Kconfig +++ b/fs/Kconfig | |||
@@ -1799,27 +1799,6 @@ config SUNRPC_XPRT_RDMA | |||
1799 | 1799 | ||
1800 | If unsure, say N. | 1800 | If unsure, say N. |
1801 | 1801 | ||
1802 | config SUNRPC_BIND34 | ||
1803 | bool "Support for rpcbind versions 3 & 4 (EXPERIMENTAL)" | ||
1804 | depends on SUNRPC && EXPERIMENTAL | ||
1805 | default n | ||
1806 | help | ||
1807 | RPC requests over IPv6 networks require support for larger | ||
1808 | addresses when performing an RPC bind. Sun added support for | ||
1809 | IPv6 addressing by creating two new versions of the rpcbind | ||
1810 | protocol (RFC 1833). | ||
1811 | |||
1812 | This option enables support in the kernel RPC client for | ||
1813 | querying rpcbind servers via versions 3 and 4 of the rpcbind | ||
1814 | protocol. The kernel automatically falls back to version 2 | ||
1815 | if a remote rpcbind service does not support versions 3 or 4. | ||
1816 | By themselves, these new versions do not provide support for | ||
1817 | RPC over IPv6, but the new protocol versions are necessary to | ||
1818 | support it. | ||
1819 | |||
1820 | If unsure, say N to get traditional behavior (version 2 rpcbind | ||
1821 | requests only). | ||
1822 | |||
1823 | config RPCSEC_GSS_KRB5 | 1802 | config RPCSEC_GSS_KRB5 |
1824 | tristate "Secure RPC: Kerberos V mechanism (EXPERIMENTAL)" | 1803 | tristate "Secure RPC: Kerberos V mechanism (EXPERIMENTAL)" |
1825 | depends on SUNRPC && EXPERIMENTAL | 1804 | depends on SUNRPC && EXPERIMENTAL |