162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_ciconfig SUNRPC 362306a36Sopenharmony_ci tristate 462306a36Sopenharmony_ci depends on MULTIUSER 562306a36Sopenharmony_ci 662306a36Sopenharmony_ciconfig SUNRPC_GSS 762306a36Sopenharmony_ci tristate 862306a36Sopenharmony_ci select OID_REGISTRY 962306a36Sopenharmony_ci depends on MULTIUSER 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ciconfig SUNRPC_BACKCHANNEL 1262306a36Sopenharmony_ci bool 1362306a36Sopenharmony_ci depends on SUNRPC 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ciconfig SUNRPC_SWAP 1662306a36Sopenharmony_ci bool 1762306a36Sopenharmony_ci depends on SUNRPC 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ciconfig RPCSEC_GSS_KRB5 2062306a36Sopenharmony_ci tristate "Secure RPC: Kerberos V mechanism" 2162306a36Sopenharmony_ci depends on SUNRPC && CRYPTO 2262306a36Sopenharmony_ci default y 2362306a36Sopenharmony_ci select SUNRPC_GSS 2462306a36Sopenharmony_ci select CRYPTO_SKCIPHER 2562306a36Sopenharmony_ci select CRYPTO_HASH 2662306a36Sopenharmony_ci help 2762306a36Sopenharmony_ci Choose Y here to enable Secure RPC using the Kerberos version 5 2862306a36Sopenharmony_ci GSS-API mechanism (RFC 1964). 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ci Secure RPC calls with Kerberos require an auxiliary user-space 3162306a36Sopenharmony_ci daemon which may be found in the Linux nfs-utils package 3262306a36Sopenharmony_ci available from http://linux-nfs.org/. In addition, user-space 3362306a36Sopenharmony_ci Kerberos support should be installed. 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ci If unsure, say Y. 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_ciconfig RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA1 3862306a36Sopenharmony_ci bool "Enable Kerberos enctypes based on AES and SHA-1" 3962306a36Sopenharmony_ci depends on RPCSEC_GSS_KRB5 4062306a36Sopenharmony_ci depends on CRYPTO_CBC && CRYPTO_CTS 4162306a36Sopenharmony_ci depends on CRYPTO_HMAC && CRYPTO_SHA1 4262306a36Sopenharmony_ci depends on CRYPTO_AES 4362306a36Sopenharmony_ci default y 4462306a36Sopenharmony_ci help 4562306a36Sopenharmony_ci Choose Y to enable the use of Kerberos 5 encryption types 4662306a36Sopenharmony_ci that utilize Advanced Encryption Standard (AES) ciphers and 4762306a36Sopenharmony_ci SHA-1 digests. These include aes128-cts-hmac-sha1-96 and 4862306a36Sopenharmony_ci aes256-cts-hmac-sha1-96. 4962306a36Sopenharmony_ci 5062306a36Sopenharmony_ciconfig RPCSEC_GSS_KRB5_ENCTYPES_CAMELLIA 5162306a36Sopenharmony_ci bool "Enable Kerberos encryption types based on Camellia and CMAC" 5262306a36Sopenharmony_ci depends on RPCSEC_GSS_KRB5 5362306a36Sopenharmony_ci depends on CRYPTO_CBC && CRYPTO_CTS && CRYPTO_CAMELLIA 5462306a36Sopenharmony_ci depends on CRYPTO_CMAC 5562306a36Sopenharmony_ci default n 5662306a36Sopenharmony_ci help 5762306a36Sopenharmony_ci Choose Y to enable the use of Kerberos 5 encryption types 5862306a36Sopenharmony_ci that utilize Camellia ciphers (RFC 3713) and CMAC digests 5962306a36Sopenharmony_ci (NIST Special Publication 800-38B). These include 6062306a36Sopenharmony_ci camellia128-cts-cmac and camellia256-cts-cmac. 6162306a36Sopenharmony_ci 6262306a36Sopenharmony_ciconfig RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA2 6362306a36Sopenharmony_ci bool "Enable Kerberos enctypes based on AES and SHA-2" 6462306a36Sopenharmony_ci depends on RPCSEC_GSS_KRB5 6562306a36Sopenharmony_ci depends on CRYPTO_CBC && CRYPTO_CTS 6662306a36Sopenharmony_ci depends on CRYPTO_HMAC && CRYPTO_SHA256 && CRYPTO_SHA512 6762306a36Sopenharmony_ci depends on CRYPTO_AES 6862306a36Sopenharmony_ci default n 6962306a36Sopenharmony_ci help 7062306a36Sopenharmony_ci Choose Y to enable the use of Kerberos 5 encryption types 7162306a36Sopenharmony_ci that utilize Advanced Encryption Standard (AES) ciphers and 7262306a36Sopenharmony_ci SHA-2 digests. These include aes128-cts-hmac-sha256-128 and 7362306a36Sopenharmony_ci aes256-cts-hmac-sha384-192. 7462306a36Sopenharmony_ci 7562306a36Sopenharmony_ciconfig RPCSEC_GSS_KRB5_KUNIT_TEST 7662306a36Sopenharmony_ci tristate "KUnit tests for RPCSEC GSS Kerberos" if !KUNIT_ALL_TESTS 7762306a36Sopenharmony_ci depends on RPCSEC_GSS_KRB5 && KUNIT 7862306a36Sopenharmony_ci default KUNIT_ALL_TESTS 7962306a36Sopenharmony_ci help 8062306a36Sopenharmony_ci This builds the KUnit tests for RPCSEC GSS Kerberos 5. 8162306a36Sopenharmony_ci 8262306a36Sopenharmony_ci KUnit tests run during boot and output the results to the debug 8362306a36Sopenharmony_ci log in TAP format (https://testanything.org/). Only useful for 8462306a36Sopenharmony_ci kernel devs running KUnit test harness and are not for inclusion 8562306a36Sopenharmony_ci into a production build. 8662306a36Sopenharmony_ci 8762306a36Sopenharmony_ci For more information on KUnit and unit tests in general, refer 8862306a36Sopenharmony_ci to the KUnit documentation in Documentation/dev-tools/kunit/. 8962306a36Sopenharmony_ci 9062306a36Sopenharmony_ciconfig SUNRPC_DEBUG 9162306a36Sopenharmony_ci bool "RPC: Enable dprintk debugging" 9262306a36Sopenharmony_ci depends on SUNRPC && SYSCTL 9362306a36Sopenharmony_ci select DEBUG_FS 9462306a36Sopenharmony_ci help 9562306a36Sopenharmony_ci This option enables a sysctl-based debugging interface 9662306a36Sopenharmony_ci that is be used by the 'rpcdebug' utility to turn on or off 9762306a36Sopenharmony_ci logging of different aspects of the kernel RPC activity. 9862306a36Sopenharmony_ci 9962306a36Sopenharmony_ci Disabling this option will make your kernel slightly smaller, 10062306a36Sopenharmony_ci but makes troubleshooting NFS issues significantly harder. 10162306a36Sopenharmony_ci 10262306a36Sopenharmony_ci If unsure, say Y. 10362306a36Sopenharmony_ci 10462306a36Sopenharmony_ciconfig SUNRPC_XPRT_RDMA 10562306a36Sopenharmony_ci tristate "RPC-over-RDMA transport" 10662306a36Sopenharmony_ci depends on SUNRPC && INFINIBAND && INFINIBAND_ADDR_TRANS 10762306a36Sopenharmony_ci default SUNRPC && INFINIBAND 10862306a36Sopenharmony_ci select SG_POOL 10962306a36Sopenharmony_ci help 11062306a36Sopenharmony_ci This option allows the NFS client and server to use RDMA 11162306a36Sopenharmony_ci transports (InfiniBand, iWARP, or RoCE). 11262306a36Sopenharmony_ci 11362306a36Sopenharmony_ci To compile this support as a module, choose M. The module 11462306a36Sopenharmony_ci will be called rpcrdma.ko. 11562306a36Sopenharmony_ci 11662306a36Sopenharmony_ci If unsure, or you know there is no RDMA capability on your 11762306a36Sopenharmony_ci hardware platform, say N. 118