Merge tag 'for-linus-2023100502' of git://git.kernel.org/pub/scm/linux/kernel/git...
[platform/kernel/linux-starfive.git] / net / sctp / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 #
3 # SCTP configuration
4 #
5
6 menuconfig 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
40 if IP_SCTP
41
42 config 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
52 choice
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
59 config 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
65 config 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
71 config 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
76 endchoice
77
78 config 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
85 config 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
92 config INET_SCTP_DIAG
93         depends on INET_DIAG
94         def_tristate INET_DIAG
95
96
97 endif # IP_SCTP