s->dadtransmits : os->dadtransmits;
n->multicast_to_unicast = s->multicast_to_unicast;
n->multicast_router = s->multicast_router;
- n->flags = s->flags | os->flags;
+ n->flags = s->flags | os->flags | os->valid_flags;
}
void
device_set_ifindex(dev, system_if_resolve(dev));
if (!dev->ifindex)
ret = -1;
+
+ system_if_get_settings(dev, &dev->orig_settings);
} else
ret = dev->set_state(dev, true);
D(DEVICE, "Create simple device '%s'\n", name);
dev = calloc(1, sizeof(*dev));
+ if (!dev)
+ return NULL;
+
dev->external = external;
dev->set_state = simple_device_set_state;
device_init(dev, &simple_device_type, name);