blobmsg_add_u32(&b, "iaid", ntohl(a->iaid));
blobmsg_add_string(&b, "hostname", (a->hostname) ? a->hostname : "");
blobmsg_add_u8(&b, "accept-reconf", a->accept_reconf);
- blobmsg_add_u32(&b, "assigned", a->assigned);
+ if (a->flags & OAF_DHCPV6_NA)
+ blobmsg_add_u64(&b, "assigned", a->assigned_host_id);
+ else
+ blobmsg_add_u16(&b, "assigned", a->assigned_subnet_id);
m = blobmsg_open_array(&b, "flags");
if (a->flags & OAF_BOUND)
return 0;
}
+static int handle_add_lease(_unused struct ubus_context *ctx, _unused struct ubus_object *obj,
+ _unused struct ubus_request_data *req, _unused const char *method,
+ struct blob_attr *msg)
+{
+ if (!set_lease_from_blobmsg(msg))
+ return UBUS_STATUS_OK;
+
+ return UBUS_STATUS_INVALID_ARGUMENT;
+}
static struct ubus_method main_object_methods[] = {
{.name = "ipv4leases", .handler = handle_dhcpv4_leases},
{.name = "ipv6leases", .handler = handle_dhcpv6_leases},
+ UBUS_METHOD("add_lease", handle_add_lease, lease_attrs),
};
static struct ubus_object_type main_object_type =