From 1ac25bd873e0af7f502afd0e7b3016dfdb3bfedc Mon Sep 17 00:00:00 2001 From: Sasha Levin Date: Mon, 28 Dec 2020 18:25:13 -0500 Subject: [PATCH] Drop net-evaluate-net.ipvx.conf.all.ignore_routes_with_li.patch Signed-off-by: Sasha Levin --- ....ipvx.conf.all.ignore_routes_with_li.patch | 111 ------------------ queue-4.14/series | 1 - ....ipvx.conf.all.ignore_routes_with_li.patch | 111 ------------------ queue-4.19/series | 1 - ....ipvx.conf.all.ignore_routes_with_li.patch | 111 ------------------ queue-4.4/series | 1 - ....ipvx.conf.all.ignore_routes_with_li.patch | 111 ------------------ queue-4.9/series | 1 - ....ipvx.conf.all.ignore_routes_with_li.patch | 111 ------------------ queue-5.10/series | 1 - ....ipvx.conf.all.ignore_routes_with_li.patch | 111 ------------------ queue-5.4/series | 1 - 12 files changed, 672 deletions(-) delete mode 100644 queue-4.14/net-evaluate-net.ipvx.conf.all.ignore_routes_with_li.patch delete mode 100644 queue-4.19/net-evaluate-net.ipvx.conf.all.ignore_routes_with_li.patch delete mode 100644 queue-4.4/net-evaluate-net.ipvx.conf.all.ignore_routes_with_li.patch delete mode 100644 queue-4.9/net-evaluate-net.ipvx.conf.all.ignore_routes_with_li.patch delete mode 100644 queue-5.10/net-evaluate-net.ipvx.conf.all.ignore_routes_with_li.patch delete mode 100644 queue-5.4/net-evaluate-net.ipvx.conf.all.ignore_routes_with_li.patch diff --git a/queue-4.14/net-evaluate-net.ipvx.conf.all.ignore_routes_with_li.patch b/queue-4.14/net-evaluate-net.ipvx.conf.all.ignore_routes_with_li.patch deleted file mode 100644 index 5a647bfb0b1..00000000000 --- a/queue-4.14/net-evaluate-net.ipvx.conf.all.ignore_routes_with_li.patch +++ /dev/null @@ -1,111 +0,0 @@ -From 537771d4fa2b6a7ef1d0bb6bd9adaeb256dacb0f Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Sat, 7 Nov 2020 20:35:13 +0100 -Subject: net: evaluate net.ipvX.conf.all.ignore_routes_with_linkdown - -From: Vincent Bernat - -[ 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 -Signed-off-by: Jakub Kicinski -Signed-off-by: Sasha Levin ---- - 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 - diff --git a/queue-4.14/series b/queue-4.14/series index 18a440e6c83..e2a8110ae3c 100644 --- a/queue-4.14/series +++ b/queue-4.14/series @@ -84,7 +84,6 @@ spi-tegra20-sflash-fix-reference-leak-in-tegra_sflas.patch 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 diff --git a/queue-4.19/net-evaluate-net.ipvx.conf.all.ignore_routes_with_li.patch b/queue-4.19/net-evaluate-net.ipvx.conf.all.ignore_routes_with_li.patch deleted file mode 100644 index f6c9b7cad48..00000000000 --- a/queue-4.19/net-evaluate-net.ipvx.conf.all.ignore_routes_with_li.patch +++ /dev/null @@ -1,111 +0,0 @@ -From 55ac848bc1229c37dfcc45115e2bd14b51a510ba Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Sat, 7 Nov 2020 20:35:13 +0100 -Subject: net: evaluate net.ipvX.conf.all.ignore_routes_with_linkdown - -From: Vincent Bernat - -[ 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 -Signed-off-by: Jakub Kicinski -Signed-off-by: Sasha Levin ---- - 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 - diff --git a/queue-4.19/series b/queue-4.19/series index 8141e1fc00c..4c8b12348e8 100644 --- a/queue-4.19/series +++ b/queue-4.19/series @@ -129,7 +129,6 @@ spi-tegra114-fix-reference-leak-in-tegra-spi-ops.patch 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 diff --git a/queue-4.4/net-evaluate-net.ipvx.conf.all.ignore_routes_with_li.patch b/queue-4.4/net-evaluate-net.ipvx.conf.all.ignore_routes_with_li.patch deleted file mode 100644 index 57d38ae9e6a..00000000000 --- a/queue-4.4/net-evaluate-net.ipvx.conf.all.ignore_routes_with_li.patch +++ /dev/null @@ -1,111 +0,0 @@ -From 459cd0600436d7ea55378951c63f4eacac570c35 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Sat, 7 Nov 2020 20:35:13 +0100 -Subject: net: evaluate net.ipvX.conf.all.ignore_routes_with_linkdown - -From: Vincent Bernat - -[ 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 -Signed-off-by: Jakub Kicinski -Signed-off-by: Sasha Levin ---- - 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 - diff --git a/queue-4.4/series b/queue-4.4/series index 14d32c64660..26c84bc4336 100644 --- a/queue-4.4/series +++ b/queue-4.4/series @@ -39,7 +39,6 @@ spi-spi-ti-qspi-fix-reference-leak-in-ti_qspi_setup.patch 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 diff --git a/queue-4.9/net-evaluate-net.ipvx.conf.all.ignore_routes_with_li.patch b/queue-4.9/net-evaluate-net.ipvx.conf.all.ignore_routes_with_li.patch deleted file mode 100644 index 6d1e85b0aec..00000000000 --- a/queue-4.9/net-evaluate-net.ipvx.conf.all.ignore_routes_with_li.patch +++ /dev/null @@ -1,111 +0,0 @@ -From 2cd91e6be9525287832639ee59d173624bf4c60b Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Sat, 7 Nov 2020 20:35:13 +0100 -Subject: net: evaluate net.ipvX.conf.all.ignore_routes_with_linkdown - -From: Vincent Bernat - -[ 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 -Signed-off-by: Jakub Kicinski -Signed-off-by: Sasha Levin ---- - 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 - diff --git a/queue-4.9/series b/queue-4.9/series index d0ba6d16ed5..7a5b4335ab5 100644 --- a/queue-4.9/series +++ b/queue-4.9/series @@ -59,7 +59,6 @@ spi-spi-ti-qspi-fix-reference-leak-in-ti_qspi_setup.patch 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 diff --git a/queue-5.10/net-evaluate-net.ipvx.conf.all.ignore_routes_with_li.patch b/queue-5.10/net-evaluate-net.ipvx.conf.all.ignore_routes_with_li.patch deleted file mode 100644 index f9cf688e847..00000000000 --- a/queue-5.10/net-evaluate-net.ipvx.conf.all.ignore_routes_with_li.patch +++ /dev/null @@ -1,111 +0,0 @@ -From 7f94e47b2f521ca7050fbf36f5944eede15e9001 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Sat, 7 Nov 2020 20:35:13 +0100 -Subject: net: evaluate net.ipvX.conf.all.ignore_routes_with_linkdown - -From: Vincent Bernat - -[ 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 -Signed-off-by: Jakub Kicinski -Signed-off-by: Sasha Levin ---- - 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 - diff --git a/queue-5.10/series b/queue-5.10/series index d0205fd695c..679b0e54954 100644 --- a/queue-5.10/series +++ b/queue-5.10/series @@ -94,7 +94,6 @@ asoc-wm8994-fix-pm-disable-depth-imbalance-on-error.patch 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 diff --git a/queue-5.4/net-evaluate-net.ipvx.conf.all.ignore_routes_with_li.patch b/queue-5.4/net-evaluate-net.ipvx.conf.all.ignore_routes_with_li.patch deleted file mode 100644 index 8f8d92dc3f0..00000000000 --- a/queue-5.4/net-evaluate-net.ipvx.conf.all.ignore_routes_with_li.patch +++ /dev/null @@ -1,111 +0,0 @@ -From 82b00110454a3059ddd8faea96a8bfd0b4aa2b71 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Sat, 7 Nov 2020 20:35:13 +0100 -Subject: net: evaluate net.ipvX.conf.all.ignore_routes_with_linkdown - -From: Vincent Bernat - -[ 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 -Signed-off-by: Jakub Kicinski -Signed-off-by: Sasha Levin ---- - 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 - diff --git a/queue-5.4/series b/queue-5.4/series index 05585187cf1..98581ab2330 100644 --- a/queue-5.4/series +++ b/queue-5.4/series @@ -120,7 +120,6 @@ mwifiex-fix-mwifiex_shutdown_sw-causing-sw-reset-fai.patch 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 -- 2.47.3