bridge: add support for configuring vlans for auth=1,auth_status=false
[project/netifd.git] / bridge.c
index 26f178280a5a075757a64dd82c9568bbe65ac6f7..63306c5c7a9528bf10c96b3b8cb5a639740a70e2 100644 (file)
--- a/bridge.c
+++ b/bridge.c
@@ -571,14 +571,19 @@ bridge_member_enable_vlans(struct bridge_member *bm)
        struct device *dev = bm->dev.dev;
        struct bridge_vlan *vlan;
 
+       if (dev->settings.auth) {
+               bridge_hotplug_set_member_vlans(bst, dev->config_auth_vlans, bm,
+                                               !dev->auth_status, true);
+               bridge_hotplug_set_member_vlans(bst, dev->auth_vlans, bm,
+                                               dev->auth_status, true);
+       }
+
        if (dev->settings.auth && !dev->auth_status)
                return;
 
        bridge_member_add_extra_vlans(bm);
        vlist_for_each_element(&bst->dev.vlans, vlan, node)
                bridge_set_member_vlan(bm, vlan, true);
-       if (dev->settings.auth && dev->auth_vlans)
-               bridge_hotplug_set_member_vlans(bst, dev->auth_vlans, bm, true, true);
 }
 
 static int