From 2bec6f48e6f8438f81bf26979d9ea296331d265d Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Tue, 3 Sep 2024 15:14:27 +0200 Subject: [PATCH 1/5] netifd: update to Git HEAD (2024-09-03) 480551a3adc4 interface: add support for disabling renew on topology change b7b294266781 device: add more debugging code 595094f5c213 device: do not pull device present state from hotplug events 4e11e52e9b98 main: add messages to udebug regardless of their log level 091d063f4a9d wireless: handle link updates even if devices are present already a8e90853c936 interface: improve hotplug handling reliability cdb41673ceea device: remove redundant newlines from debug messages cd2a7964f2c0 device: revert to explicit device_set_present calls Signed-off-by: Felix Fietkau --- package/network/config/netifd/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package/network/config/netifd/Makefile b/package/network/config/netifd/Makefile index 70833e3f36..9b9b8130f4 100644 --- a/package/network/config/netifd/Makefile +++ b/package/network/config/netifd/Makefile @@ -5,9 +5,9 @@ PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/netifd.git -PKG_SOURCE_DATE:=2024-08-01 -PKG_SOURCE_VERSION:=68c8a4f94cd3cfd654a52cbc8b57c5c9d99640dd -PKG_MIRROR_HASH:=897481d6d4309b4a940b80cfe2392a0c0ccbef4d0024cb1a995b1f4780b69cde +PKG_SOURCE_DATE:=2024-09-03 +PKG_SOURCE_VERSION:=cd2a7964f2c09994c09388a76e1a9c6aef4297a2 +PKG_MIRROR_HASH:=48ab3fcff63df78191d236f7dde59c6ada50e6dbc071eb92d3ee2265214dfbcd PKG_MAINTAINER:=Felix Fietkau PKG_LICENSE:=GPL-2.0 From 21b155e0ff457131515ef7ee525d734b547fb0ba Mon Sep 17 00:00:00 2001 From: Eric Long Date: Sat, 10 Aug 2024 00:42:34 +0800 Subject: [PATCH 2/5] bpftool: add host build Besides probing BPF information in running system, bpftool is also used in generating skeleton, dumping BTF, etc. that is widely used in modern BPF development. Make it available as a host tool so that we can use it in package build. Tested build targeting malta/le on Arch Linux x86_64. bpftools currently does not support processing cross-endian BPF objects, so big-endian host is needed to build for big-endian targets using bpftools. Signed-off-by: Eric Long Link: https://github.com/openwrt/openwrt/pull/16122 Signed-off-by: Robert Marko --- package/network/utils/bpftool/Makefile | 28 ++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/package/network/utils/bpftool/Makefile b/package/network/utils/bpftool/Makefile index 45f8904d8d..f2726d1896 100644 --- a/package/network/utils/bpftool/Makefile +++ b/package/network/utils/bpftool/Makefile @@ -22,8 +22,11 @@ PKG_BUILD_FLAGS:=no-mips16 gc-sections lto PKG_BUILD_PARALLEL:=1 PKG_INSTALL:=1 +HOST_BUILD_PARALLEL:=1 + include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/nls.mk +include $(INCLUDE_DIR)/host-build.mk define Package/bpftool/Default SECTION:=net @@ -88,5 +91,30 @@ define Package/bpftool-$(BUILD_VARIANT)/install $(1)/usr/libexec/bpftool-$(BUILD_VARIANT) endef +HOST_MAKE_FLAGS += \ + OUTPUT="$(HOST_BUILD_DIR)/" \ + prefix="/usr" \ + $(if $(findstring c,$(OPENWRT_VERBOSE)),V=1,V='') \ + check_feat=0 \ + feature-clang-bpf-co-re=0 \ + feature-libbfd=1 \ + feature-llvm=0 \ + feature-libcap=0 \ + feature-disassembler-four-args=1 \ + feature-disassembler-init-styled=1 + +HOST_MAKE_PATH = src + +define Host/Install + $(INSTALL_DIR) $(STAGING_DIR_HOST)/usr/sbin + $(INSTALL_BIN) $(HOST_BUILD_DIR)/bpftool \ + $(STAGING_DIR_HOST)/usr/sbin/bpftool +endef + +define Host/Clean + rm -f $(STAGING_DIR_HOST)/usr/sbin/bpftool +endef + $(eval $(call BuildPackage,bpftool-full)) $(eval $(call BuildPackage,bpftool-minimal)) +$(eval $(call HostBuild)) From 66559946aca6f991e7373ce0ccda3cdbd5418aad Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Wed, 4 Sep 2024 12:37:55 +0200 Subject: [PATCH 3/5] kernel: bridge: fix switchdev host mdb entry updates Avoid imbalance in host multicast database updates Signed-off-by: Felix Fietkau --- ...fix-switchdev-host-mdb-entry-updates.patch | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 target/linux/generic/pending-6.6/640-net-bridge-fix-switchdev-host-mdb-entry-updates.patch diff --git a/target/linux/generic/pending-6.6/640-net-bridge-fix-switchdev-host-mdb-entry-updates.patch b/target/linux/generic/pending-6.6/640-net-bridge-fix-switchdev-host-mdb-entry-updates.patch new file mode 100644 index 0000000000..cf55c6a3fb --- /dev/null +++ b/target/linux/generic/pending-6.6/640-net-bridge-fix-switchdev-host-mdb-entry-updates.patch @@ -0,0 +1,42 @@ +From: Felix Fietkau +Date: Thu, 22 Aug 2024 18:02:17 +0200 +Subject: [PATCH] net: bridge: fix switchdev host mdb entry updates + +When a mdb entry is removed, the bridge switchdev code can issue a +switchdev_port_obj_del call for a port that was not offloaded. + +This leads to an imbalance in switchdev_port_obj_add/del calls, since +br_switchdev_mdb_replay has not been called for the port before. + +This can lead to potential multicast forwarding issues and messages such as: +mt7915e 0000:01:00.0 wl1-ap0: Failed to del Host Multicast Database entry + (object id=3) with error: -ENOENT (-2). + +Fix this issue by checking the port offload status when iterating over +lower devs. + +Signed-off-by: Felix Fietkau +--- + +--- a/net/bridge/br_switchdev.c ++++ b/net/bridge/br_switchdev.c +@@ -568,10 +568,18 @@ static void br_switchdev_host_mdb(struct + struct net_bridge_mdb_entry *mp, int type) + { + struct net_device *lower_dev; ++ struct net_bridge_port *port; + struct list_head *iter; + +- netdev_for_each_lower_dev(dev, lower_dev, iter) ++ rcu_read_lock(); ++ netdev_for_each_lower_dev(dev, lower_dev, iter) { ++ port = br_port_get_rcu(lower_dev); ++ if (!port || !port->offload_count) ++ continue; ++ + br_switchdev_host_mdb_one(dev, lower_dev, mp, type); ++ } ++ rcu_read_unlock(); + } + + static int From e7ea93e1e3050df7f13f63575dd9d5dc82b9d464 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Thu, 5 Sep 2024 10:16:19 +0200 Subject: [PATCH 4/5] netifd: update to Git HEAD (2024-09-05) 61c606d6e66b device: simplify external device settings handling Signed-off-by: Felix Fietkau --- package/network/config/netifd/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package/network/config/netifd/Makefile b/package/network/config/netifd/Makefile index 9b9b8130f4..1c26446f02 100644 --- a/package/network/config/netifd/Makefile +++ b/package/network/config/netifd/Makefile @@ -5,9 +5,9 @@ PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/netifd.git -PKG_SOURCE_DATE:=2024-09-03 -PKG_SOURCE_VERSION:=cd2a7964f2c09994c09388a76e1a9c6aef4297a2 -PKG_MIRROR_HASH:=48ab3fcff63df78191d236f7dde59c6ada50e6dbc071eb92d3ee2265214dfbcd +PKG_SOURCE_DATE:=2024-09-05 +PKG_SOURCE_VERSION:=61c606d6e66b132f602135e0f0fda5f532b588e9 +PKG_MIRROR_HASH:=9fc091803545b0314c888e74ea7cecb5c4f8dbdb9b832bb5595378e67fd06ea3 PKG_MAINTAINER:=Felix Fietkau PKG_LICENSE:=GPL-2.0 From a1c7f794da570c85f91251b35de468c5257e1b2e Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Thu, 5 Sep 2024 15:10:35 +0200 Subject: [PATCH 5/5] mt76: update to Git HEAD (2024-09-05) 5c5e685eb028 wifi: mt76: mt7915: improve hardware recovery a897606f7c26 wifi: mt76: mt76x0: fix locking regression 65cc3daf2a33 wifi: mt76: support per-band MAC addresses from OF child nodes Signed-off-by: Felix Fietkau --- package/kernel/mt76/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package/kernel/mt76/Makefile b/package/kernel/mt76/Makefile index a07175d4d2..4d808c96b3 100644 --- a/package/kernel/mt76/Makefile +++ b/package/kernel/mt76/Makefile @@ -8,9 +8,9 @@ PKG_LICENSE_FILES:= PKG_SOURCE_URL:=https://github.com/openwrt/mt76 PKG_SOURCE_PROTO:=git -PKG_SOURCE_DATE:=2024-08-25 -PKG_SOURCE_VERSION:=904ef52a8d04f6808284011579fdd45418f643d9 -PKG_MIRROR_HASH:=4e285ac767336aab56006fc9f8ca1c35d639926b03de1d6d1667ffc939d81c87 +PKG_SOURCE_DATE:=2024-09-05 +PKG_SOURCE_VERSION:=65cc3daf2a332cc658e9f7438cdadde4392e672e +PKG_MIRROR_HASH:=c29c4f883051a6360119156a03e010ac11573011b23d9e873f83c720600970e7 PKG_MAINTAINER:=Felix Fietkau PKG_USE_NINJA:=0