From dd43bfee8ef291925aff10cc9fe803a27022fb3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= Date: Tue, 12 Mar 2024 14:55:18 +0100 Subject: [PATCH] Fix IPv6 reachability patch not being applied (#3240) Fix regression caused by #3224 which introduced version-specific directory for linux patches, causing the upper-level patch not being applied. Copy the patch to the version folder instead. Also we need to keep it in the upper directory for RPi kernels. (cherry picked from commit 8226323a1b00ed3b96c9c10717de71f75aa5cd01) --- ...to-explicitly-enable-reachability-te.patch | 52 +++++++++++++++++++ ...hanges-causing-issues-with-Z-Wave.m.patch} | 0 2 files changed, 52 insertions(+) create mode 100644 buildroot-external/patches/linux/6.6.20/0001-ipv6-add-option-to-explicitly-enable-reachability-te.patch rename buildroot-external/patches/linux/6.6.20/{0001-Revert-USB-core-changes-causing-issues-with-Z-Wave.m.patch => 0002-Revert-USB-core-changes-causing-issues-with-Z-Wave.m.patch} (100%) diff --git a/buildroot-external/patches/linux/6.6.20/0001-ipv6-add-option-to-explicitly-enable-reachability-te.patch b/buildroot-external/patches/linux/6.6.20/0001-ipv6-add-option-to-explicitly-enable-reachability-te.patch new file mode 100644 index 00000000000..2e82302b3b8 --- /dev/null +++ b/buildroot-external/patches/linux/6.6.20/0001-ipv6-add-option-to-explicitly-enable-reachability-te.patch @@ -0,0 +1,52 @@ +From 76591e4075194cf717dc085b8285912f706bcd46 Mon Sep 17 00:00:00 2001 +From: Stefan Agner +Date: Tue, 28 Mar 2023 12:02:10 +0200 +Subject: [PATCH] ipv6: add option to explicitly enable reachability test + +Systems which act as host as well as router might prefer the host +behavior. Currently the kernel does not allow to use IPv6 forwarding +globally and at the same time use route reachability probing. + +Add a compile time flag to enable route reachability probe in any +case. + +Signed-off-by: Stefan Agner +--- + net/ipv6/Kconfig | 9 +++++++++ + net/ipv6/route.c | 3 ++- + 2 files changed, 11 insertions(+), 1 deletion(-) + +diff --git a/net/ipv6/Kconfig b/net/ipv6/Kconfig +index 08d4b7132d4c..242bf2eeb7ae 100644 +--- a/net/ipv6/Kconfig ++++ b/net/ipv6/Kconfig +@@ -48,6 +48,15 @@ config IPV6_OPTIMISTIC_DAD + + If unsure, say N. + ++config IPV6_REACHABILITY_PROBE ++ bool "IPv6: Always use reachability probing (RFC 4191)" ++ help ++ By default reachability probing is disabled on router devices (when ++ IPv6 forwarding is enabled). This option explicitly enables ++ reachability probing always. ++ ++ If unsure, say N. ++ + config INET6_AH + tristate "IPv6: AH transformation" + select XFRM_AH +diff --git a/net/ipv6/route.c b/net/ipv6/route.c +index 56525b5b95a2..916769b9a772 100644 +--- a/net/ipv6/route.c ++++ b/net/ipv6/route.c +@@ -2211,7 +2211,8 @@ struct rt6_info *ip6_pol_route(struct net *net, struct fib6_table *table, + + strict |= flags & RT6_LOOKUP_F_IFACE; + strict |= flags & RT6_LOOKUP_F_IGNORE_LINKSTATE; +- if (net->ipv6.devconf_all->forwarding == 0) ++ if (net->ipv6.devconf_all->forwarding == 0 || ++ IS_ENABLED(CONFIG_IPV6_REACHABILITY_PROBE)) + strict |= RT6_LOOKUP_F_REACHABLE; + + rcu_read_lock(); diff --git a/buildroot-external/patches/linux/6.6.20/0001-Revert-USB-core-changes-causing-issues-with-Z-Wave.m.patch b/buildroot-external/patches/linux/6.6.20/0002-Revert-USB-core-changes-causing-issues-with-Z-Wave.m.patch similarity index 100% rename from buildroot-external/patches/linux/6.6.20/0001-Revert-USB-core-changes-causing-issues-with-Z-Wave.m.patch rename to buildroot-external/patches/linux/6.6.20/0002-Revert-USB-core-changes-causing-issues-with-Z-Wave.m.patch