
config MPTCP
	bool "MPTCP: Multipath TCP"
	depends on INET
	select SKB_EXTENSIONS
	select CRYPTO_LIB_SHA256
	select CRYPTO_LIB_UTILS
	help
	  Multipath TCP (MPTCP) connections send and receive data over multiple
	  subflows in order to utilize multiple network paths. Each subflow
	  uses the TCP protocol, and TCP options carry header information for
	  MPTCP.

if MPTCP

config INET_MPTCP_DIAG
	depends on INET_DIAG
	def_tristate INET_DIAG

config MPTCP_IPV6
	bool "MPTCP: IPv6 support for Multipath TCP"
	depends on IPV6=y
	default y

config MPTCP_KUNIT_TEST
	tristate "This builds the MPTCP KUnit tests" if !KUNIT_ALL_TESTS
	depends on KUNIT
	default KUNIT_ALL_TESTS
	help
	  Currently covers the MPTCP crypto and token helpers.
	  Only useful for kernel devs running KUnit test harness and are not
	  for inclusion into a production build.

	  For more information on KUnit and unit tests in general please refer
	  to the KUnit documentation in Documentation/dev-tools/kunit/.

	  If unsure, say N.

endif
