diff --git a/build_patches/openwrt/0020-kernel-5.4-backport-fix-to-allow-bridge-in-bridge-co.patch b/build_patches/openwrt/0020-kernel-5.4-backport-fix-to-allow-bridge-in-bridge-co.patch deleted file mode 100644 index a55de5d9..00000000 --- a/build_patches/openwrt/0020-kernel-5.4-backport-fix-to-allow-bridge-in-bridge-co.patch +++ /dev/null @@ -1,101 +0,0 @@ -From c50ece58c41647880cc74c927d98b465cdfbdad8 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Fabian=20Bl=C3=A4se?= -Date: Sun, 29 Aug 2021 21:21:35 +0200 -Subject: [PATCH] kernel: backport switchdev fix for bridge in bridge - configurations -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This patch fixes the forwarding behavior of bridge in bridge -configurations with DSA. - -Without it, the configuration of the upper bridge might overwrite -settings of the lower bridge. For example, a vlan-aware bridge -with DSA interfaces in it might be offloaded to the DSA hardware. If the -bridge interface itself gets slave of a different bridge without vlan -filtering, the vlan filtering setting of the lower bridge is overwritten -by the upper bridge, which results in an incorrect hardware -configuration. - -This was backported from kernel 5.7. - -Ref: https://lore.kernel.org/netdev/20191222192235.GK25745@shell.armlinux.org.uk/ -Fixes: FS#3996 -Signed-off-by: Fabian Bläse ---- - ...-not-propagate-bridge-updates-across.patch | 60 +++++++++++++++++++ - 1 file changed, 60 insertions(+) - create mode 100644 target/linux/generic/backport-5.4/790-v5.7-net-switchdev-do-not-propagate-bridge-updates-across.patch - -diff --git a/target/linux/generic/backport-5.4/790-v5.7-net-switchdev-do-not-propagate-bridge-updates-across.patch b/target/linux/generic/backport-5.4/790-v5.7-net-switchdev-do-not-propagate-bridge-updates-across.patch -new file mode 100644 -index 000000000000..bc8014b772f8 ---- /dev/null -+++ b/target/linux/generic/backport-5.4/790-v5.7-net-switchdev-do-not-propagate-bridge-updates-across.patch -@@ -0,0 +1,60 @@ -+From 07c6f9805f12f1bb538ef165a092b300350384aa Mon Sep 17 00:00:00 2001 -+From: Russell King -+Date: Wed, 26 Feb 2020 17:14:21 +0000 -+Subject: [PATCH] net: switchdev: do not propagate bridge updates across -+ bridges -+ -+When configuring a tree of independent bridges, propagating changes -+from the upper bridge across a bridge master to the lower bridge -+ports brings surprises. -+ -+For example, a lower bridge may have vlan filtering enabled. It -+may have a vlan interface attached to the bridge master, which may -+then be incorporated into another bridge. As soon as the lower -+bridge vlan interface is attached to the upper bridge, the lower -+bridge has vlan filtering disabled. -+ -+This occurs because switchdev recursively applies its changes to -+all lower devices no matter what. -+ -+Reviewed-by: Ido Schimmel -+Tested-by: Ido Schimmel -+Signed-off-by: Russell King -+Reviewed-by: Florian Fainelli -+Signed-off-by: David S. Miller -+--- -+ net/switchdev/switchdev.c | 9 +++++++++ -+ 1 file changed, 9 insertions(+) -+ -+diff --git a/net/switchdev/switchdev.c b/net/switchdev/switchdev.c -+index 60630762a748b7..f25604d68337cf 100644 -+--- a/net/switchdev/switchdev.c -++++ b/net/switchdev/switchdev.c -+@@ -476,6 +476,9 @@ static int __switchdev_handle_port_obj_a -+ * necessary to go through this helper. -+ */ -+ netdev_for_each_lower_dev(dev, lower_dev, iter) { -++ if (netif_is_bridge_master(lower_dev)) -++ continue; -++ -+ err = __switchdev_handle_port_obj_add(lower_dev, port_obj_info, -+ check_cb, add_cb); -+ if (err && err != -EOPNOTSUPP) -+@@ -528,6 +531,9 @@ static int __switchdev_handle_port_obj_d -+ * necessary to go through this helper. -+ */ -+ netdev_for_each_lower_dev(dev, lower_dev, iter) { -++ if (netif_is_bridge_master(lower_dev)) -++ continue; -++ -+ err = __switchdev_handle_port_obj_del(lower_dev, port_obj_info, -+ check_cb, del_cb); -+ if (err && err != -EOPNOTSUPP) -+@@ -579,6 +585,9 @@ static int __switchdev_handle_port_attr_ -+ * necessary to go through this helper. -+ */ -+ netdev_for_each_lower_dev(dev, lower_dev, iter) { -++ if (netif_is_bridge_master(lower_dev)) -++ continue; -++ -+ err = __switchdev_handle_port_attr_set(lower_dev, port_attr_info, -+ check_cb, set_cb); -+ if (err && err != -EOPNOTSUPP) --- -2.33.0 - diff --git a/buildscript b/buildscript index 41d936a1..5ba36bb1 100755 --- a/buildscript +++ b/buildscript @@ -7,9 +7,9 @@ set -o pipefail builddir=./build # OpenWrt: package hashes correspond to core repo version -OPENWRTREV="v21.02.0" -PACKAGEREV="65057dcbb5de371503c9159de3d45824bec482e0" -ROUTINGREV="c30c9ffc93702365439a7647244a052531f2e957" +OPENWRTREV="v21.02.1" +PACKAGEREV="ded142471e36831d2af63c7fe5062c4367f8ccd2" +ROUTINGREV="9e7698f20d1edf8f912fbce2f21400f3cc772b31" # Gluon packages: master from 2020-02-04 GLUONREV="12e41d0ff07ec54bbd67a31ab50d12ca04f2238c"