if (route->enabled != enabled)
continue;
+ if ((ip->no_defaultroute == enabled) && !route->mask)
+ continue;
+
if ((route->flags & DEVADDR_FAMILY) == DEVADDR_INET4)
af = AF_INET;
else
blobmsg_add_string(&b, "device", dev->ifname);
if (iface->state == IFS_UP) {
+ if (iface->ip4table)
+ blobmsg_add_u32(&b, "ip4table", iface->ip4table);
+ if (iface->ip6table)
+ blobmsg_add_u32(&b, "ip6table", iface->ip6table);
blobmsg_add_u32(&b, "metric", iface->metric);
blobmsg_add_u8(&b, "delegation", !iface->proto_ip.no_delegation);
a = blobmsg_open_array(&b, "ipv4-address");
int ret;
wdev = get_wdev(msg, &ret);
- if (!wdev)
+ if (ret == UBUS_STATUS_NOT_FOUND)
return ret;
- wireless_device_set_up(wdev);
+ if (wdev) {
+ wireless_device_set_up(wdev);
+ } else {
+ vlist_for_each_element(&wireless_devices, wdev, node)
+ wireless_device_set_up(wdev);
+ }
+
return 0;
}
int ret;
wdev = get_wdev(msg, &ret);
- if (!wdev)
+ if (ret == UBUS_STATUS_NOT_FOUND)
return ret;
- wireless_device_set_down(wdev);
+ if (wdev) {
+ wireless_device_set_down(wdev);
+ } else {
+ vlist_for_each_element(&wireless_devices, wdev, node)
+ wireless_device_set_down(wdev);
+ }
+
return 0;
}