ubus: split address from mask in interface status
[project/netifd.git] / bridge.c
index d3b2867..da07d9c 100644 (file)
--- a/bridge.c
+++ b/bridge.c
@@ -132,11 +132,12 @@ bridge_remove_member(struct bridge_member *bm)
        if (!bm->present)
                return;
 
-       bm->present = false;
-       bm->bst->n_present--;
        if (bst->dev.active)
                bridge_disable_member(bm);
 
+       bm->present = false;
+       bm->bst->n_present--;
+
        bst->force_active = false;
        if (bst->n_present == 0)
                device_set_present(&bst->dev, false);
@@ -342,7 +343,6 @@ bridge_free(struct device *dev)
 {
        struct bridge_state *bst;
 
-       device_cleanup(dev);
        bst = container_of(dev, struct bridge_state, dev);
        vlist_flush_all(&bst->members);
        free(bst);
@@ -392,8 +392,8 @@ bridge_apply_settings(struct bridge_state *bst, struct blob_attr **tb)
        struct blob_attr *cur;
 
        /* defaults */
-       cfg->stp = true;
-       cfg->forward_delay = 1;
+       cfg->stp = false;
+       cfg->forward_delay = 2;
        cfg->igmp_snoop = true;
 
        if ((cur = tb[BRIDGE_ATTR_STP]))