Loading...
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 default y
23 select SUNRPC_GSS
24 select CRYPTO_SKCIPHER
25 select CRYPTO_HASH
26 help
27 Choose Y here to enable Secure RPC using the Kerberos version 5
28 GSS-API mechanism (RFC 1964).
29
30 Secure RPC calls with Kerberos require an auxiliary user-space
31 daemon which may be found in the Linux nfs-utils package
32 available from http://linux-nfs.org/. In addition, user-space
33 Kerberos support should be installed.
34
35 If unsure, say Y.
36
37config RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA1
38 bool "Enable Kerberos enctypes based on AES and SHA-1"
39 depends on RPCSEC_GSS_KRB5
40 depends on CRYPTO_CBC && CRYPTO_CTS
41 depends on CRYPTO_HMAC && CRYPTO_SHA1
42 depends on CRYPTO_AES
43 default y
44 help
45 Choose Y to enable the use of Kerberos 5 encryption types
46 that utilize Advanced Encryption Standard (AES) ciphers and
47 SHA-1 digests. These include aes128-cts-hmac-sha1-96 and
48 aes256-cts-hmac-sha1-96.
49
50config RPCSEC_GSS_KRB5_ENCTYPES_CAMELLIA
51 bool "Enable Kerberos encryption types based on Camellia and CMAC"
52 depends on RPCSEC_GSS_KRB5
53 depends on CRYPTO_CBC && CRYPTO_CTS && CRYPTO_CAMELLIA
54 depends on CRYPTO_CMAC
55 default n
56 help
57 Choose Y to enable the use of Kerberos 5 encryption types
58 that utilize Camellia ciphers (RFC 3713) and CMAC digests
59 (NIST Special Publication 800-38B). These include
60 camellia128-cts-cmac and camellia256-cts-cmac.
61
62config RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA2
63 bool "Enable Kerberos enctypes based on AES and SHA-2"
64 depends on RPCSEC_GSS_KRB5
65 depends on CRYPTO_CBC && CRYPTO_CTS
66 depends on CRYPTO_HMAC && CRYPTO_SHA256 && CRYPTO_SHA512
67 depends on CRYPTO_AES
68 default n
69 help
70 Choose Y to enable the use of Kerberos 5 encryption types
71 that utilize Advanced Encryption Standard (AES) ciphers and
72 SHA-2 digests. These include aes128-cts-hmac-sha256-128 and
73 aes256-cts-hmac-sha384-192.
74
75config RPCSEC_GSS_KRB5_KUNIT_TEST
76 tristate "KUnit tests for RPCSEC GSS Kerberos" if !KUNIT_ALL_TESTS
77 depends on RPCSEC_GSS_KRB5 && KUNIT
78 default KUNIT_ALL_TESTS
79 help
80 This builds the KUnit tests for RPCSEC GSS Kerberos 5.
81
82 KUnit tests run during boot and output the results to the debug
83 log in TAP format (https://testanything.org/). Only useful for
84 kernel devs running KUnit test harness and are not for inclusion
85 into a production build.
86
87 For more information on KUnit and unit tests in general, refer
88 to the KUnit documentation in Documentation/dev-tools/kunit/.
89
90config SUNRPC_DEBUG
91 bool "RPC: Enable dprintk debugging"
92 depends on SUNRPC && SYSCTL
93 select DEBUG_FS
94 help
95 This option enables a sysctl-based debugging interface
96 that is be used by the 'rpcdebug' utility to turn on or off
97 logging of different aspects of the kernel RPC activity.
98
99 Disabling this option will make your kernel slightly smaller,
100 but makes troubleshooting NFS issues significantly harder.
101
102 If unsure, say Y.
103
104config SUNRPC_XPRT_RDMA
105 tristate "RPC-over-RDMA transport"
106 depends on SUNRPC && INFINIBAND && INFINIBAND_ADDR_TRANS
107 default SUNRPC && INFINIBAND
108 select SG_POOL
109 help
110 This option allows the NFS client and server to use RDMA
111 transports (InfiniBand, iWARP, or RoCE).
112
113 To compile this support as a module, choose M. The module
114 will be called rpcrdma.ko.
115
116 If unsure, or you know there is no RDMA capability on your
117 hardware platform, say N.
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 default y
25 select SUNRPC_GSS
26 help
27 Choose Y here to enable Secure RPC using the Kerberos version 5
28 GSS-API mechanism (RFC 1964).
29
30 Secure RPC calls with Kerberos require an auxiliary user-space
31 daemon which may be found in the Linux nfs-utils package
32 available from http://linux-nfs.org/. In addition, user-space
33 Kerberos support should be installed.
34
35 If unsure, say Y.
36
37config SUNRPC_DISABLE_INSECURE_ENCTYPES
38 bool "Secure RPC: Disable insecure Kerberos encryption types"
39 depends on RPCSEC_GSS_KRB5
40 default n
41 help
42 Choose Y here to disable the use of deprecated encryption types
43 with the Kerberos version 5 GSS-API mechanism (RFC 1964). The
44 deprecated encryption types include DES-CBC-MD5, DES-CBC-CRC,
45 and DES-CBC-MD4. These types were deprecated by RFC 6649 because
46 they were found to be insecure.
47
48 N is the default because many sites have deployed KDCs and
49 keytabs that contain only these deprecated encryption types.
50 Choosing Y prevents the use of known-insecure encryption types
51 but might result in compatibility problems.
52
53config SUNRPC_DEBUG
54 bool "RPC: Enable dprintk debugging"
55 depends on SUNRPC && SYSCTL
56 select DEBUG_FS
57 help
58 This option enables a sysctl-based debugging interface
59 that is be used by the 'rpcdebug' utility to turn on or off
60 logging of different aspects of the kernel RPC activity.
61
62 Disabling this option will make your kernel slightly smaller,
63 but makes troubleshooting NFS issues significantly harder.
64
65 If unsure, say Y.
66
67config SUNRPC_XPRT_RDMA
68 tristate "RPC-over-RDMA transport"
69 depends on SUNRPC && INFINIBAND && INFINIBAND_ADDR_TRANS
70 default SUNRPC && INFINIBAND
71 select SG_POOL
72 help
73 This option allows the NFS client and server to use RDMA
74 transports (InfiniBand, iWARP, or RoCE).
75
76 To compile this support as a module, choose M. The module
77 will be called rpcrdma.ko.
78
79 If unsure, or you know there is no RDMA capability on your
80 hardware platform, say N.