+++ /dev/null
-From 537771d4fa2b6a7ef1d0bb6bd9adaeb256dacb0f Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Sat, 7 Nov 2020 20:35:13 +0100
-Subject: net: evaluate net.ipvX.conf.all.ignore_routes_with_linkdown
-
-From: Vincent Bernat <vincent@bernat.ch>
-
-[ Upstream commit c0c5a60f0f1311bcf08bbe735122096d6326fb5b ]
-
-Introduced in 0eeb075fad73, the "ignore_routes_with_linkdown" sysctl
-ignores a route whose interface is down. It is provided as a
-per-interface sysctl. However, while a "all" variant is exposed, it
-was a noop since it was never evaluated. We use the usual "or" logic
-for this kind of sysctls.
-
-Tested with:
-
- ip link add type veth # veth0 + veth1
- ip link add type veth # veth1 + veth2
- ip link set up dev veth0
- ip link set up dev veth1 # link-status paired with veth0
- ip link set up dev veth2
- ip link set up dev veth3 # link-status paired with veth2
-
- # First available path
- ip -4 addr add 203.0.113.${uts#H}/24 dev veth0
- ip -6 addr add 2001:db8:1::${uts#H}/64 dev veth0
-
- # Second available path
- ip -4 addr add 192.0.2.${uts#H}/24 dev veth2
- ip -6 addr add 2001:db8:2::${uts#H}/64 dev veth2
-
- # More specific route through first path
- ip -4 route add 198.51.100.0/25 via 203.0.113.254 # via veth0
- ip -6 route add 2001:db8:3::/56 via 2001:db8:1::ff # via veth0
-
- # Less specific route through second path
- ip -4 route add 198.51.100.0/24 via 192.0.2.254 # via veth2
- ip -6 route add 2001:db8:3::/48 via 2001:db8:2::ff # via veth2
-
- # H1: enable on "all"
- # H2: enable on "veth0"
- for v in ipv4 ipv6; do
- case $uts in
- H1)
- sysctl -qw net.${v}.conf.all.ignore_routes_with_linkdown=1
- ;;
- H2)
- sysctl -qw net.${v}.conf.veth0.ignore_routes_with_linkdown=1
- ;;
- esac
- done
-
- set -xe
- # When veth0 is up, best route is through veth0
- ip -o route get 198.51.100.1 | grep -Fw veth0
- ip -o route get 2001:db8:3::1 | grep -Fw veth0
-
- # When veth0 is down, best route should be through veth2 on H1/H2,
- # but on veth0 on H2
- ip link set down dev veth1 # down veth0
- ip route show
- [ $uts != H3 ] || ip -o route get 198.51.100.1 | grep -Fw veth0
- [ $uts != H3 ] || ip -o route get 2001:db8:3::1 | grep -Fw veth0
- [ $uts = H3 ] || ip -o route get 198.51.100.1 | grep -Fw veth2
- [ $uts = H3 ] || ip -o route get 2001:db8:3::1 | grep -Fw veth2
-
-Without this patch, the two last lines would fail on H1 (the one using
-the "all" sysctl). With the patch, everything succeeds as expected.
-
-Also document the sysctl in `ip-sysctl.rst`.
-
-Fixes: 0eeb075fad73 ("net: ipv4 sysctl option to ignore routes when nexthop link is down")
-Signed-off-by: Vincent Bernat <vincent@bernat.ch>
-Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- Documentation/networking/ip-sysctl.txt | 3 +++
- include/linux/inetdevice.h | 2 +-
- 2 files changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/Documentation/networking/ip-sysctl.txt b/Documentation/networking/ip-sysctl.txt
-index 5f1e3dc567f1d..fe0e46418f6db 100644
---- a/Documentation/networking/ip-sysctl.txt
-+++ b/Documentation/networking/ip-sysctl.txt
-@@ -1271,6 +1271,9 @@ igmpv3_unsolicited_report_interval - INTEGER
- IGMPv3 report retransmit will take place.
- Default: 1000 (1 seconds)
-
-+ignore_routes_with_linkdown - BOOLEAN
-+ Ignore routes whose link is down when performing a FIB lookup.
-+
- promote_secondaries - BOOLEAN
- When a primary IP address is removed from this interface
- promote a corresponding secondary IP address instead of
-diff --git a/include/linux/inetdevice.h b/include/linux/inetdevice.h
-index 5058f061cb2bd..ff876bf66cf25 100644
---- a/include/linux/inetdevice.h
-+++ b/include/linux/inetdevice.h
-@@ -123,7 +123,7 @@ static inline void ipv4_devconf_setall(struct in_device *in_dev)
- IN_DEV_ORCONF((in_dev), ACCEPT_REDIRECTS)))
-
- #define IN_DEV_IGNORE_ROUTES_WITH_LINKDOWN(in_dev) \
-- IN_DEV_CONF_GET((in_dev), IGNORE_ROUTES_WITH_LINKDOWN)
-+ IN_DEV_ORCONF((in_dev), IGNORE_ROUTES_WITH_LINKDOWN)
-
- #define IN_DEV_ARPFILTER(in_dev) IN_DEV_ORCONF((in_dev), ARPFILTER)
- #define IN_DEV_ARP_ACCEPT(in_dev) IN_DEV_ORCONF((in_dev), ARP_ACCEPT)
---
-2.27.0
-
spi-tegra114-fix-reference-leak-in-tegra-spi-ops.patch
mwifiex-fix-mwifiex_shutdown_sw-causing-sw-reset-fai.patch
asoc-wm8998-fix-pm-disable-depth-imbalance-on-error.patch
-net-evaluate-net.ipvx.conf.all.ignore_routes_with_li.patch
asoc-arizona-fix-a-wrong-free-in-wm8997_probe.patch
rdma-mthca-work-around-wenum-conversion-warning.patch
mips-bcm47xx-fix-kconfig-dependency-bug-for-bcm47xx_.patch
+++ /dev/null
-From 55ac848bc1229c37dfcc45115e2bd14b51a510ba Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Sat, 7 Nov 2020 20:35:13 +0100
-Subject: net: evaluate net.ipvX.conf.all.ignore_routes_with_linkdown
-
-From: Vincent Bernat <vincent@bernat.ch>
-
-[ Upstream commit c0c5a60f0f1311bcf08bbe735122096d6326fb5b ]
-
-Introduced in 0eeb075fad73, the "ignore_routes_with_linkdown" sysctl
-ignores a route whose interface is down. It is provided as a
-per-interface sysctl. However, while a "all" variant is exposed, it
-was a noop since it was never evaluated. We use the usual "or" logic
-for this kind of sysctls.
-
-Tested with:
-
- ip link add type veth # veth0 + veth1
- ip link add type veth # veth1 + veth2
- ip link set up dev veth0
- ip link set up dev veth1 # link-status paired with veth0
- ip link set up dev veth2
- ip link set up dev veth3 # link-status paired with veth2
-
- # First available path
- ip -4 addr add 203.0.113.${uts#H}/24 dev veth0
- ip -6 addr add 2001:db8:1::${uts#H}/64 dev veth0
-
- # Second available path
- ip -4 addr add 192.0.2.${uts#H}/24 dev veth2
- ip -6 addr add 2001:db8:2::${uts#H}/64 dev veth2
-
- # More specific route through first path
- ip -4 route add 198.51.100.0/25 via 203.0.113.254 # via veth0
- ip -6 route add 2001:db8:3::/56 via 2001:db8:1::ff # via veth0
-
- # Less specific route through second path
- ip -4 route add 198.51.100.0/24 via 192.0.2.254 # via veth2
- ip -6 route add 2001:db8:3::/48 via 2001:db8:2::ff # via veth2
-
- # H1: enable on "all"
- # H2: enable on "veth0"
- for v in ipv4 ipv6; do
- case $uts in
- H1)
- sysctl -qw net.${v}.conf.all.ignore_routes_with_linkdown=1
- ;;
- H2)
- sysctl -qw net.${v}.conf.veth0.ignore_routes_with_linkdown=1
- ;;
- esac
- done
-
- set -xe
- # When veth0 is up, best route is through veth0
- ip -o route get 198.51.100.1 | grep -Fw veth0
- ip -o route get 2001:db8:3::1 | grep -Fw veth0
-
- # When veth0 is down, best route should be through veth2 on H1/H2,
- # but on veth0 on H2
- ip link set down dev veth1 # down veth0
- ip route show
- [ $uts != H3 ] || ip -o route get 198.51.100.1 | grep -Fw veth0
- [ $uts != H3 ] || ip -o route get 2001:db8:3::1 | grep -Fw veth0
- [ $uts = H3 ] || ip -o route get 198.51.100.1 | grep -Fw veth2
- [ $uts = H3 ] || ip -o route get 2001:db8:3::1 | grep -Fw veth2
-
-Without this patch, the two last lines would fail on H1 (the one using
-the "all" sysctl). With the patch, everything succeeds as expected.
-
-Also document the sysctl in `ip-sysctl.rst`.
-
-Fixes: 0eeb075fad73 ("net: ipv4 sysctl option to ignore routes when nexthop link is down")
-Signed-off-by: Vincent Bernat <vincent@bernat.ch>
-Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- Documentation/networking/ip-sysctl.txt | 3 +++
- include/linux/inetdevice.h | 2 +-
- 2 files changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/Documentation/networking/ip-sysctl.txt b/Documentation/networking/ip-sysctl.txt
-index 3c617d620b6f8..94d42eb83588b 100644
---- a/Documentation/networking/ip-sysctl.txt
-+++ b/Documentation/networking/ip-sysctl.txt
-@@ -1300,6 +1300,9 @@ igmpv3_unsolicited_report_interval - INTEGER
- IGMPv3 report retransmit will take place.
- Default: 1000 (1 seconds)
-
-+ignore_routes_with_linkdown - BOOLEAN
-+ Ignore routes whose link is down when performing a FIB lookup.
-+
- promote_secondaries - BOOLEAN
- When a primary IP address is removed from this interface
- promote a corresponding secondary IP address instead of
-diff --git a/include/linux/inetdevice.h b/include/linux/inetdevice.h
-index a64f21a97369a..11adf828edf58 100644
---- a/include/linux/inetdevice.h
-+++ b/include/linux/inetdevice.h
-@@ -126,7 +126,7 @@ static inline void ipv4_devconf_setall(struct in_device *in_dev)
- IN_DEV_ORCONF((in_dev), ACCEPT_REDIRECTS)))
-
- #define IN_DEV_IGNORE_ROUTES_WITH_LINKDOWN(in_dev) \
-- IN_DEV_CONF_GET((in_dev), IGNORE_ROUTES_WITH_LINKDOWN)
-+ IN_DEV_ORCONF((in_dev), IGNORE_ROUTES_WITH_LINKDOWN)
-
- #define IN_DEV_ARPFILTER(in_dev) IN_DEV_ORCONF((in_dev), ARPFILTER)
- #define IN_DEV_ARP_ACCEPT(in_dev) IN_DEV_ORCONF((in_dev), ARP_ACCEPT)
---
-2.27.0
-
spi-bcm63xx-hsspi-fix-missing-clk_disable_unprepare-.patch
mwifiex-fix-mwifiex_shutdown_sw-causing-sw-reset-fai.patch
asoc-wm8998-fix-pm-disable-depth-imbalance-on-error.patch
-net-evaluate-net.ipvx.conf.all.ignore_routes_with_li.patch
asoc-arizona-fix-a-wrong-free-in-wm8997_probe.patch
rdma-mthca-work-around-wenum-conversion-warning.patch
mips-bcm47xx-fix-kconfig-dependency-bug-for-bcm47xx_.patch
+++ /dev/null
-From 459cd0600436d7ea55378951c63f4eacac570c35 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Sat, 7 Nov 2020 20:35:13 +0100
-Subject: net: evaluate net.ipvX.conf.all.ignore_routes_with_linkdown
-
-From: Vincent Bernat <vincent@bernat.ch>
-
-[ Upstream commit c0c5a60f0f1311bcf08bbe735122096d6326fb5b ]
-
-Introduced in 0eeb075fad73, the "ignore_routes_with_linkdown" sysctl
-ignores a route whose interface is down. It is provided as a
-per-interface sysctl. However, while a "all" variant is exposed, it
-was a noop since it was never evaluated. We use the usual "or" logic
-for this kind of sysctls.
-
-Tested with:
-
- ip link add type veth # veth0 + veth1
- ip link add type veth # veth1 + veth2
- ip link set up dev veth0
- ip link set up dev veth1 # link-status paired with veth0
- ip link set up dev veth2
- ip link set up dev veth3 # link-status paired with veth2
-
- # First available path
- ip -4 addr add 203.0.113.${uts#H}/24 dev veth0
- ip -6 addr add 2001:db8:1::${uts#H}/64 dev veth0
-
- # Second available path
- ip -4 addr add 192.0.2.${uts#H}/24 dev veth2
- ip -6 addr add 2001:db8:2::${uts#H}/64 dev veth2
-
- # More specific route through first path
- ip -4 route add 198.51.100.0/25 via 203.0.113.254 # via veth0
- ip -6 route add 2001:db8:3::/56 via 2001:db8:1::ff # via veth0
-
- # Less specific route through second path
- ip -4 route add 198.51.100.0/24 via 192.0.2.254 # via veth2
- ip -6 route add 2001:db8:3::/48 via 2001:db8:2::ff # via veth2
-
- # H1: enable on "all"
- # H2: enable on "veth0"
- for v in ipv4 ipv6; do
- case $uts in
- H1)
- sysctl -qw net.${v}.conf.all.ignore_routes_with_linkdown=1
- ;;
- H2)
- sysctl -qw net.${v}.conf.veth0.ignore_routes_with_linkdown=1
- ;;
- esac
- done
-
- set -xe
- # When veth0 is up, best route is through veth0
- ip -o route get 198.51.100.1 | grep -Fw veth0
- ip -o route get 2001:db8:3::1 | grep -Fw veth0
-
- # When veth0 is down, best route should be through veth2 on H1/H2,
- # but on veth0 on H2
- ip link set down dev veth1 # down veth0
- ip route show
- [ $uts != H3 ] || ip -o route get 198.51.100.1 | grep -Fw veth0
- [ $uts != H3 ] || ip -o route get 2001:db8:3::1 | grep -Fw veth0
- [ $uts = H3 ] || ip -o route get 198.51.100.1 | grep -Fw veth2
- [ $uts = H3 ] || ip -o route get 2001:db8:3::1 | grep -Fw veth2
-
-Without this patch, the two last lines would fail on H1 (the one using
-the "all" sysctl). With the patch, everything succeeds as expected.
-
-Also document the sysctl in `ip-sysctl.rst`.
-
-Fixes: 0eeb075fad73 ("net: ipv4 sysctl option to ignore routes when nexthop link is down")
-Signed-off-by: Vincent Bernat <vincent@bernat.ch>
-Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- Documentation/networking/ip-sysctl.txt | 3 +++
- include/linux/inetdevice.h | 2 +-
- 2 files changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/Documentation/networking/ip-sysctl.txt b/Documentation/networking/ip-sysctl.txt
-index eac939abe6c4c..b25308b621d6f 100644
---- a/Documentation/networking/ip-sysctl.txt
-+++ b/Documentation/networking/ip-sysctl.txt
-@@ -1211,6 +1211,9 @@ igmpv3_unsolicited_report_interval - INTEGER
- IGMPv3 report retransmit will take place.
- Default: 1000 (1 seconds)
-
-+ignore_routes_with_linkdown - BOOLEAN
-+ Ignore routes whose link is down when performing a FIB lookup.
-+
- promote_secondaries - BOOLEAN
- When a primary IP address is removed from this interface
- promote a corresponding secondary IP address instead of
-diff --git a/include/linux/inetdevice.h b/include/linux/inetdevice.h
-index ee971f335a8b6..0e6cd645f67f3 100644
---- a/include/linux/inetdevice.h
-+++ b/include/linux/inetdevice.h
-@@ -121,7 +121,7 @@ static inline void ipv4_devconf_setall(struct in_device *in_dev)
- IN_DEV_ORCONF((in_dev), ACCEPT_REDIRECTS)))
-
- #define IN_DEV_IGNORE_ROUTES_WITH_LINKDOWN(in_dev) \
-- IN_DEV_CONF_GET((in_dev), IGNORE_ROUTES_WITH_LINKDOWN)
-+ IN_DEV_ORCONF((in_dev), IGNORE_ROUTES_WITH_LINKDOWN)
-
- #define IN_DEV_ARPFILTER(in_dev) IN_DEV_ORCONF((in_dev), ARPFILTER)
- #define IN_DEV_ARP_ACCEPT(in_dev) IN_DEV_ORCONF((in_dev), ARP_ACCEPT)
---
-2.27.0
-
spi-tegra20-slink-fix-reference-leak-in-slink-ops-of.patch
spi-tegra20-sflash-fix-reference-leak-in-tegra_sflas.patch
spi-tegra114-fix-reference-leak-in-tegra-spi-ops.patch
-net-evaluate-net.ipvx.conf.all.ignore_routes_with_li.patch
rdma-mthca-work-around-wenum-conversion-warning.patch
mips-bcm47xx-fix-kconfig-dependency-bug-for-bcm47xx_.patch
media-solo6x10-fix-missing-snd_card_free-in-error-ha.patch
+++ /dev/null
-From 2cd91e6be9525287832639ee59d173624bf4c60b Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Sat, 7 Nov 2020 20:35:13 +0100
-Subject: net: evaluate net.ipvX.conf.all.ignore_routes_with_linkdown
-
-From: Vincent Bernat <vincent@bernat.ch>
-
-[ Upstream commit c0c5a60f0f1311bcf08bbe735122096d6326fb5b ]
-
-Introduced in 0eeb075fad73, the "ignore_routes_with_linkdown" sysctl
-ignores a route whose interface is down. It is provided as a
-per-interface sysctl. However, while a "all" variant is exposed, it
-was a noop since it was never evaluated. We use the usual "or" logic
-for this kind of sysctls.
-
-Tested with:
-
- ip link add type veth # veth0 + veth1
- ip link add type veth # veth1 + veth2
- ip link set up dev veth0
- ip link set up dev veth1 # link-status paired with veth0
- ip link set up dev veth2
- ip link set up dev veth3 # link-status paired with veth2
-
- # First available path
- ip -4 addr add 203.0.113.${uts#H}/24 dev veth0
- ip -6 addr add 2001:db8:1::${uts#H}/64 dev veth0
-
- # Second available path
- ip -4 addr add 192.0.2.${uts#H}/24 dev veth2
- ip -6 addr add 2001:db8:2::${uts#H}/64 dev veth2
-
- # More specific route through first path
- ip -4 route add 198.51.100.0/25 via 203.0.113.254 # via veth0
- ip -6 route add 2001:db8:3::/56 via 2001:db8:1::ff # via veth0
-
- # Less specific route through second path
- ip -4 route add 198.51.100.0/24 via 192.0.2.254 # via veth2
- ip -6 route add 2001:db8:3::/48 via 2001:db8:2::ff # via veth2
-
- # H1: enable on "all"
- # H2: enable on "veth0"
- for v in ipv4 ipv6; do
- case $uts in
- H1)
- sysctl -qw net.${v}.conf.all.ignore_routes_with_linkdown=1
- ;;
- H2)
- sysctl -qw net.${v}.conf.veth0.ignore_routes_with_linkdown=1
- ;;
- esac
- done
-
- set -xe
- # When veth0 is up, best route is through veth0
- ip -o route get 198.51.100.1 | grep -Fw veth0
- ip -o route get 2001:db8:3::1 | grep -Fw veth0
-
- # When veth0 is down, best route should be through veth2 on H1/H2,
- # but on veth0 on H2
- ip link set down dev veth1 # down veth0
- ip route show
- [ $uts != H3 ] || ip -o route get 198.51.100.1 | grep -Fw veth0
- [ $uts != H3 ] || ip -o route get 2001:db8:3::1 | grep -Fw veth0
- [ $uts = H3 ] || ip -o route get 198.51.100.1 | grep -Fw veth2
- [ $uts = H3 ] || ip -o route get 2001:db8:3::1 | grep -Fw veth2
-
-Without this patch, the two last lines would fail on H1 (the one using
-the "all" sysctl). With the patch, everything succeeds as expected.
-
-Also document the sysctl in `ip-sysctl.rst`.
-
-Fixes: 0eeb075fad73 ("net: ipv4 sysctl option to ignore routes when nexthop link is down")
-Signed-off-by: Vincent Bernat <vincent@bernat.ch>
-Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- Documentation/networking/ip-sysctl.txt | 3 +++
- include/linux/inetdevice.h | 2 +-
- 2 files changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/Documentation/networking/ip-sysctl.txt b/Documentation/networking/ip-sysctl.txt
-index a374412610ba3..1526fc785a084 100644
---- a/Documentation/networking/ip-sysctl.txt
-+++ b/Documentation/networking/ip-sysctl.txt
-@@ -1237,6 +1237,9 @@ igmpv3_unsolicited_report_interval - INTEGER
- IGMPv3 report retransmit will take place.
- Default: 1000 (1 seconds)
-
-+ignore_routes_with_linkdown - BOOLEAN
-+ Ignore routes whose link is down when performing a FIB lookup.
-+
- promote_secondaries - BOOLEAN
- When a primary IP address is removed from this interface
- promote a corresponding secondary IP address instead of
-diff --git a/include/linux/inetdevice.h b/include/linux/inetdevice.h
-index ee971f335a8b6..0e6cd645f67f3 100644
---- a/include/linux/inetdevice.h
-+++ b/include/linux/inetdevice.h
-@@ -121,7 +121,7 @@ static inline void ipv4_devconf_setall(struct in_device *in_dev)
- IN_DEV_ORCONF((in_dev), ACCEPT_REDIRECTS)))
-
- #define IN_DEV_IGNORE_ROUTES_WITH_LINKDOWN(in_dev) \
-- IN_DEV_CONF_GET((in_dev), IGNORE_ROUTES_WITH_LINKDOWN)
-+ IN_DEV_ORCONF((in_dev), IGNORE_ROUTES_WITH_LINKDOWN)
-
- #define IN_DEV_ARPFILTER(in_dev) IN_DEV_ORCONF((in_dev), ARPFILTER)
- #define IN_DEV_ARP_ACCEPT(in_dev) IN_DEV_ORCONF((in_dev), ARP_ACCEPT)
---
-2.27.0
-
spi-tegra20-slink-fix-reference-leak-in-slink-ops-of.patch
spi-tegra20-sflash-fix-reference-leak-in-tegra_sflas.patch
spi-tegra114-fix-reference-leak-in-tegra-spi-ops.patch
-net-evaluate-net.ipvx.conf.all.ignore_routes_with_li.patch
rdma-mthca-work-around-wenum-conversion-warning.patch
mips-bcm47xx-fix-kconfig-dependency-bug-for-bcm47xx_.patch
staging-greybus-codecs-fix-reference-counter-leak-in.patch
+++ /dev/null
-From 7f94e47b2f521ca7050fbf36f5944eede15e9001 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Sat, 7 Nov 2020 20:35:13 +0100
-Subject: net: evaluate net.ipvX.conf.all.ignore_routes_with_linkdown
-
-From: Vincent Bernat <vincent@bernat.ch>
-
-[ Upstream commit c0c5a60f0f1311bcf08bbe735122096d6326fb5b ]
-
-Introduced in 0eeb075fad73, the "ignore_routes_with_linkdown" sysctl
-ignores a route whose interface is down. It is provided as a
-per-interface sysctl. However, while a "all" variant is exposed, it
-was a noop since it was never evaluated. We use the usual "or" logic
-for this kind of sysctls.
-
-Tested with:
-
- ip link add type veth # veth0 + veth1
- ip link add type veth # veth1 + veth2
- ip link set up dev veth0
- ip link set up dev veth1 # link-status paired with veth0
- ip link set up dev veth2
- ip link set up dev veth3 # link-status paired with veth2
-
- # First available path
- ip -4 addr add 203.0.113.${uts#H}/24 dev veth0
- ip -6 addr add 2001:db8:1::${uts#H}/64 dev veth0
-
- # Second available path
- ip -4 addr add 192.0.2.${uts#H}/24 dev veth2
- ip -6 addr add 2001:db8:2::${uts#H}/64 dev veth2
-
- # More specific route through first path
- ip -4 route add 198.51.100.0/25 via 203.0.113.254 # via veth0
- ip -6 route add 2001:db8:3::/56 via 2001:db8:1::ff # via veth0
-
- # Less specific route through second path
- ip -4 route add 198.51.100.0/24 via 192.0.2.254 # via veth2
- ip -6 route add 2001:db8:3::/48 via 2001:db8:2::ff # via veth2
-
- # H1: enable on "all"
- # H2: enable on "veth0"
- for v in ipv4 ipv6; do
- case $uts in
- H1)
- sysctl -qw net.${v}.conf.all.ignore_routes_with_linkdown=1
- ;;
- H2)
- sysctl -qw net.${v}.conf.veth0.ignore_routes_with_linkdown=1
- ;;
- esac
- done
-
- set -xe
- # When veth0 is up, best route is through veth0
- ip -o route get 198.51.100.1 | grep -Fw veth0
- ip -o route get 2001:db8:3::1 | grep -Fw veth0
-
- # When veth0 is down, best route should be through veth2 on H1/H2,
- # but on veth0 on H2
- ip link set down dev veth1 # down veth0
- ip route show
- [ $uts != H3 ] || ip -o route get 198.51.100.1 | grep -Fw veth0
- [ $uts != H3 ] || ip -o route get 2001:db8:3::1 | grep -Fw veth0
- [ $uts = H3 ] || ip -o route get 198.51.100.1 | grep -Fw veth2
- [ $uts = H3 ] || ip -o route get 2001:db8:3::1 | grep -Fw veth2
-
-Without this patch, the two last lines would fail on H1 (the one using
-the "all" sysctl). With the patch, everything succeeds as expected.
-
-Also document the sysctl in `ip-sysctl.rst`.
-
-Fixes: 0eeb075fad73 ("net: ipv4 sysctl option to ignore routes when nexthop link is down")
-Signed-off-by: Vincent Bernat <vincent@bernat.ch>
-Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- Documentation/networking/ip-sysctl.rst | 3 +++
- include/linux/inetdevice.h | 2 +-
- 2 files changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/Documentation/networking/ip-sysctl.rst b/Documentation/networking/ip-sysctl.rst
-index 25e6673a085a0..91069bf636235 100644
---- a/Documentation/networking/ip-sysctl.rst
-+++ b/Documentation/networking/ip-sysctl.rst
-@@ -1554,6 +1554,9 @@ igmpv3_unsolicited_report_interval - INTEGER
-
- Default: 1000 (1 seconds)
-
-+ignore_routes_with_linkdown - BOOLEAN
-+ Ignore routes whose link is down when performing a FIB lookup.
-+
- promote_secondaries - BOOLEAN
- When a primary IP address is removed from this interface
- promote a corresponding secondary IP address instead of
-diff --git a/include/linux/inetdevice.h b/include/linux/inetdevice.h
-index 3515ca64e638a..3bbcddd22df8c 100644
---- a/include/linux/inetdevice.h
-+++ b/include/linux/inetdevice.h
-@@ -126,7 +126,7 @@ static inline void ipv4_devconf_setall(struct in_device *in_dev)
- IN_DEV_ORCONF((in_dev), ACCEPT_REDIRECTS)))
-
- #define IN_DEV_IGNORE_ROUTES_WITH_LINKDOWN(in_dev) \
-- IN_DEV_CONF_GET((in_dev), IGNORE_ROUTES_WITH_LINKDOWN)
-+ IN_DEV_ORCONF((in_dev), IGNORE_ROUTES_WITH_LINKDOWN)
-
- #define IN_DEV_ARPFILTER(in_dev) IN_DEV_ORCONF((in_dev), ARPFILTER)
- #define IN_DEV_ARP_ACCEPT(in_dev) IN_DEV_ORCONF((in_dev), ARP_ACCEPT)
---
-2.27.0
-
asoc-wm8998-fix-pm-disable-depth-imbalance-on-error.patch
spi-sprd-fix-reference-leak-in-sprd_spi_remove.patch
virtiofs-fix-leak-in-setup.patch
-net-evaluate-net.ipvx.conf.all.ignore_routes_with_li.patch
asoc-arizona-fix-a-wrong-free-in-wm8997_probe.patch
rdma-mthca-work-around-wenum-conversion-warning.patch
asoc-sof-intel-fix-kconfig-dependency-for-snd_intel_.patch
+++ /dev/null
-From 82b00110454a3059ddd8faea96a8bfd0b4aa2b71 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Sat, 7 Nov 2020 20:35:13 +0100
-Subject: net: evaluate net.ipvX.conf.all.ignore_routes_with_linkdown
-
-From: Vincent Bernat <vincent@bernat.ch>
-
-[ Upstream commit c0c5a60f0f1311bcf08bbe735122096d6326fb5b ]
-
-Introduced in 0eeb075fad73, the "ignore_routes_with_linkdown" sysctl
-ignores a route whose interface is down. It is provided as a
-per-interface sysctl. However, while a "all" variant is exposed, it
-was a noop since it was never evaluated. We use the usual "or" logic
-for this kind of sysctls.
-
-Tested with:
-
- ip link add type veth # veth0 + veth1
- ip link add type veth # veth1 + veth2
- ip link set up dev veth0
- ip link set up dev veth1 # link-status paired with veth0
- ip link set up dev veth2
- ip link set up dev veth3 # link-status paired with veth2
-
- # First available path
- ip -4 addr add 203.0.113.${uts#H}/24 dev veth0
- ip -6 addr add 2001:db8:1::${uts#H}/64 dev veth0
-
- # Second available path
- ip -4 addr add 192.0.2.${uts#H}/24 dev veth2
- ip -6 addr add 2001:db8:2::${uts#H}/64 dev veth2
-
- # More specific route through first path
- ip -4 route add 198.51.100.0/25 via 203.0.113.254 # via veth0
- ip -6 route add 2001:db8:3::/56 via 2001:db8:1::ff # via veth0
-
- # Less specific route through second path
- ip -4 route add 198.51.100.0/24 via 192.0.2.254 # via veth2
- ip -6 route add 2001:db8:3::/48 via 2001:db8:2::ff # via veth2
-
- # H1: enable on "all"
- # H2: enable on "veth0"
- for v in ipv4 ipv6; do
- case $uts in
- H1)
- sysctl -qw net.${v}.conf.all.ignore_routes_with_linkdown=1
- ;;
- H2)
- sysctl -qw net.${v}.conf.veth0.ignore_routes_with_linkdown=1
- ;;
- esac
- done
-
- set -xe
- # When veth0 is up, best route is through veth0
- ip -o route get 198.51.100.1 | grep -Fw veth0
- ip -o route get 2001:db8:3::1 | grep -Fw veth0
-
- # When veth0 is down, best route should be through veth2 on H1/H2,
- # but on veth0 on H2
- ip link set down dev veth1 # down veth0
- ip route show
- [ $uts != H3 ] || ip -o route get 198.51.100.1 | grep -Fw veth0
- [ $uts != H3 ] || ip -o route get 2001:db8:3::1 | grep -Fw veth0
- [ $uts = H3 ] || ip -o route get 198.51.100.1 | grep -Fw veth2
- [ $uts = H3 ] || ip -o route get 2001:db8:3::1 | grep -Fw veth2
-
-Without this patch, the two last lines would fail on H1 (the one using
-the "all" sysctl). With the patch, everything succeeds as expected.
-
-Also document the sysctl in `ip-sysctl.rst`.
-
-Fixes: 0eeb075fad73 ("net: ipv4 sysctl option to ignore routes when nexthop link is down")
-Signed-off-by: Vincent Bernat <vincent@bernat.ch>
-Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- Documentation/networking/ip-sysctl.txt | 3 +++
- include/linux/inetdevice.h | 2 +-
- 2 files changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/Documentation/networking/ip-sysctl.txt b/Documentation/networking/ip-sysctl.txt
-index 8af3771a3ebf2..784988bab7181 100644
---- a/Documentation/networking/ip-sysctl.txt
-+++ b/Documentation/networking/ip-sysctl.txt
-@@ -1366,6 +1366,9 @@ igmpv3_unsolicited_report_interval - INTEGER
- IGMPv3 report retransmit will take place.
- Default: 1000 (1 seconds)
-
-+ignore_routes_with_linkdown - BOOLEAN
-+ Ignore routes whose link is down when performing a FIB lookup.
-+
- promote_secondaries - BOOLEAN
- When a primary IP address is removed from this interface
- promote a corresponding secondary IP address instead of
-diff --git a/include/linux/inetdevice.h b/include/linux/inetdevice.h
-index 3515ca64e638a..3bbcddd22df8c 100644
---- a/include/linux/inetdevice.h
-+++ b/include/linux/inetdevice.h
-@@ -126,7 +126,7 @@ static inline void ipv4_devconf_setall(struct in_device *in_dev)
- IN_DEV_ORCONF((in_dev), ACCEPT_REDIRECTS)))
-
- #define IN_DEV_IGNORE_ROUTES_WITH_LINKDOWN(in_dev) \
-- IN_DEV_CONF_GET((in_dev), IGNORE_ROUTES_WITH_LINKDOWN)
-+ IN_DEV_ORCONF((in_dev), IGNORE_ROUTES_WITH_LINKDOWN)
-
- #define IN_DEV_ARPFILTER(in_dev) IN_DEV_ORCONF((in_dev), ARPFILTER)
- #define IN_DEV_ARP_ACCEPT(in_dev) IN_DEV_ORCONF((in_dev), ARP_ACCEPT)
---
-2.27.0
-
selftest-bpf-add-missed-ip6ip6-test-back.patch
asoc-wm8998-fix-pm-disable-depth-imbalance-on-error.patch
spi-sprd-fix-reference-leak-in-sprd_spi_remove.patch
-net-evaluate-net.ipvx.conf.all.ignore_routes_with_li.patch
asoc-arizona-fix-a-wrong-free-in-wm8997_probe.patch
rdma-mthca-work-around-wenum-conversion-warning.patch
mips-bcm47xx-fix-kconfig-dependency-bug-for-bcm47xx_.patch