diff options
author | Felix Fietkau <nbd@nbd.name> | 2021-06-23 10:01:41 +0200 |
---|---|---|
committer | Felix Fietkau <nbd@nbd.name> | 2021-06-23 10:01:42 +0200 |
commit | 4e92ea74273f7d569f2be67066f9ebd33cf2ecad (patch) | |
tree | 417c6679b2a3cb5353f3f7ec9e3464a7d83e2549 | |
parent | db0fa24e1c17dbeadc119ba9fc93805fa962eed7 (diff) | |
download | netifd-4e92ea74273f7d569f2be67066f9ebd33cf2ecad.tar.gz |
bridge: bring up pre-existing vlans on hotplug as well
When adding a member to an existing VLAN, it needs to be updated as well
Signed-off-by: Felix Fietkau <nbd@nbd.name>
-rw-r--r-- | bridge.c | 10 |
1 files changed, 5 insertions, 5 deletions
@@ -704,11 +704,6 @@ bridge_hotplug_get_vlan(struct bridge_state *bst, unsigned int vid) INIT_LIST_HEAD(&vlan->hotplug_ports); vlist_add(&bst->dev.vlans, &vlan->node, &vlan->vid); vlan->node.version = -1; - if (!vlan->pending) - return vlan; - - vlan->pending = false; - bridge_set_vlan_state(bst, vlan, true); return vlan; } @@ -754,6 +749,11 @@ bridge_hotplug_set_member_vlans(struct bridge_state *bst, struct blob_attr *vlan if (!vlan) continue; + if (vlan->pending) { + vlan->pending = false; + bridge_set_vlan_state(bst, vlan, true); + } + if (end && *end) { if (*end != ':') continue; |