const char *name = blobmsg_get_string(tb[DI_NAME]);
- iface = calloc(1, sizeof(*iface));
+ iface = interface_alloc(name, msg);
if (!iface)
return UBUS_STATUS_UNKNOWN_ERROR;
- interface_init(iface, name, msg, true);
+ interface_set_dynamic(iface);
iface->device_config = true;
config = blob_memdup(msg);
if (route->valid_until)
blobmsg_add_u32(&b, "valid", route->valid_until - now);
+ buf = blobmsg_alloc_string_buffer(&b, "source", buflen);
+ inet_ntop(af, &route->source, buf, buflen);
+ snprintf(buf + strlen(buf), 4, "/%u", route->sourcemask);
+ blobmsg_add_string_buffer(&b);
+
blobmsg_close_table(&b, r);
}
}
return 0;
}
+
static int
netifd_handle_dump(struct ubus_context *ctx, struct ubus_object *obj,
struct ubus_request_data *req, const char *method,