Merge tag 'for-rc-adfs' of git://git.armlinux.org.uk/~rmk/linux-arm
[sfrench/cifs-2.6.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         ---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 handeled by the
35           kernel's dynamic debugging framework.
36
37           If in doubt, say N.
38
39 if IP_SCTP
40
41 config 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
51 choice
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
58 config 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
64 config 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
70 config 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
75 endchoice
76
77 config 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
84 config 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
91 config INET_SCTP_DIAG
92         depends on INET_DIAG
93         def_tristate INET_DIAG
94
95
96 endif # IP_SCTP