# SPDX-License-Identifier: GPL-2.0-only
#
# TLS configuration
#
config TLS
	tristate "Transport Layer Security support"
	depends on INET
	select CRYPTO
	select CRYPTO_AES
	select CRYPTO_GCM
	select STREAM_PARSER
	select NET_SOCK_MSG
	default n
	help
	Enable kernel support for TLS protocol. This allows symmetric
	encryption handling of the TLS protocol to be done in-kernel.

	If unsure, say N.

config TLS_DEVICE
	bool "Transport Layer Security HW offload"
	depends on TLS
	select SOCK_VALIDATE_XMIT
	select SOCK_RX_QUEUE_MAPPING
	default n
	help
	Enable kernel support for HW offload of the TLS protocol.

	If unsure, say N.

config TLS_TOE
	bool "Transport Layer Security TCP stack bypass"
	depends on TLS
	default n
	help
	Enable kernel support for legacy HW offload of the TLS protocol,
	which is incompatible with the Linux networking stack semantics.

	If unsure, say N.
