1# SPDX-License-Identifier: GPL-2.0-only
2config SUNRPC
3	tristate
4	depends on MULTIUSER
5
6config SUNRPC_GSS
7	tristate
8	select OID_REGISTRY
9	depends on MULTIUSER
10
11config SUNRPC_BACKCHANNEL
12	bool
13	depends on SUNRPC
14
15config SUNRPC_SWAP
16	bool
17	depends on SUNRPC
18
19config RPCSEC_GSS_KRB5
20	tristate "Secure RPC: Kerberos V mechanism"
21	depends on SUNRPC && CRYPTO
22	depends on CRYPTO_MD5 && CRYPTO_DES && CRYPTO_CBC && CRYPTO_CTS
23	depends on CRYPTO_ECB && CRYPTO_HMAC && CRYPTO_SHA1 && CRYPTO_AES
24	depends on CRYPTO_ARC4
25	default y
26	select SUNRPC_GSS
27	help
28	  Choose Y here to enable Secure RPC using the Kerberos version 5
29	  GSS-API mechanism (RFC 1964).
30
31	  Secure RPC calls with Kerberos require an auxiliary user-space
32	  daemon which may be found in the Linux nfs-utils package
33	  available from http://linux-nfs.org/.  In addition, user-space
34	  Kerberos support should be installed.
35
36	  If unsure, say Y.
37
38config SUNRPC_DISABLE_INSECURE_ENCTYPES
39	bool "Secure RPC: Disable insecure Kerberos encryption types"
40	depends on RPCSEC_GSS_KRB5
41	default n
42	help
43	  Choose Y here to disable the use of deprecated encryption types
44	  with the Kerberos version 5 GSS-API mechanism (RFC 1964). The
45	  deprecated encryption types include DES-CBC-MD5, DES-CBC-CRC,
46	  and DES-CBC-MD4. These types were deprecated by RFC 6649 because
47	  they were found to be insecure.
48
49	  N is the default because many sites have deployed KDCs and
50	  keytabs that contain only these deprecated encryption types.
51	  Choosing Y prevents the use of known-insecure encryption types
52	  but might result in compatibility problems.
53
54config SUNRPC_DEBUG
55	bool "RPC: Enable dprintk debugging"
56	depends on SUNRPC && SYSCTL
57	select DEBUG_FS
58	help
59	  This option enables a sysctl-based debugging interface
60	  that is be used by the 'rpcdebug' utility to turn on or off
61	  logging of different aspects of the kernel RPC activity.
62
63	  Disabling this option will make your kernel slightly smaller,
64	  but makes troubleshooting NFS issues significantly harder.
65
66	  If unsure, say Y.
67
68config SUNRPC_XPRT_RDMA
69	tristate "RPC-over-RDMA transport"
70	depends on SUNRPC && INFINIBAND && INFINIBAND_ADDR_TRANS
71	default SUNRPC && INFINIBAND
72	select SG_POOL
73	help
74	  This option allows the NFS client and server to use RDMA
75	  transports (InfiniBand, iWARP, or RoCE).
76
77	  To compile this support as a module, choose M. The module
78	  will be called rpcrdma.ko.
79
80	  If unsure, or you know there is no RDMA capability on your
81	  hardware platform, say N.
82