diff --git a/ubus.c b/ubus.c
old mode 100644
new mode 100755
index 15c826b..4311948
--- a/ubus.c
+++ b/ubus.c
@@ -332,10 +332,62 @@ netifd_handle_set_state(struct ubus_context *ctx, struct ubus_object *obj,
 	return 0;
 }
 
+enum {
+	SETATTR_ATTR_DEV,
+	SETATTR_ATTR_ATTR,
+	__SETATTR_ATTR_MAX,
+};
+
+static const struct blobmsg_policy setattr_attrs[__SETATTR_ATTR_MAX] = {
+	[SETATTR_ATTR_DEV] = { "device", BLOBMSG_TYPE_STRING },
+	[SETATTR_ATTR_ATTR] = { "attr", BLOBMSG_TYPE_TABLE },
+};
+
+static int
+netifd_handle_set_attr(struct ubus_context *ctx, struct ubus_object *obj,
+		    struct ubus_request_data *req, const char *method,
+		    struct blob_attr *msg)
+{
+	struct device *dev = NULL;
+	struct blob_attr *tb[__SETATTR_ATTR_MAX];
+	struct blob_attr *attr = NULL;
+	int len;
+	int updated = 0;
+
+	blobmsg_parse(setattr_attrs, __SETATTR_ATTR_MAX, tb, blob_data(msg), blob_len(msg));
+
+	if (!tb[SETATTR_ATTR_DEV] || !tb[SETATTR_ATTR_ATTR])
+		return UBUS_STATUS_INVALID_ARGUMENT;
+
+	dev = device_get(blobmsg_data(tb[SETATTR_ATTR_DEV]), true);
+	if (!dev)
+		return UBUS_STATUS_NOT_FOUND;
+
+	blobmsg_for_each_attr(attr, tb[SETATTR_ATTR_ATTR], len) {
+		netifd_log_message(L_NOTICE, "attr name %s type %d\n", blobmsg_name(attr), blobmsg_type(attr) );
+		if(strcmp(blobmsg_name(attr), "mtu") == 0) {
+			dev->settings.mtu = blobmsg_get_u32(attr);
+			dev->settings.flags |= DEV_OPT_MTU;
+			updated = 1;
+		}
+		else if(strcmp(blobmsg_name(attr), "mtu6") == 0) {
+			dev->settings.mtu6 = blobmsg_get_u32(attr);
+			dev->settings.flags |= DEV_OPT_MTU6;
+			updated = 1;
+		}
+	}
+
+	if(updated)
+		system_if_apply_settings(dev, &dev->settings, dev->settings.flags);
+
+	return 0;
+}
+
 static struct ubus_method dev_object_methods[] = {
 	UBUS_METHOD("status", netifd_dev_status, dev_policy),
 	UBUS_METHOD("set_alias", netifd_handle_alias, alias_attrs),
 	UBUS_METHOD("set_state", netifd_handle_set_state, dev_state_policy),
+	UBUS_METHOD("set_attr", netifd_handle_set_attr, setattr_attrs),
 };
 
 static struct ubus_object_type dev_object_type =
