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