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