It's needed for RFC6724 rule 5.5, which as it turns out is more
important than was initially discernible.
Signed-off-by: David 'equinox' Lamparter <redacted>
---
net/ipv6/Kconfig | 18 ++++++++++++++----
1 file changed, 14 insertions(+), 4 deletions(-)
diff --git a/net/ipv6/Kconfig b/net/ipv6/Kconfig
index c3806c6ac96f..39659e9b53a3 100644
--- a/net/ipv6/Kconfig
+++ b/net/ipv6/Kconfig
@@ -243,16 +243,26 @@ config IPV6_MULTIPLE_TABLES
config IPV6_SUBTREES
bool "IPv6: source address based routing"
depends on IPV6_MULTIPLE_TABLES
+ default y
help
Enable routing by source address or prefix.
The destination address is still the primary routing key, so mixing
normal and source prefix specific routes in the same routing table
- may sometimes lead to unintended routing behavior. This can be
- avoided by defining different routing tables for the normal and
- source prefix specific routes.
+ may sometimes lead to unintended routing behavior if the order of
+ lookups is misunderstood. To achieve full separation based on source
+ address, different routing tables should be defined for each source
+ prefix.
- If unsure, say N.
+ Subtrees specifically address scenarios where local connectivity
+ between source prefixes is shared and unrestricted, but some
+ destinations (e.g. the default route) have more fine-grained rules.
+
+ This feature is required to correctly support RFC6724 rule 5.5 in
+ source address selection. Rule 5.5 is a necessity for good
+ multihoming, renumbering and source prefix liveliness checks.
+
+ If unsure, say Y.
config IPV6_MROUTE
bool "IPv6: multicast routing"
--
2.53.0