X-Git-Url: https://git.archive.openwrt.org/?a=blobdiff_plain;f=vlan.c;h=d1fb70b0c5594440fcd821ed1eea1010d32ccc3f;hb=0be9a1d0c1db1164a296a70157c01d1e5165d6cc;hp=bf8cfba21b9d948387c8fc6e01cce8851f593c62;hpb=beaf1b3d4ad313522bdd02f4c561dca94360bd46;p=project%2Fnetifd.git diff --git a/vlan.c b/vlan.c index bf8cfba..d1fb70b 100644 --- a/vlan.c +++ b/vlan.c @@ -1,3 +1,16 @@ +/* + * netifd - network interface daemon + * Copyright (C) 2012 Felix Fietkau + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 + * as published by the Free Software Foundation + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ #include #include #include @@ -93,7 +106,8 @@ static struct device *get_vlan_device(struct device *dev, int id, bool create) vldev = calloc(1, sizeof(*vldev)); snprintf(vldev->dev.ifname, IFNAMSIZ, "%s.%d", dev->ifname, id); - device_init(&vldev->dev, &vlan_type, NULL); + device_init_virtual(&vldev->dev, &vlan_type, NULL); + vldev->dev.default_config = true; vldev->set_state = vldev->dev.set_state; vldev->dev.set_state = vlan_set_device_state; @@ -131,7 +145,7 @@ struct device *get_vlan_device_chain(const char *ifname, bool create) s = split_vlan(buf); dev = device_get(buf, create); - if (!dev && !create) + if (!dev) goto error; do {