if ((cur = tb[VIF_ATTR_NETWORK]))
vif->network = cur;
+
+ cur = tb[VIF_ATTR_ISOLATE];
+ if (cur)
+ vif->isolate = blobmsg_get_bool(cur);
+
+ cur = tb[VIF_ATTR_MODE];
+ if (cur)
+ vif->ap_mode = !strcmp(blobmsg_get_string(cur), "ap");
}
static void
}
D(WIRELESS, "Update wireless interface %s on device %s\n", vif_new->name, wdev->name);
+ wireless_interface_handle_link(vif_old, false);
free(vif_old->config);
vif_old->config = blob_memdup(vif_new->config);
vif_old->isolate = vif_new->isolate;
vif->section = section;
vif->isolate = false;
- cur = tb[VIF_ATTR_ISOLATE];
- if (cur && blobmsg_get_bool(cur))
- vif->isolate = blobmsg_get_bool(cur);
-
- cur = tb[VIF_ATTR_MODE];
- if (cur && !strcmp(blobmsg_get_string(cur), "ap"))
- vif->ap_mode = true;
-
vlist_add(&wdev->interfaces, &vif->node, vif->name);
}