X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fnetifd.git;a=blobdiff_plain;f=ubus.c;h=454b42d167562010ec53059bd157948d11e0de03;hp=56f7bddd06c56048b539b2b7ddfe68ccbca4bc2d;hb=6a84e770ed9f4ea0ffe9b20625f8f15868f5424b;hpb=8795f9ef89626cd658f615c78c6a17e990c0dcaa;ds=sidebyside diff --git a/ubus.c b/ubus.c index 56f7bdd..454b42d 100644 --- a/ubus.c +++ b/ubus.c @@ -649,6 +649,7 @@ netifd_dump_status(struct interface *iface) blobmsg_add_u8(&b, "pending", iface->state == IFS_SETUP); blobmsg_add_u8(&b, "available", iface->available); blobmsg_add_u8(&b, "autostart", iface->autostart); + blobmsg_add_u8(&b, "dynamic", iface->dynamic); if (iface->state == IFS_UP) { time_t cur = system_get_rtime(); @@ -817,7 +818,7 @@ netifd_iface_handle_device(struct ubus_context *ctx, struct ubus_object *obj, cur = tb[DEV_LINK_EXT]; if (cur) - link_ext = !!blobmsg_get_u8(cur); + link_ext = blobmsg_get_bool(cur); return interface_handle_link(iface, blobmsg_data(tb[DEV_LINK_NAME]), add, link_ext); } @@ -890,18 +891,10 @@ netifd_handle_set_data(struct ubus_context *ctx, struct ubus_object *obj, struct blob_attr *msg) { struct interface *iface; - struct blob_attr *cur; - int rem, ret; iface = container_of(obj, struct interface, ubus); - blob_for_each_attr(cur, msg, rem) { - ret = interface_add_data(iface, cur); - if (ret) - return ret; - } - - return 0; + return interface_parse_data(iface, msg); } static struct ubus_method iface_object_methods[] = {