blob_buf_init(&b, 0);
a = blobmsg_open_array(&b, "vlans");
- blobmsg_printf(&b, NULL, "%d", mvdev->config.vid);
+ blobmsg_printf(&b, NULL, "%d:u", mvdev->config.vid);
+ if (vlan && blobmsg_len(vlan))
+ blob_put_raw(&b, blobmsg_data(vlan), blobmsg_len(vlan));
blobmsg_close_array(&b, a);
if (add)
case DEV_EVENT_UPDATE_IFNAME:
vlandev_hotplug_check(mvdev);
break;
+ case DEV_EVENT_TOPO_CHANGE:
+ /* Propagate topo changes */
+ device_broadcast_event(&mvdev->dev, DEV_EVENT_TOPO_CHANGE);
+ break;
default:
return;
}
{
struct blob_attr *cur;
struct vlan_qos_mapping *qos_mapping;
- int rem, rc;
+ size_t rem;
+ int rc;
blobmsg_for_each_attr(cur, list, rem) {
if (blobmsg_type(cur) != BLOBMSG_TYPE_STRING)