0ed37ac586
Like TCP, MPTCP cannot be compiled as a module. Obviously, MPTCP IPv6'
support also depends on CONFIG_IPV6. But not all functions from IPv6
code are exported.
To simplify the code and reduce modifications outside MPTCP, it was
decided from the beginning to support MPTCP with IPv6 only if
CONFIG_IPV6 was built inlined. That's also why CONFIG_MPTCP_IPV6 was
created. More modifications are needed to support CONFIG_IPV6=m.
Even if it was not explicit, until recently, we were forcing CONFIG_IPV6
to be built-in because we had "select IPV6" in Kconfig. Now that we have
"depends on IPV6", we have to explicitly set "IPV6=y" to force
CONFIG_IPV6 not to be built as a module.
In other words, we can now only have CONFIG_MPTCP_IPV6=y if
CONFIG_IPV6=y.
Note that the new dependency might hide the fact IPv6 is not supported
in MPTCP even if we have CONFIG_IPV6=m. But selecting IPV6 like we did
before was forcing it to be built-in while it was maybe not what the
user wants.
Reported-by: Geert Uytterhoeven <geert@linux-m68k.org>
Fixes: 010b430d5d
("mptcp: MPTCP_IPV6 should depend on IPV6 instead of selecting it")
Signed-off-by: Matthieu Baerts <matthieu.baerts@tessares.net>
Link: https://lore.kernel.org/r/20201021105154.628257-1-matthieu.baerts@tessares.net
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
40 lines
1004 B
Plaintext
40 lines
1004 B
Plaintext
|
|
config MPTCP
|
|
bool "MPTCP: Multipath TCP"
|
|
depends on INET
|
|
select SKB_EXTENSIONS
|
|
select CRYPTO_LIB_SHA256
|
|
select CRYPTO
|
|
help
|
|
Multipath TCP (MPTCP) connections send and receive data over multiple
|
|
subflows in order to utilize multiple network paths. Each subflow
|
|
uses the TCP protocol, and TCP options carry header information for
|
|
MPTCP.
|
|
|
|
if MPTCP
|
|
|
|
config INET_MPTCP_DIAG
|
|
depends on INET_DIAG
|
|
def_tristate INET_DIAG
|
|
|
|
config MPTCP_IPV6
|
|
bool "MPTCP: IPv6 support for Multipath TCP"
|
|
depends on IPV6=y
|
|
default y
|
|
|
|
config MPTCP_KUNIT_TESTS
|
|
tristate "This builds the MPTCP KUnit tests" if !KUNIT_ALL_TESTS
|
|
depends on KUNIT
|
|
default KUNIT_ALL_TESTS
|
|
help
|
|
Currently covers the MPTCP crypto and token helpers.
|
|
Only useful for kernel devs running KUnit test harness and are not
|
|
for inclusion into a production build.
|
|
|
|
For more information on KUnit and unit tests in general please refer
|
|
to the KUnit documentation in Documentation/dev-tools/kunit/.
|
|
|
|
If unsure, say N.
|
|
|
|
endif
|