projects
/
project
/
netifd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
move all device data to its own table to prevent namespace collisions
[project/netifd.git]
/
ubus.c
diff --git
a/ubus.c
b/ubus.c
index
2bb42f1
..
601a116
100644
(file)
--- a/
ubus.c
+++ b/
ubus.c
@@
-145,15
+145,22
@@
static int netifd_handle_status(struct ubus_context *ctx, struct ubus_object *ob
blobmsg_add_u8(&b, "autostart", iface->autostart);
if (iface->main_dev.dev) {
struct device *dev = iface->main_dev.dev;
blobmsg_add_u8(&b, "autostart", iface->autostart);
if (iface->main_dev.dev) {
struct device *dev = iface->main_dev.dev;
+ const char *field;
+ void *devinfo;
+ /* use a different field for virtual devices */
if (dev->avl.key)
if (dev->avl.key)
-
blobmsg_add_string(&b, "device", dev->ifname)
;
+
field = "device"
;
else
else
- /* use a different field for virtual devices */
- blobmsg_add_string(&b, "link", dev->ifname);
+ field = "link";
+
+ devinfo = blobmsg_open_table(&b, field);
+ blobmsg_add_string(&b, "name", dev->ifname);
if (dev->type->dump_status)
dev->type->dump_status(dev, &b);
if (dev->type->dump_status)
dev->type->dump_status(dev, &b);
+
+ blobmsg_close_table(&b, devinfo);
}
ubus_send_reply(ctx, req, b.head);
}
ubus_send_reply(ctx, req, b.head);