X-Git-Url: https://git.archive.openwrt.org/?p=project%2Fnetifd.git;a=blobdiff_plain;f=device.c;h=f5a719a097674e63e2dc315c5c636ad48da53ff5;hp=784905bde25200be38e1a12a343494d027cdf391;hb=677f9754526a7923417fb70f9a8a38adaeb251a6;hpb=395891b0e4c67591523dd0e2c2ac0c8aa22e88e7 diff --git a/device.c b/device.c index 784905b..f5a719a 100644 --- a/device.c +++ b/device.c @@ -178,30 +178,31 @@ static const struct device_type alias_device_type = { void device_init_settings(struct device *dev, struct blob_attr **tb) { + struct device_settings *s = &dev->settings; struct blob_attr *cur; struct ether_addr *ea; - dev->flags = 0; + s->flags = 0; dev->disabled = false; if ((cur = tb[DEV_ATTR_ENABLED])) device_set_disabled(dev, !blobmsg_get_bool(cur)); if ((cur = tb[DEV_ATTR_MTU])) { - dev->mtu = blobmsg_get_u32(cur); - dev->flags |= DEV_OPT_MTU; + s->mtu = blobmsg_get_u32(cur); + s->flags |= DEV_OPT_MTU; } if ((cur = tb[DEV_ATTR_TXQUEUELEN])) { - dev->txqueuelen = blobmsg_get_u32(cur); - dev->flags |= DEV_OPT_TXQUEUELEN; + s->txqueuelen = blobmsg_get_u32(cur); + s->flags |= DEV_OPT_TXQUEUELEN; } if ((cur = tb[DEV_ATTR_MACADDR])) { ea = ether_aton(blob_data(cur)); if (ea) { - memcpy(dev->macaddr, ea, sizeof(dev->macaddr)); - dev->flags |= DEV_OPT_MACADDR; + memcpy(s->macaddr, ea, 6); + s->flags |= DEV_OPT_MACADDR; } } } @@ -672,6 +673,8 @@ device_dump_status(struct blob_buf *b, struct device *dev) blobmsg_add_u8(b, "up", !!dev->active); if (dev->type->dump_info) dev->type->dump_info(dev, b); + else + system_if_dump_info(dev, b); s = blobmsg_open_table(b, "statistics"); if (dev->type->dump_stats)