From: Felix Fietkau Date: Tue, 30 Sep 2025 09:30:32 +0000 (+0200) Subject: bridge: fix reload when ports refer to aliased vlans on another bridge X-Git-Url: http://git.openwrt.org/?a=commitdiff_plain;h=22216cac7c94847d49ad844a5a33d76395cd0f00;p=project%2Fnetifd.git bridge: fix reload when ports refer to aliased vlans on another bridge When aliases are derived from bridge-vlan section, the device lookup needs to be repeated on reload. Signed-off-by: Felix Fietkau --- diff --git a/bridge.c b/bridge.c index 809060d..0c5c430 100644 --- a/bridge.c +++ b/bridge.c @@ -938,7 +938,16 @@ bridge_member_update(struct vlist_tree *tree, struct vlist_node *node_new, bm = container_of(node_new, struct bridge_member, node); if (node_old) { + struct device *dev = bm->dev.dev; + free(bm); + + bm = container_of(node_old, struct bridge_member, node); + if (!dev || dev == bm->dev.dev) + return; + + bridge_remove_member(bm); + device_add_user(&bm->dev, dev); return; } @@ -1302,7 +1311,7 @@ bridge_reload(struct device *dev, struct blob_attr *attr) dev->ifname, diff[1], diff[0]); } - bridge_config_init(dev); + dev->config_pending = true; } free(bst->config_data);