blobmsg_parse(dev_policy, __DEV_MAX, tb, blob_data(msg), blob_len(msg));
if (tb[DEV_NAME]) {
- dev = device_get(blobmsg_data(tb[DEV_NAME]), false);
+ dev = device_find(blobmsg_data(tb[DEV_NAME]));
if (!dev)
return UBUS_STATUS_INVALID_ARGUMENT;
}
if (prefix->valid_until)
blobmsg_add_u32(&b, "valid", prefix->valid_until - now);
+ void *c = blobmsg_open_table(&b, "local-address");
+ if (assign->enabled) {
+ buf = blobmsg_alloc_string_buffer(&b, "address", buflen);
+ inet_ntop(AF_INET6, &assign->addr, buf, buflen);
+ blobmsg_add_string_buffer(&b);
+
+ blobmsg_add_u32(&b, "mask", assign->length < 64 ? 64 : assign->length);
+ }
+ blobmsg_close_table(&b, c);
+
blobmsg_close_table(&b, a);
}
}
}
-
static void
interface_ip_dump_dns_server_list(struct interface_ip_settings *ip,
bool enabled)
if (iface->ip4table)
blobmsg_add_u32(&b, "ip4table", iface->ip4table);
if (iface->ip6table)
- blobmsg_add_u32(&b, "ip6table", iface->ip6table);
+ blobmsg_add_u32(&b, "ip6table", iface->ip6table);
blobmsg_add_u32(&b, "metric", iface->metric);
+ blobmsg_add_u32(&b, "dns_metric", iface->dns_metric);
blobmsg_add_u8(&b, "delegation", !iface->proto_ip.no_delegation);
a = blobmsg_open_array(&b, "ipv4-address");
interface_ip_dump_address_list(&iface->config_ip, false, true);