projects
/
project
/
netifd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ubus: fix ubus error code on reload failure
[project/netifd.git]
/
bridge.c
diff --git
a/bridge.c
b/bridge.c
index
30fd58d
..
96e0209
100644
(file)
--- a/
bridge.c
+++ b/
bridge.c
@@
-240,15
+240,15
@@
bridge_remove_member(struct bridge_member *bm)
if (!bm->present)
return;
if (!bm->present)
return;
- if (bm == bst->primary_port)
- bridge_reset_primary(bst);
-
if (bst->dev.active)
bridge_disable_member(bm);
bm->present = false;
bm->bst->n_present--;
if (bst->dev.active)
bridge_disable_member(bm);
bm->present = false;
bm->bst->n_present--;
+ if (bm == bst->primary_port)
+ bridge_reset_primary(bst);
+
if (bst->config.bridge_empty)
return;
if (bst->config.bridge_empty)
return;
@@
-568,8
+568,6
@@
bridge_apply_settings(struct bridge_state *bst, struct blob_attr **tb)
/* defaults */
cfg->stp = false;
cfg->forward_delay = 2;
/* defaults */
cfg->stp = false;
cfg->forward_delay = 2;
- cfg->igmp_snoop = true;
- cfg->multicast_querier = true;
cfg->robustness = 2;
cfg->query_interval = 12500;
cfg->query_response_interval = 1000;
cfg->robustness = 2;
cfg->query_interval = 12500;
cfg->query_response_interval = 1000;
@@
-655,6
+653,9
@@
bridge_reload(struct device *dev, struct blob_attr *attr)
blobmsg_parse(bridge_attrs, __BRIDGE_ATTR_MAX, tb_br,
blob_data(attr), blob_len(attr));
blobmsg_parse(bridge_attrs, __BRIDGE_ATTR_MAX, tb_br,
blob_data(attr), blob_len(attr));
+ if (tb_dev[DEV_ATTR_MACADDR])
+ bst->primary_port = NULL;
+
bst->ifnames = tb_br[BRIDGE_ATTR_IFNAME];
device_init_settings(dev, tb_dev);
bridge_apply_settings(bst, tb_br);
bst->ifnames = tb_br[BRIDGE_ATTR_IFNAME];
device_init_settings(dev, tb_dev);
bridge_apply_settings(bst, tb_br);