1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only 29098c24fSAlexey Dobriyanconfig SUNRPC 39098c24fSAlexey Dobriyan tristate 42813893fSIulia Manda depends on MULTIUSER 59098c24fSAlexey Dobriyan 69098c24fSAlexey Dobriyanconfig SUNRPC_GSS 79098c24fSAlexey Dobriyan tristate 8f783288fSChuck Lever select OID_REGISTRY 92813893fSIulia Manda depends on MULTIUSER 109098c24fSAlexey Dobriyan 119e00abc3STrond Myklebustconfig SUNRPC_BACKCHANNEL 129e00abc3STrond Myklebust bool 139e00abc3STrond Myklebust depends on SUNRPC 149e00abc3STrond Myklebust 15a564b8f0SMel Gormanconfig SUNRPC_SWAP 16a564b8f0SMel Gorman bool 17a564b8f0SMel Gorman depends on SUNRPC 18a564b8f0SMel Gorman 199098c24fSAlexey Dobriyanconfig RPCSEC_GSS_KRB5 20e3b2854fSTrond Myklebust tristate "Secure RPC: Kerberos V mechanism" 21df486a25STrond Myklebust depends on SUNRPC && CRYPTO 22df486a25STrond Myklebust default y 239098c24fSAlexey Dobriyan select SUNRPC_GSS 24dfe9a123SChuck Lever select CRYPTO_SKCIPHER 25dfe9a123SChuck Lever select CRYPTO_HASH 269098c24fSAlexey Dobriyan help 279098c24fSAlexey Dobriyan Choose Y here to enable Secure RPC using the Kerberos version 5 289098c24fSAlexey Dobriyan GSS-API mechanism (RFC 1964). 299098c24fSAlexey Dobriyan 309098c24fSAlexey Dobriyan Secure RPC calls with Kerberos require an auxiliary user-space 319098c24fSAlexey Dobriyan daemon which may be found in the Linux nfs-utils package 329098c24fSAlexey Dobriyan available from http://linux-nfs.org/. In addition, user-space 339098c24fSAlexey Dobriyan Kerberos support should be installed. 349098c24fSAlexey Dobriyan 35df486a25STrond Myklebust If unsure, say Y. 36e27d359eSTrond Myklebust 37dfe9a123SChuck Leverconfig RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA1 38dfe9a123SChuck Lever bool "Enable Kerberos enctypes based on AES and SHA-1" 39dfe9a123SChuck Lever depends on RPCSEC_GSS_KRB5 40dfe9a123SChuck Lever depends on CRYPTO_CBC && CRYPTO_CTS 41dfe9a123SChuck Lever depends on CRYPTO_HMAC && CRYPTO_SHA1 42dfe9a123SChuck Lever depends on CRYPTO_AES 43dfe9a123SChuck Lever default y 44dfe9a123SChuck Lever help 45dfe9a123SChuck Lever Choose Y to enable the use of Kerberos 5 encryption types 46dfe9a123SChuck Lever that utilize Advanced Encryption Standard (AES) ciphers and 47dfe9a123SChuck Lever SHA-1 digests. These include aes128-cts-hmac-sha1-96 and 48dfe9a123SChuck Lever aes256-cts-hmac-sha1-96. 49fe9a2705SChuck Lever 503394682fSChuck Leverconfig RPCSEC_GSS_KRB5_ENCTYPES_CAMELLIA 513394682fSChuck Lever bool "Enable Kerberos encryption types based on Camellia and CMAC" 523394682fSChuck Lever depends on RPCSEC_GSS_KRB5 533394682fSChuck Lever depends on CRYPTO_CBC && CRYPTO_CTS && CRYPTO_CAMELLIA 543394682fSChuck Lever depends on CRYPTO_CMAC 553394682fSChuck Lever default n 563394682fSChuck Lever help 573394682fSChuck Lever Choose Y to enable the use of Kerberos 5 encryption types 583394682fSChuck Lever that utilize Camellia ciphers (RFC 3713) and CMAC digests 593394682fSChuck Lever (NIST Special Publication 800-38B). These include 603394682fSChuck Lever camellia128-cts-cmac and camellia256-cts-cmac. 613394682fSChuck Lever 62a40cf753SChuck Leverconfig RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA2 63a40cf753SChuck Lever bool "Enable Kerberos enctypes based on AES and SHA-2" 64a40cf753SChuck Lever depends on RPCSEC_GSS_KRB5 65a40cf753SChuck Lever depends on CRYPTO_CBC && CRYPTO_CTS 66a40cf753SChuck Lever depends on CRYPTO_HMAC && CRYPTO_SHA256 && CRYPTO_SHA512 67a40cf753SChuck Lever depends on CRYPTO_AES 68a40cf753SChuck Lever default n 69a40cf753SChuck Lever help 70a40cf753SChuck Lever Choose Y to enable the use of Kerberos 5 encryption types 71a40cf753SChuck Lever that utilize Advanced Encryption Standard (AES) ciphers and 72a40cf753SChuck Lever SHA-2 digests. These include aes128-cts-hmac-sha256-128 and 73a40cf753SChuck Lever aes256-cts-hmac-sha384-192. 74a40cf753SChuck Lever 75*eebd8c2dSChuck Leverconfig RPCSEC_GSS_KRB5_KUNIT_TEST 76*eebd8c2dSChuck Lever tristate "KUnit tests for RPCSEC GSS Kerberos" if !KUNIT_ALL_TESTS 77*eebd8c2dSChuck Lever depends on RPCSEC_GSS_KRB5 && KUNIT 78*eebd8c2dSChuck Lever default KUNIT_ALL_TESTS 79*eebd8c2dSChuck Lever help 80*eebd8c2dSChuck Lever This builds the KUnit tests for RPCSEC GSS Kerberos 5. 81*eebd8c2dSChuck Lever 82*eebd8c2dSChuck Lever KUnit tests run during boot and output the results to the debug 83*eebd8c2dSChuck Lever log in TAP format (https://testanything.org/). Only useful for 84*eebd8c2dSChuck Lever kernel devs running KUnit test harness and are not for inclusion 85*eebd8c2dSChuck Lever into a production build. 86*eebd8c2dSChuck Lever 87*eebd8c2dSChuck Lever For more information on KUnit and unit tests in general, refer 88*eebd8c2dSChuck Lever to the KUnit documentation in Documentation/dev-tools/kunit/. 89*eebd8c2dSChuck Lever 90e27d359eSTrond Myklebustconfig SUNRPC_DEBUG 91e27d359eSTrond Myklebust bool "RPC: Enable dprintk debugging" 92e27d359eSTrond Myklebust depends on SUNRPC && SYSCTL 93b4b9d2ccSJeff Layton select DEBUG_FS 94e27d359eSTrond Myklebust help 95e27d359eSTrond Myklebust This option enables a sysctl-based debugging interface 96e27d359eSTrond Myklebust that is be used by the 'rpcdebug' utility to turn on or off 97e27d359eSTrond Myklebust logging of different aspects of the kernel RPC activity. 98e27d359eSTrond Myklebust 99e27d359eSTrond Myklebust Disabling this option will make your kernel slightly smaller, 100e27d359eSTrond Myklebust but makes troubleshooting NFS issues significantly harder. 101e27d359eSTrond Myklebust 102e27d359eSTrond Myklebust If unsure, say Y. 1032e8c12e1SJeff Layton 104ffe1f0dfSChuck Leverconfig SUNRPC_XPRT_RDMA 105ffe1f0dfSChuck Lever tristate "RPC-over-RDMA transport" 106533d1daeSArnd Bergmann depends on SUNRPC && INFINIBAND && INFINIBAND_ADDR_TRANS 1072e8c12e1SJeff Layton default SUNRPC && INFINIBAND 108f13193f5SChuck Lever select SG_POOL 1092e8c12e1SJeff Layton help 110ffe1f0dfSChuck Lever This option allows the NFS client and server to use RDMA 111ffe1f0dfSChuck Lever transports (InfiniBand, iWARP, or RoCE). 1122e8c12e1SJeff Layton 113ffe1f0dfSChuck Lever To compile this support as a module, choose M. The module 114ffe1f0dfSChuck Lever will be called rpcrdma.ko. 1152e8c12e1SJeff Layton 116ffe1f0dfSChuck Lever If unsure, or you know there is no RDMA capability on your 117ffe1f0dfSChuck Lever hardware platform, say N. 118