162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci#
362306a36Sopenharmony_ci# SCTP configuration
462306a36Sopenharmony_ci#
562306a36Sopenharmony_ci
662306a36Sopenharmony_cimenuconfig IP_SCTP
762306a36Sopenharmony_ci	tristate "The SCTP Protocol"
862306a36Sopenharmony_ci	depends on INET
962306a36Sopenharmony_ci	depends on IPV6 || IPV6=n
1062306a36Sopenharmony_ci	select CRYPTO
1162306a36Sopenharmony_ci	select CRYPTO_HMAC
1262306a36Sopenharmony_ci	select CRYPTO_SHA1
1362306a36Sopenharmony_ci	select LIBCRC32C
1462306a36Sopenharmony_ci	select NET_UDP_TUNNEL
1562306a36Sopenharmony_ci	help
1662306a36Sopenharmony_ci	  Stream Control Transmission Protocol
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci	  From RFC 2960 <http://www.ietf.org/rfc/rfc2960.txt>.
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ci	  "SCTP is a reliable transport protocol operating on top of a
2162306a36Sopenharmony_ci	  connectionless packet network such as IP.  It offers the following
2262306a36Sopenharmony_ci	  services to its users:
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ci	  -- acknowledged error-free non-duplicated transfer of user data,
2562306a36Sopenharmony_ci	  -- data fragmentation to conform to discovered path MTU size,
2662306a36Sopenharmony_ci	  -- sequenced delivery of user messages within multiple streams,
2762306a36Sopenharmony_ci	  with an option for order-of-arrival delivery of individual user
2862306a36Sopenharmony_ci	  messages,
2962306a36Sopenharmony_ci	  -- optional bundling of multiple user messages into a single SCTP
3062306a36Sopenharmony_ci	  packet, and
3162306a36Sopenharmony_ci	  -- network-level fault tolerance through supporting of multi-
3262306a36Sopenharmony_ci	  homing at either or both ends of an association."
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ci	  To compile this protocol support as a module, choose M here: the
3562306a36Sopenharmony_ci	  module will be called sctp. Debug messages are handled by the
3662306a36Sopenharmony_ci	  kernel's dynamic debugging framework.
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci	  If in doubt, say N.
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ciif IP_SCTP
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ciconfig SCTP_DBG_OBJCNT
4362306a36Sopenharmony_ci	bool "SCTP: Debug object counts"
4462306a36Sopenharmony_ci	depends on PROC_FS
4562306a36Sopenharmony_ci	help
4662306a36Sopenharmony_ci	  If you say Y, this will enable debugging support for counting the
4762306a36Sopenharmony_ci	  type of objects that are currently allocated.  This is useful for
4862306a36Sopenharmony_ci	  identifying memory leaks. This debug information can be viewed by
4962306a36Sopenharmony_ci	  'cat /proc/net/sctp/sctp_dbg_objcnt'
5062306a36Sopenharmony_ci
5162306a36Sopenharmony_ci	  If unsure, say N
5262306a36Sopenharmony_cichoice
5362306a36Sopenharmony_ci	prompt "Default SCTP cookie HMAC encoding"
5462306a36Sopenharmony_ci	default SCTP_DEFAULT_COOKIE_HMAC_MD5
5562306a36Sopenharmony_ci	help
5662306a36Sopenharmony_ci	  This option sets the default sctp cookie hmac algorithm
5762306a36Sopenharmony_ci	  when in doubt select 'md5'
5862306a36Sopenharmony_ci
5962306a36Sopenharmony_ciconfig SCTP_DEFAULT_COOKIE_HMAC_MD5
6062306a36Sopenharmony_ci	bool "Enable optional MD5 hmac cookie generation"
6162306a36Sopenharmony_ci	help
6262306a36Sopenharmony_ci	  Enable optional MD5 hmac based SCTP cookie generation
6362306a36Sopenharmony_ci	select SCTP_COOKIE_HMAC_MD5
6462306a36Sopenharmony_ci
6562306a36Sopenharmony_ciconfig SCTP_DEFAULT_COOKIE_HMAC_SHA1
6662306a36Sopenharmony_ci	bool "Enable optional SHA1 hmac cookie generation"
6762306a36Sopenharmony_ci	help
6862306a36Sopenharmony_ci	  Enable optional SHA1 hmac based SCTP cookie generation
6962306a36Sopenharmony_ci	select SCTP_COOKIE_HMAC_SHA1
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_ciconfig SCTP_DEFAULT_COOKIE_HMAC_NONE
7262306a36Sopenharmony_ci	bool "Use no hmac alg in SCTP cookie generation"
7362306a36Sopenharmony_ci	help
7462306a36Sopenharmony_ci	  Use no hmac algorithm in SCTP cookie generation
7562306a36Sopenharmony_ci
7662306a36Sopenharmony_ciendchoice
7762306a36Sopenharmony_ci
7862306a36Sopenharmony_ciconfig SCTP_COOKIE_HMAC_MD5
7962306a36Sopenharmony_ci	bool "Enable optional MD5 hmac cookie generation"
8062306a36Sopenharmony_ci	help
8162306a36Sopenharmony_ci	  Enable optional MD5 hmac based SCTP cookie generation
8262306a36Sopenharmony_ci	select CRYPTO_HMAC if SCTP_COOKIE_HMAC_MD5
8362306a36Sopenharmony_ci	select CRYPTO_MD5 if SCTP_COOKIE_HMAC_MD5
8462306a36Sopenharmony_ci
8562306a36Sopenharmony_ciconfig SCTP_COOKIE_HMAC_SHA1
8662306a36Sopenharmony_ci	bool "Enable optional SHA1 hmac cookie generation"
8762306a36Sopenharmony_ci	help
8862306a36Sopenharmony_ci	  Enable optional SHA1 hmac based SCTP cookie generation
8962306a36Sopenharmony_ci	select CRYPTO_HMAC if SCTP_COOKIE_HMAC_SHA1
9062306a36Sopenharmony_ci	select CRYPTO_SHA1 if SCTP_COOKIE_HMAC_SHA1
9162306a36Sopenharmony_ci
9262306a36Sopenharmony_ciconfig INET_SCTP_DIAG
9362306a36Sopenharmony_ci	depends on INET_DIAG
9462306a36Sopenharmony_ci	def_tristate INET_DIAG
9562306a36Sopenharmony_ci
9662306a36Sopenharmony_ci
9762306a36Sopenharmony_ciendif # IP_SCTP
98