1# SPDX-License-Identifier: GPL-2.0-only
2#
3# SCTP configuration
4#
5
6menuconfig IP_SCTP
7	tristate "The SCTP Protocol"
8	depends on INET
9	depends on IPV6 || IPV6=n
10	select CRYPTO
11	select CRYPTO_HMAC
12	select CRYPTO_SHA1
13	select LIBCRC32C
14	select NET_UDP_TUNNEL
15	help
16	  Stream Control Transmission Protocol
17
18	  From RFC 2960 <http://www.ietf.org/rfc/rfc2960.txt>.
19
20	  "SCTP is a reliable transport protocol operating on top of a
21	  connectionless packet network such as IP.  It offers the following
22	  services to its users:
23
24	  -- acknowledged error-free non-duplicated transfer of user data,
25	  -- data fragmentation to conform to discovered path MTU size,
26	  -- sequenced delivery of user messages within multiple streams,
27	  with an option for order-of-arrival delivery of individual user
28	  messages,
29	  -- optional bundling of multiple user messages into a single SCTP
30	  packet, and
31	  -- network-level fault tolerance through supporting of multi-
32	  homing at either or both ends of an association."
33
34	  To compile this protocol support as a module, choose M here: the
35	  module will be called sctp. Debug messages are handled by the
36	  kernel's dynamic debugging framework.
37
38	  If in doubt, say N.
39
40if IP_SCTP
41
42config SCTP_DBG_OBJCNT
43	bool "SCTP: Debug object counts"
44	depends on PROC_FS
45	help
46	  If you say Y, this will enable debugging support for counting the
47	  type of objects that are currently allocated.  This is useful for
48	  identifying memory leaks. This debug information can be viewed by
49	  'cat /proc/net/sctp/sctp_dbg_objcnt'
50
51	  If unsure, say N
52choice
53	prompt "Default SCTP cookie HMAC encoding"
54	default SCTP_DEFAULT_COOKIE_HMAC_MD5
55	help
56	  This option sets the default sctp cookie hmac algorithm
57	  when in doubt select 'md5'
58
59config SCTP_DEFAULT_COOKIE_HMAC_MD5
60	bool "Enable optional MD5 hmac cookie generation"
61	help
62	  Enable optional MD5 hmac based SCTP cookie generation
63	select SCTP_COOKIE_HMAC_MD5
64
65config SCTP_DEFAULT_COOKIE_HMAC_SHA1
66	bool "Enable optional SHA1 hmac cookie generation"
67	help
68	  Enable optional SHA1 hmac based SCTP cookie generation
69	select SCTP_COOKIE_HMAC_SHA1
70
71config SCTP_DEFAULT_COOKIE_HMAC_NONE
72	bool "Use no hmac alg in SCTP cookie generation"
73	help
74	  Use no hmac algorithm in SCTP cookie generation
75
76endchoice
77
78config SCTP_COOKIE_HMAC_MD5
79	bool "Enable optional MD5 hmac cookie generation"
80	help
81	  Enable optional MD5 hmac based SCTP cookie generation
82	select CRYPTO_HMAC if SCTP_COOKIE_HMAC_MD5
83	select CRYPTO_MD5 if SCTP_COOKIE_HMAC_MD5
84
85config SCTP_COOKIE_HMAC_SHA1
86	bool "Enable optional SHA1 hmac cookie generation"
87	help
88	  Enable optional SHA1 hmac based SCTP cookie generation
89	select CRYPTO_HMAC if SCTP_COOKIE_HMAC_SHA1
90	select CRYPTO_SHA1 if SCTP_COOKIE_HMAC_SHA1
91
92config INET_SCTP_DIAG
93	depends on INET_DIAG
94	def_tristate INET_DIAG
95
96
97endif # IP_SCTP
98