config SMB_SERVER
	tristate "SMB3 server support (EXPERIMENTAL)"
	depends on INET
	depends on MULTIUSER
	depends on FILE_LOCKING
	select NLS
	select NLS_UTF8
	select CRYPTO
	select CRYPTO_MD5
	select CRYPTO_HMAC
	select CRYPTO_ECB
	select CRYPTO_LIB_DES
	select CRYPTO_SHA256
	select CRYPTO_CMAC
	select CRYPTO_SHA512
	select CRYPTO_AEAD2
	select CRYPTO_CCM
	select CRYPTO_GCM
	select ASN1
	select OID_REGISTRY
	select CRC32
	default n
	help
	  Choose Y here if you want to allow SMB3 compliant clients
	  to access files residing on this system using SMB3 protocol.
	  To compile the SMB3 server support as a module,
	  choose M here: the module will be called ksmbd.

	  You may choose to use a samba server instead, in which
	  case you can choose N here.

	  You also need to install user space programs which can be found
	  in ksmbd-tools, available from
	  https://github.com/cifsd-team/ksmbd-tools.
	  More detail about how to run the ksmbd kernel server is
	  available via README file
	  (https://github.com/cifsd-team/ksmbd-tools/blob/master/README).

	  ksmbd kernel server includes support for auto-negotiation,
	  Secure negotiate, Pre-authentication integrity, oplock/lease,
	  compound requests, multi-credit, packet signing, RDMA(smbdirect),
	  smb3 encryption, copy-offload, secure per-user session
	  establishment via NTLM or NTLMv2.

config SMB_SERVER_SMBDIRECT
	bool "Support for SMB Direct protocol"
	depends on SMB_SERVER=m && INFINIBAND && INFINIBAND_ADDR_TRANS || SMB_SERVER=y && INFINIBAND=y && INFINIBAND_ADDR_TRANS=y
	select SG_POOL
	default n

	help
	  Enables SMB Direct support for SMB 3.0, 3.02 and 3.1.1.

	  SMB Direct allows transferring SMB packets over RDMA. If unsure,
	  say N.

config SMB_SERVER_CHECK_CAP_NET_ADMIN
	bool "Enable check network administration capability"
	depends on SMB_SERVER
	default y

	help
	  Prevent unprivileged processes to start the ksmbd kernel server.

config SMB_SERVER_KERBEROS5
	bool "Support for Kerberos 5"
	depends on SMB_SERVER
	default n
